CREATED 2021/11/09 19:40
Functional Requirements
Infra
Search Service
Ticket Transaction Service
Payment Service
Dataflows
Search a movie
zip code (converted to geo hash)
Book a ticket
1 Show the map and availability of all the seats in a specific theatre of a cinema
2 Reserve an available seat
3 User has to make the payment in 15 minutes window
4 If success, the booking is completed. Otherwise, the reserved seat is given back to be available again.
DB Schema
Movies (movieId, name, startDate)
Cinema (cinemaId, name, zipcode, address, cinemaHalls)
CinemaHall (cinemaHallId, id, cinemaId)
Events (movieId, name, theatre, cinema, startTime)
Tickets (ticketId, eventId, row, column, price, status)
Transaction (ticketId, userId, status)
Users (userId, name, phone, email, membership)