The classic concert-ticketing failure is the same every time: ten thousand users hit "buy" simultaneously for a hundred seats; ninety-nine hundred get an error somewhere in the payment flow because the seat was already sold. The reservation-then-commit pattern closes the race window by introducing an explicit hold step: the seat is reserved (decrementing available stock immediately) before payment begins, and the reservation either commits or expires within a bounded time window. This article covers the two-phase lifecycle, TTL decisions, implementation patterns (database, Redis with Lua, event-sourced services), composition with Saga and Idempotency, anti-patterns, configuration values, and the operational discipline of monitoring reservation lifetimes and expiry rates.