Travel Agents System Java Program
You are to develop program in Java for a small travel agents. The company arranges holidays from four UK airports to five international destinations. Users need to find flight times and costs for journeys between these destinations. The system also provides information on hotels at the destinations (name of hotel and cost per person per night). Information on hotels can only be added, or loaded from file, when the program is running. The following table (Table 1) provides the airport names, destinations, costs and flight times for the journeys Table 1 Information for the travel agents program – the two values represent cost (£) and flight time (hours) respectively – you can make up your own (realistic values) if you wish
Airport/Destination | New York |Dahab | Rome |Sydney |Tokyo
East Midlands |200/5.0 |150/4.0 |100/1.0 |500/22.0 |400/12.0
Birmingham |190/4.8 |140/3.5 |95/1.1 |480/22.5 |380/12.5
Heathrow |195/4.9 |140/3.6 |95/1.1 |490/23.0 |390/12.5
Manchester |210/5.5 |145/3.7 |110/1.2 |470/22.7 |370/12.6
(the above is a data table, where there is a line, represents the cell)
Your program should have a main menu with four options – Time, Price, Hotels and End (which terminates the program). The Hotels option takes the user to another (Hotel) menu with the following six options – View Hotels; Add Hotel; Delete Hotel; Save Hotels; Retrieve Hotels; Exit (back to the previous menu). Note that your program should include appropriate error trapping – for example, entering an invalid date (eg 30 February).
Functionality for each of these menu options is explained below:
Time – Provides the flight time presented in hours.
Price – The cost of travelling from an airport to a given destination (both selected by the user). Note, if the customer is travelling on the last day of the month the fare should be increased by 5% (and display a message to say that this has been done). The system will therefore need to ask the user the date of travel. It should not simply ask the user if it is the end of the month – but work this out from a date provided by the user.
Hotels – Takes the user to a Hotels Information Menu.
View Hotels – The user selects a destination and the system displays all available hotels at that destination including the overnight cost per person. If there are no hotels for a destination it should display a message to say so.
Add Hotel – Allows the user to add a hotel for a given destination. This should add to the list of existing hotels for that destination (if there are any). For example, I might add ‘Belle Vue’ as a hotel in Sydney at a cost of £50 per person per night.
Delete Hotel – Allows the user to delete a hotel from a list of hotels at a destination.
Save Hotels – save all the information on all hotels to a single file in a format of your choosing.
Retrieve Hotels – read in all the information on hotels from a user selected file (a file saved using the previous option). This should overwrite any existing hotel data in the program when it is running.
The more functionality you add to the program the higher your mark. Begin by getting the menu options in place then add functionality to your program in the following order (make sure that earlier parts of the system are working properly before moving on). Your program should also be structured in an object oriented way. You should try to identify and implement a number of classes for this program.
Minimum pass (40%)
The flight time between any airport and destination;
The cost of travel between any airport and destination;
Increased cost of travel on the last day of the month and a message to say this has been applied;
View hotels – users can view information on all hotels at a chosen destination; Add hotel – the ability for users to add hotels for a destination;
Sort hotels – users can sort all hotels alphabetically;
Your coursework should be submitted with appropriate documentation. You should include class diagrams, designs, functionality not completed, functionality working, test plans, evaluation, and program listings. Make sure you include an explanation of how your code should be run (eg. which file should be compiled and run and anything I need to know about using the program – a user guide).