Member-only story
🎬 Designing BookMyShow: A Low-Level Design (LLD) Blueprint
Low Level Design → Part 12
Design a simplified, extensible, and testable backend for an online movie-ticketing platform similar to BookMyShow. This article walks through the problem statement, clarification questions, MVP features, domain model, class diagram, schema diagram, and a practical C# implementation blueprint (domain models, repositories, services, and a minimal Web API controller).
Problem statement
Design the low-level architecture and code for an online ticket-booking platform (BookMyShow-style) that lets users:
- Search for movies and shows (screenings) at nearby theatres.
- View seat layout for a show and book one or more seats.
- Make payments and get booking confirmation (tickets).
- Support multiple screens (auditoriums) per theatre and multiple shows per screen.
The focus is on the backend design: clear domain model, consistency for bookings, and a C# implementation that is maintainable and extensible.
Clarification questions (answered with assumptions)
- User types?
- Regular users (customers) and admin/theatre managers…






![Design an Online Game Leaderboad [System Design HLD]](https://miro.medium.com/v2/resize:fit:1358/format:webp/1*5TfDdjkSA3CtU9R3E5ZqnQ.png)



