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 InfraDraftCore 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.