</> MAANG.io
system design · 301

Advanced

Master system design interviews with scalable architecture patterns, distributed systems, and real-world design challenges.

0/480 solved 0% complete

Section 9: Selling the Room You Do Not Have - Deep Dive: Overbooking & Dynamic Pricing

Executive Summary: This section carries the reframe that earns the most signal in the whole interview. Every candidate promises "no double-booking"; hotels oversell on purpose, because no-shows and same-day cancellations run 4–8% and an unsold room-night is perishable inventory that earns nothing, forever. We make overbook_allowance a first-class term in the invariant from Requirements (Functional & Non-Functional) rather than a hack that bypasses it, then price the losing bet — the walk, at 2–4x the chain's $250 ADR. Dynamic pricing follows for its architectural consequence: rates change far more often than availability, so they live in a separate, bulk-loaded, read-optimised store the booking transaction never touches.

You have just finished defending chain-scale search when the interviewer circles back to something you said in the first ten minutes.

"Earlier you said we can oversell. Say that again — you're telling me the system deliberately sells rooms it doesn't have?"

Yes. The answer has to arrive without a flinch, because the flinch is the tell: candidates who treat overselling as the thing the design exists to eliminate have modelled a shopping cart and called it a hotel.

Perishable Inventory, and Why Zero Oversell Is the Bug

A hotel room-night is the most perishable inventory there is. A warehouse that fails to sell a phone today sells it tomorrow; a hotel that fails to sell the night of 2026-03-13 never sells it, because at midnight that unit ceases to exist. Against that, 4–8% of confirmed bookings end as no-shows or same-day cancellations, so selling exactly the physical count runs structurally under capacity: on 30 Ocean-View Suites at a 6% no-show rate, 30 x 0.06 is 1.8 suite-nights wasted every night.

Key Insight: A system that cannot oversell is not safer — it is less correct about the business it models. Refusing to overbook is a revenue decision taken silently by an engineer who did not know they were taking it. The goal is not zero oversell; it is oversell that is bounded, deliberate, measured, and owned by a policy.

Quick check before moving on:


Sign in to continue reading

The rest of this lesson is available with a free account. Signing in with Google or Microsoft is free.

Sign in to read the full lesson

Sign in to MAANG.io

Use your Google or Microsoft account — no password to remember.

Continue with Google Continue with Microsoft

Please accept the terms above to continue.