Skip to content

Movie Ticket Booking (LLD) — Simple#

Problem statement (interviewer prompt)

Design the seat-booking domain for a cinema / multiplex (BookMyShow-LLD-style). Model cinemas, screens, shows, seat categories, seat-hold-then-pay flow, payments, ticket generation, and refunds — focusing on the OO classes + state machine.

classDiagram
  class Theater
  class Hall
  class Show
  class Seat
  class Booking
  class Payment
  Theater "1" *-- "many" Hall
  Hall "1" *-- "many" Show
  Show "1" *-- "many" Seat
  Show "1" -- "many" Booking
  Booking --> Payment