Member-only story
High Level System Design: Hotel Reservation System
We will be designing a hotel reservation system. This would be same as designing Airbnb, flight booking system, movie booking system.
Airbnb is a bit different from a hotel reservation system in the sense that Airbnb books a particular room, whereas a hotel books a room type.
Functional Requirements
Questions to the interviewer
— How many hotels and rooms will the system be supporting?
— When is the user supposed to pay? At the time of reservation or at arrival?
— How many users is the system expected to handle?
— How will the price be decided? Fixed or dynamic?
— Will the system include prices for products consumed while staying at the hotel?
— A total of 5,000 hotels and 1 million rooms.
— Users would pay at the time of reservation.
— Overbooking of 10% is anticipated in case reservations get canceled.
— Prices are dynamic.
— Users would be able to view hotel and room details.
— Admins can add, remove, or update hotel or room information.
Non-Functional Requirements
— The system should be consistent in terms of creating the reservation, ensuring that one room is booked by only one reservation.
— The system should be highly available when…









