PART 1 Problem
A car rental company hires you to develop their reservation system. The system should deal with customers’ queries providing a quote for the given dates and type of car. It should check for availability and make/cancel reservations.
Types of vehicles and their characteristics:
▪ cars: make/model,km/l,numPassenger,num_doors,plate number, daily cost, weekly cost, weekend cost, available
▪ vans: make/model,km/l,numPassenger,plate number, daily cost, weekly cost, weekend cost,available
▪ caravans: make/model, km/l, num_beds, plate number, daily cost, weekly cost, weekend cost,available
Company side
The program will have a company username that will allow the staff in the company to enter/delete vehicles. A basic set of vehicles should be created in the code.
Customer side
The program must be able to:
a) Display the specific vehicles available for rent by vehicle type.
b) Display cost associated with a given vehicle including daily, weekend and weekly rate.
c) It must also allow the user to determine the cost of a particular vehicle for a given period of time.
d) The program must allow for a particular vehicle to be reserved and cancelled.
1
Technical requirements
Object oriented approach: Instantiation, use of attributes and methods
Use of inheritance, use of lists/dictionaries as appropriate, use of GUI , efficient code, comments, error checking, string control for upper/lower case, etc...
PART 1 - Specs
1. Create the classes required to store all the vehicle data. Create the
objects. 2. Use the ‘Vehicles project data’ file for details on the vehicles and
prices.
3. Create the structure for a customer to search the vehicles by type.
4. Create the structure for a customer to query the cost of renting a
particular vehicle.
a. Generic pricing
b. Specific to number of days.
5. Create the structure for a customer to rent a car (make available
attribute =N) and return it (make available attribute=Y).
6. Create the structure for the admin user to add a new car to the fleet.
7. Create the structure for the admin user to delete a car from the fleet.
8. Create a functional GUI