Airbnb Reservation System Design (Mock Interview + No Double Booking)

Scenario

Guests search listings and book date ranges on one calendar per listing. The job is to never double-book overlapping nights while still feeling fast enough to complete checkout—holds expire, payments fail, and two people will absolutely click the same viral listing at once. Strong answers sound like inventory and transactions, not CRUD on rows.

Design the reservation subsystem for a short-term rental marketplace (Airbnb-style): guests choose dates; the system must never double-book the same listing for overlapping nights.

Constraints

Functional

Query availability for a listing and date range; create reservation (hold + confirm); cancel/modify per policy; support host approval flow if required

Non-functional

Strong correctness on the booking path; predictable latency; auditable state transitions

Scale

Many listings; spikes during launches and holidays; concurrent guests on viral listings

Stages ahead

1Requirement Analysis
2API Design
3High-Level Design
4HLD Extensions
5Trade-offs