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
- 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.