Flight Reservation System to keep track of all tickets, flights and passengers. The system should be able to track what flights are available and what is the current capacity for different flights. If someone wants to book a ticket, they must first register themself as a passenger by providing certain details. Once a passenger has registered themself, they must be able to book a seat in one of the available flights based on the current available capacity. Also, the system should allow passengers to book two types of tickets, regular tickets and tourist tickets.
For each passenger, we should be able to keep a record of their contact details (name, phone number and email ID) and address details (street, city and state). We should be able to get the contact details and address details for any passenger or update these details whenever required.
The system should allow passengers to book two types of tickets, regular tickets and tourist tickets. For each ticket, we should be able to keep track of the PNR number, departure and destination locations, the flight on which the seat is booked, the date and time of departure and arrival, the details of the passenger who booked the ticket, the seat number, the price of the ticket and whether that ticket is cancelled or not. For each ticket, we should be able to check its status (either ‘Confirmed’ or ‘Cancelled’), the duration of the journey, and we should also be able to cancel the ticket.
For regular tickets, we should be able to keep track of what special services the passengers have requested, such as food, water and snacks. We should be able to check the special services availed by the passengers and also update them if required.
For tourist tickets, we should be able to keep track of the hotel address and the selected tourist locations by the passenger. A passenger can select a maximum of five tourist locations. We should also be able to add or remove tourist locations if required.
For flights, we should be able to keep track of the flight number, the airline of the flight, the capacity of that flight and the number of seats booked. We should be able to get the flight details and check the availability of seats. Whenever a seat is booked on a flight, the number of seats booked should be updated for that flight.