System design interview questionHardE-Commerce / Inventory
Design a Hotel Booking System like Booking.com
Design Booking.com-style hotel booking: search availability, hold a room, and confirm a reservation without overselling.
Interview scope
Client → Gateway/LB → App → Cache (search) + DB (inventory/bookings). Optional Queue for emails. No Client → DB.
Functional requirements
- Search hotels by location/dates.
- Hold/reserve a room for a short time.
- Confirm booking and persist it.
Scale and quality goals
- Search is read-heavy — cache hot results.
- Inventory must stay consistent (no double-book).
- Confirmation emails can be async via queue.
Capacity assumption
Design for this scale
Assume ~30M searches/day (~350 RPS) and ~1M bookings/day (~12 RPS average).
Practice more than a diagram
Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.
Explore Premium →