Online booking system for a ﬁctitious airline
You have been commissioned to design aWeb/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 ﬂeet 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 ﬁve routes all out of Dairy Flat:
• A weekly “prestige” service to Sydney using the SyberJet aircraft. The outbound
ﬂight departs Dairy Flat on Friday around mid-afternoon with the return inbound
ﬂight 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 ﬁrst ﬂight departs Dairy Flat early morning with
the return ﬂight departing from Rotorua at noon. After turnaround, the next ﬂight
departs Dairy Flat late afternoon, with the return ﬂight departing Rotorua in the
• A three times weekly service to Claris airport in Great Barrier Island using the other
Cirrus. The outbound ﬂight departs Dairy Flat in the morning every Monday, Wednes-
day, and Friday. The return ﬂight 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 ﬂights depart Dairy Flat on Tuesday and Friday, with the
return ﬂights 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 ﬂight departing Tekapo on Friday.
You are free to decide on the prices of the various legs of these ﬂights. You can also decide
on how to allocate ﬂight numbers.
Also you will need to decide on ﬂight times between the end points. Just decide on any
reasonable values. Note that westbound ﬂights usually take longer than eastbound ﬂights
(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 ﬂights 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 ﬂights.
• A service to allow a user to select a scheduled ﬂight and make a booking. The user
should be provided with a unique booking reference. A booking should not allowed on
scheduled ﬂights that are full up. On making a booking, the user should be presented
with an invoice page summarizing the details of the ﬂight, 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 diﬀerent timezones from mainland New
Zealand. You should correctly allow for any relevant time zone diﬀerences.
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.
Add additional features as you see ﬁt.
This section is left open ended as there are many possibilities as to additional features and
functionality that can be added to your application. Rather than just itemize a list of
tasks to check oﬀ, it is left to you to decide how to expand your application beyond the
core requirements. You are encouraged to think about the lecture material and consider if
and/or how this could be incorporated into your assignment. Suggestions will be given as
Implementing the core requirements will earn a passing mark. Implementing additional
features will earn extra marks.