Online booking system for a fictitious airline
You have been commissioned to design a Web/Internet application that implements an online booking system for a new airline that operates out of Dairy Flat Airport.
The airline provides a highly specialized point-to-point service with Dairy Flat as its hub. It operates a number of light jet planes. The pride of the fleet is a SyberJet SJ30i which can carry 6 passengers in luxury. Other aircraft are: two Cirrus SF50 jets that take 4 passengers each and two HondaJet Elite planes that can take 5 passengers each.
The airline operates the following five routes all out of Dairy Flat:
- A weekly “prestige” service to Sydney using the SyberJet aircraft. The outbound flight departs Dairy Flat on Friday around mid-afternoon with the return inbound flight departing Sydney on Sunday mid-afternoon (their time).
- A twice daily shuttle service to Rotorua using one of the Cirrus jets. These operate every weekday Monday–Friday. The first flight departs Dairy Flat early morning with the return flight departing from Rotorua at noon. After turnaround, the next flight departs Dairy Flat late afternoon, with the return flight departing Rotorua in the evening.
- A three times weekly service to Claris airport in Great Barrier Island using the other Cirrus. The outbound flight departs Dairy Flat in the morning every Monday, Wednes day, and Friday. The return flight departs Great Barrier Island in the morning every Tuesday, Friday, and Saturday.
- A twice weekly service to Tuuta Airport in the Chatham Islands using one of the HondaJets. The outbound flights depart Dairy Flat on Tuesday and Friday, with the return flights departing Tuuta on Wednesday and Saturday.
- A weekly service to Lake Tekapo in the South Island using the other HondaJet. Departs Dairy Flat on Monday with the return flight departing Tekapo on Friday.
You are free to decide on the prices of the various legs of these flights. You can also decide on how to allocate flight numbers.
Also you will need to decide on flight times between the end points. Just decide on any reasonable values. Note that westbound flights usually take longer than eastbound flights(at least in this part of the world).
Your application should have the following features and capabilities
- A suitable database for storing the relevant information. A startup SQL source is given that has a table each for aircraft, destinations, and routes. You will need to decide what additional tables are needed and how they are related. In particular you will need a table to list the actual scheduled flights according to their departure dates, together with a means of populating this table.
- A landing page, index.html, that functions as the entry point for your application
- The ability for a user to conveniently browse the database for any desired flights.
- A service to allow a user to select a scheduled flight and make a booking. The user should be provided with a unique booking reference. A booking should not allowed on scheduled flights that are full up. On making a booking, the user should be presented with an invoice page summarizing the details of the flight, ie price departure date and time, arrival time, etc.
- The capability for a user to cancel a booking.
- Content presented to the user in an attractively formatted manner.
Note that Sydney and the Chathams Islands are on different timezones from mainland New
Zealand. You should correctly allow for any relevant time zone differences.
It is not required that your application strictly complies with MVC, but you should apply good coding practice and separation of concerns.
You must deploy your application on the course virtual machine.