Skip to main content

Web Development

Madayaw Suites — Hotel Website & Booking System

A short-stay hotel's website and hourly booking engine, with database-enforced no double bookings and a staff admin.
Date
Sep 2026
Stack
Next.js, React, TypeScript
Status
Pre-launch
Client
Short-stay hotel, Davao City

Architecture

  1. 01Arrival date & time
  2. 02Room & stay length
  3. 03Guest details
  4. 04Server-side pricing
  5. 05Room-time lock
  6. 06Booking reference

The problem

The hotel sells rooms by the length of the stay (3, 12 or 24 hours, plus extra hours), not by the night, so a standard nightly booking engine doesn't fit, and two guests must never be sold the same room at the same time.

What I built

  1. 1

    A multi-step booking flow: arrival date and time, room and stay length with optional extra hours, guest details and a review step, ending with a booking reference.

  2. 2

    No double bookings, enforced by PostgreSQL: every held room-time, including the cleaning buffer, sits under an exclusion constraint written inside a transaction that locks the room type.

  3. 3

    Availability, prices and totals are all computed on the server; if a price changed since the guest's quote, the booking stops and shows the new price instead of going through at a stale one.

  4. 4

    A private guest page to view, print, add to calendar or cancel, and a staff admin with an hour-by-hour availability timeline, a booking status workflow, stay extensions and editable rooms, rates and content.

  5. 5

    Per-page SEO with hotel and room structured data, tested from 320 px phones to 4K with zero automated accessibility (axe) violations.

Result

Built and tested end to end, from the guest booking flow to the staff admin. The hotel is setting up its rooms before launch.

Screenshots

Madayaw Suites — Hotel Website & Booking System — website 1
Website · 1 / 4

Keep exploring

  • Web

    Web Development · Oct 2026

    Cinematic Wedding Invitation Website

    A private wedding invitation site: a sealed envelope that opens with a tap, a live countdown and the day's details.

    • Next.js
    • React
    • TypeScript
    • Tailwind CSS
    • +2
  • Web

    Web Development · Jul 2026

    Custom WooCommerce Checkout for a Telehealth Store

    WordPress plugins for a block checkout: a signature fee, per-shipment shipping and conditional medical questions.

    • WordPress
    • WooCommerce
    • PHP
    • JavaScript

Start a project

Have a similar problem? Let's build it.

Tell me what you're doing by hand today. A free 30-minute discovery call is enough to see whether it's worth automating, and how.