Booking.com System Design Interview: Hotel Room Reservations

Based on questions reported for Booking.com interviews

The interviewer opens

Hi, and thanks for joining. Welcome to your interview for the software engineer role at Booking.com. We'll design a system together, and you can sketch on the whiteboard on the right of your screen as you talk. If you need to step out or take a break, the Pause button at the top right will pause the interview.

The problem is a hotel reservation system, which is close to the heart of what we do here, and it's up in the Problem tab now. Please read through it and ask me anything you'd like clarified before you start drawing.

The problem

Design a hotel reservation system where guests find and book rooms at a hotel for a date range, and hotel admins manage their rooms, prices and the bookings made at their property.

Must do

  • Guests see available room types and prices at a hotel for chosen dates
  • Guests book a room type for a check-in to check-out range and can cancel
  • Admins add and edit room types, room counts and nightly prices
  • Admins view and manage bookings at their property

Must hold

  • A confirmed booking must always be honored at the hotel
  • Availability pages stay fast during busy travel periods