Skip to content
Nafiz Iqbal
← All work

Direct-booking platform, 2025

Hotel The Manha

A boutique hotel in Dhaka took every booking by phone or walk-in. I designed and built their complete direct-booking platform: a guest site with a guided reservation flow, and a backend that runs rooms, availability, invoices, and email.

Client
Hotel The Manha Ltd, Dhaka
Role
Design and full-stack development, solo
Stack
Next.js, TypeScript, Express, MongoDB, Resend
Live
hotelthemanhaltd.com
Hotel The Manha website shown on desktop and phone

What it changed

  • The hotel owns its bookings end to end instead of depending on phone calls and walk-ins.
  • One invoice generator feeds the download endpoint, the confirmation email, and the booking-management page, so a change lands everywhere at once.
  • Responsive to 375px with no horizontal overflow, verified with automated device-emulated audits.

The brief

Hotel The Manha sits in Purana Paltan, the commercial heart of old Dhaka. Guests booked by phone or in person. There was no online channel and no way to show rooms to the travellers searching for them.

The goal was a guest-facing site that feels as considered as the hospitality it sells, and a backend that runs the hotel's real operations: rooms, availability, bookings, guest verification, and email. I designed and built both sides.

Homepage of Hotel The Manha with hero, availability widget, and featured suites

One guided booking flow

Date pickers are where booking sites usually fall apart. I built a single component that turns check-in, check-out, and guest count into one guided flow. Click any field and a popover opens under that exact field, with a step rail across the top. Picking check-in advances to check-out, then to guests, and a live summary counts nights as you go.

The same component powers the home hero, the room-detail widget, the reservation form, and the listing filters. On phones it collapses to a single month and scales its touch targets to fill the popover.

Four-step reservation flow with guest details and identity upload

Availability that tells the truth

Availability is layered: confirmed bookings, admin-blocked dates, seasonal price overrides, and room status. The API filters each room's bookings at the database level so calendars never grey out a date a past guest occupied.

The client merges those ranges with per-date overrides, prices each night individually, and re-checks availability server-side at the moment of submission to close the race between two guests eyeing the same dates. Booking lookup requires email and reference together, so an email address alone reveals nothing.

Booking management page with receipt download and cancellation

One invoice, three surfaces

Guests need proof of booking and hotels need it to look right. The backend owns a single branded PDF generator that feeds a public download endpoint, the confirmation email with the PDF attached, and the receipt buttons on the success and management pages. Change the invoice once and every surface updates together.

Branded PDF invoice with itemised stay and total

Need something built to this standard?

Tell me what you are building, even roughly. The first conversation is free and I will tell you honestly what it takes.

Email
f.nafiziqbal@gmail.com
WhatsApp
+880 1882 152429
Where and when
Dhaka, Bangladesh, GMT+6. Replies within a few hours.