159.352 2024/S1 – Assignment 2 Brief
Online booking system for a fictitious airline
You have been commissioned to design a Web application that implements an online booking
system for a new airline that operates out of Dairy Flat Airport (just north of Albany).
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.
You may use any of the tools and frameworks that are being covered in the course. For the
purposes of this course, it is OK to have a “development” version rather than a “production”
version.
Routes description
The airline operates a weekly timetable with the following routes from Dairy Flat
• A weekly “prestige” service to Sydney using the SyberJet aircraft. The outbound flight
departs Dairy Flat on Friday mid-morning with the return inbound flight departing
Sydney on Sunday mid-afternoon (their time).
• A shuttle service to Rotorua using one of the Cirrus jets. These operate twice every
weekday Monday–Friday. The first flight departs Dairy Flat early morning with the
return flight departing from Rotorua soon after. 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, Thursday, 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.
• AweeklyservicetoLakeTekapointheSouthIslandusingtheotherHondaJet. Departs
Dairy Flat on Monday with the return flight departing Tekapo on Tuesday.
Note
• 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.
• You will need to decide on flight times between the end points. Just decide on any
reasonable values. Note that, in this part of the world, westbound flights usually take
longer than eastbound flights.
• You will need to allow for the different timezones involved: mainland New Zealand
(GMT+12), the Chatham Islands (GMT+12:45), and Sydney (GMT+10).
• For the airports given here, you may find the 4-letter ICAO codes useful as unique
identifiers: NZNE (Dairy Flat), YSSY (Sydney), NZRO (Rotorua), NZCI (Tuuta),
Claris (NZGB), and Lake Tekapo (NZTL).
• For reference: the Great Circle Mapper, has a nice tool for
http://www.gcmap.com
drawing great circle routes
Requirements
Required features
You will need to decide on a suitable design for the front and back ends to meet the following
requirements. Your application should ...
• ...feature a landing page that functions as the entry point for your application
• ...provide a feature to search for flights
• ...provide a service to allow a user to select a scheduled flight and make a booking
• ...have the capability for a user to cancel a booking
Marking Scheme
This assignment is worth 25 marks (25% towards your final grade).
Business logic and functionality
You will need to decide on a suitable data model to organize user/customer and flight
information according to the airline description and requirements. Also, you will need to
decide on suitable URI patterns for the back end.
The user should be provided with a unique booking reference. A booking should not be
allowed on scheduled flights that are full up.
Your application should work with real calendar dates and not just the named days of the
week.
[9 marks]
Ease of use
The front end should provide as much guidance to the user as possible. In particular, it
should allow the user to conveniently search for desired flights.
On making a booking, the user should be presented with an invoice page summarizing the
details of the flight, i.e. price, departure date and time, arrival time, etc.
[6 marks]
Presentation
The front end output should be displayed in an attractive manner—you should do more than
just show plain text and vanilla HTML. Feel free to make use of the various presentation
tools covered in the course. However, do not overdo the graphics to the point where your
application becomes difficult to use (as with some real sites).
[6 marks]
Deployment
Your application should be packaged as a Docker image and be deployable in a Docker
container.
[4 marks]
Due date: 2024 May 31, 11:55pm.