← InfraDraft

Booking & Marketplace

Design a Movie Ticket Booking System (BookMyShow, seat locking)

A seat-level booking system that temporarily locks individual seats during checkout to prevent two users from buying the same seat.

Open and Simulate this Architecture in InfraDraft

Core Architectural Components

Seat Map & Showtime Inventory Service

Tracks the availability state of every individual seat per showtime.

Seat-Level Distributed Lock

A short-TTL hold preventing a second user from selecting an already-held seat.

Booking/Checkout Orchestration Service

Coordinates seat hold, payment, and final confirmation as one flow.

Payment Integration with Hold Expiry Release

Releases the seat lock automatically if payment doesn't complete in time.

Theater/Showtime Catalog Service

Movies, theaters, and showtimes available for browsing and search.

Ticket/QR Generation Service

Issues a verifiable ticket once payment is confirmed.

Notification Service

Sends booking confirmation and showtime reminders.