Hotel Booking System
Room booking with live availability checks, automatic rate calculation, and guest self-service.
What it does
A production-pattern MERN application covering the full hotel-booking workflow. Front-desk staff manage rooms, guest records, and bookings — with the system automatically calculating total cost from nights × room rate and blocking rooms as occupied on check-in. Guests can browse rooms and manage their own bookings. Admins get everything plus the audit log. The booking entity deliberately breaks out of the generic CRUD engine, making it a clean teaching example of when custom routes are needed.
Features
- ✓Three roles: admin, front-desk, guest — each with correct access boundaries
- ✓Live availability check — booking a room marks it occupied immediately
- ✓Auto-calculated total from nights × room rate, computed server-side
- ✓Guest self-service: browse rooms, book, and cancel confirmed bookings
- ✓Full audit log; admin is the only role that can delete a booking outright
What's included
- ✓Full working MERN application (React + Express + MongoDB)
- ✓8-chapter Word report (system design, ER diagram, RBAC, test cases)
- ✓14-slide presentation deck
- ✓Viva question bank with cheat sheet and pitch script
- ✓Seed script for demo accounts + sample rooms
Pricing
Same pricing tiers across every project kit.
Code Only
₹1,500
The working application, source code, and setup instructions.
- ✓Full source code
- ✓Setup/run instructions
- ✓requirements.txt
Code + Documentation
₹2,500
Everything in Code Only, plus the full submission report and slide deck.
- ✓Everything in Code Only
- ✓8-chapter Word report
- ✓Presentation deck
- ✓Architecture diagrams
Full Package
₹3,500
Everything you need to submit and defend the project, viva-ready.
- ✓Everything in Code + Documentation
- ✓Viva question bank + cheat sheet
- ✓Customized to your name/college
- ✓WhatsApp support until submission
Questions about this project
How does the availability check work?+
Booking a room sets its status to 'occupied' immediately. Check-out or cancellation sets it back to 'available'. The server validates this before accepting any new booking for that room.
Can I add room types or additional fields?+
Yes — rooms are driven by a schema object (room.schema.js). Add a field there and it appears in the list and form automatically, with no new UI code.