Booking Waitlist System Design

Visual Problem Diagram

Booking Waitlist System Design architecture 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

Functional

Join waitlist, leave waitlist, cancel booking releases inventory, notify next, timed purchase hold

Non-functional

FIFO fairness, zero double booking, notify within seconds of release, hold TTL enforced

Scale

200K waitlist per hot event, thousands cancellations/hour, notify bursts

Stages ahead

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