Booking Waitlist System Design
Visual Problem Diagram

Scenario
Concert sells out in 90 seconds but 200K fans stay on waitlist hoping for cancellations—when one seat frees, five notification workers must not sell it twice. Waitlist queue, hold TTL, and fair notify order are the product.
Design a booking waitlist for sold-out events: users join a queue, receive notification when inventory frees, and get a time-limited window to purchase. Fairness and no double-sale when multiple cancellations arrive are core.
You should support join waitlist, cancel booking, notify next users, and purchase hold. Be ready to explain FIFO ordering and atomic inventory release.
Constraints
Join waitlist, leave waitlist, cancel booking releases inventory, notify next, timed purchase hold
FIFO fairness, zero double booking, notify within seconds of release, hold TTL enforced
200K waitlist per hot event, thousands cancellations/hour, notify bursts