The system should allow users to search for flights, book seats, manage bookings, and generate reports. The system should handle multiple flights, seat availability, and customer bookings.
Prompt the user to enter the origin and destination airports, as well as the travel date. Validate the input to ensure it is a valid airport code and a future date.
Display a list of available flights based on the search criteria. Allow the user to choose a flight by entering the flight number.
Show the seat availability for the selected flight and prompt the user to choose a seat. Update the seat availability after a successful booking.
Confirm the booking and display the booking details, including the flight information and seat number.
Allow users to view their bookings, cancel bookings, and make changes to their flight itinerary.
Generate reports showing flight occupancy rates, popular routes, and customer booking statistics.