تفاصيل العمل

Car Rental System – Project Documentation

1. Project Overview

The Car Rental System is designed to manage the operations of a car rental company. It allows the company to track customers, vehicles, bookings, payments, and vehicle returns efficiently. The system ensures accurate data management, minimizes redundancy, and supports future scalability.

2. Functional Requirements

2.1 Customer Management

Maintain personal information for all customers: full name, contact details, and driver’s license number.

Support multiple driver licenses for a single person, if applicable.

2.2 Vehicle Information

Maintain up-to-date information for all available vehicles: make, model, year, mileage, rental rates, fuel type, plate number, and category (e.g., Sedan, 4x4).

Vehicle Fuel Types:

Gasoline (Petrol)

Diesel

Electric

Hybrid

2.3 Vehicle Booking

Record every booking made by a customer.

Capture booking details: rental start date, rental end date, pickup and drop-off locations, initial rental days, initial total due amount, and initial vehicle check notes.

2.4 Rental Transactions

Record payment details for each booking, including initial paid amount.

Update transaction if there are differences at vehicle return.

2.5 Vehicle Return

Record actual return date and calculate actual rental days.

Save final vehicle check notes.

Track additional charges or refunds.

Save current mileage and calculate consumed mileage during the rental period.

3. Database Design

3.1 Tables Overview

Person – stores general information of all individuals.

Customer – stores customer-specific information.

DriverLicenses – stores driver license details for each person.

Vehicles – stores vehicle information.

VehicleCategory – stores vehicle categories (e.g., Sedan, 4x4).

FuelTypes – stores fuel types for vehicles.

Booking – stores all booking details.

Locations – stores pickup and drop-off locations.

RentalTransaction – stores payment information.

VehicleReturn – stores vehicle return details.

3.2 Key Relationships

Person → Customer = 1:1 (each customer must have one person record).

Customer → Booking = 1:M (a customer can make multiple bookings).

Booking → Vehicle = M:1 (a vehicle can be booked multiple times over time).

Booking → RentalTransaction = 1:M (each booking can have multiple transactions).

Booking → VehicleReturn = 1:1 (each booking has one vehicle return record).

4. Notes

Tables are normalized to reduce data redundancy and ensure data integrity.

ENUMs or reference tables are used for fields with limited options (e.g., FuelType, LicenseType, GearType).

The system can be extended easily for additional features like multiple locations, vehicle maintenance

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات