System Design Problem

Design a Ticketing System (BookMyShow / TicketMaster)

Commonly Asked By:TicketmasterAmazonGoogle

  • Browse events: Search and browse movies, concerts, sports events by location, date, genre
  • View available seats: Display seat map with real-time availability (available, reserved, booked)
  • Select seats: User selects specific seats (for assigned seating) or quantity (for general admission)
  • Temporary hold: Selected seats are temporarily held (5-10 minutes) while user completes checkout
  • Book & Pay: Complete booking with payment integration
  • Booking confirmation: E-ticket (QR code) via email/app
  • Cancel/Refund: Cancel booking and process refund based on cancellation policy
  • Waiting list: If show is sold out, join a waiting list
Loading...

The system uses Redis for fast seat locking and PostgreSQL as the source of truth for confirmed bookings. A Virtual Queue service acts as a buffer for high-traffic spikes.