What is an Online Movie Ticket Booking System?
A movie ticket booking system provides its customers the ability to purchase theatre seats online. E-ticketing systems allow the customers to browse through movies currently being played and to book seats, anywhere anytime.
Requirements and Goals of the System
Our ticket booking service should meet the following requirements:
Functional Requirements:
- Our ticket booking service should be able to list different cities where its affiliate cinemas are located;
- Once the user selects the city, the service should display the movies released in that particular city;
- Once the user selects a movie, the service should display the cinemas running that movie and its available showtimes;
- The user should be able to choose a show at a particular cinema and book their tickets;
- The service should be able to show the user the seating arrangement of the cinema hall. The user should be able to select multiple seats according to their preference;
- The user should be able to distinguish available seats from booked ones;
- Users should be able to put a hold on the seats for five minutes before they make a payment to finalize the booking;
- The user should be able to wait if there is a chance that the seats might become available, e.g., when holds by other users expire;
- Waiting customers should be serviced in a fair, first come, first serve manner;
Non-Functional Requirements:
- The system would need to be highly concurrent. There will be multiple booking requests for the same seat at any particular point in time. The service should handle this gracefully and fairly;
- The core thing of the service is ticket booking, which means financial transactions. This means that the system should be secure and the database ACID compliant;