Design brief

Design booking for a 50,000-seat event receiving one million visitors in five minutes. Four availability reads per visitor imply more than 13,000 reads per second. Require all-or-nothing temporary holds for seat bundles, explicit expiry, and retry-safe payment handling. Browsing may be slightly stale; seat ownership cannot conflict. Define hold duration, admission policy, and the outcome of payment arriving after expiry.

Draw and explain

Use Excalidraw to label browsing, authoritative inventory, hold ownership, payment records, provider boundaries, and reconciliation. Draw a hold-to-confirmation state diagram and the associated request flows. Mark transaction and acknowledgement boundaries, trusted expiry time, request identities, and compensation obligations. Explain which work scales with visitors and which work contends on the hot event's scarce seats.

Stress the design

Two users request overlapping multi-seat bundles. Trace how each gets a complete result without holding inventory locks while waiting on payment. Then let a hold expire, another user acquire its seats, and the original payment succeed late. Draw the recorded outcome, duplicate callback handling, and recovery if the process crashes before refund work is scheduled.

Review your design

Compare short holds with checkout tolerance and compensation volume. Explain waiting-room fairness, stale seat maps, and event partitioning. Check callback authenticity, stable payment identity, cleanup lag, and uncertain provider outcomes. Choose signals for contention, conversion, callback delay, refund backlog, and money/inventory disagreement.

Capture assumptions, sizing, and the tradeoffs behind your diagram.

Review is your own assessment of the design.

Drag or use the arrow keys to resize. Home collapses the brief; End collapses the canvas. Enter or double-click resets the split.
Loading drawing…