1. Project Overview
The Car Rental Management System is a company-level Salesforce application designed to automate
and streamline the entire car rental process. This solution helps rental businesses manage bookings,
vehicles, rental agreements, payments, and returns with efficiency and accuracy. It leverages both
standard Salesforce objects (like Contact) and custom objects (like Car Booking, Rental Agreement,
Car Payment) with Screen and Record-Triggered Flows to offer a seamless experience for both staff
and customers.
Key Capabilities Include:
• Booking Cars:
Allows users to select available cars, choose rental dates, and confirm bookings through an
intuitive flow.
• Generating Rental Agreements:
Staff can generate official rental agreements with start/end dates and link them to bookings
and customers.
• Processing Payments:
Enables payment capture with base amount, discounts, extra charges, and final amount
calculation.
• Returning Vehicles:
Facilitates smooth vehicle returns with condition tracking (on time, damaged, delayed), fine
calculation, and updates to availability.
• Cancelling or Modifying Bookings:
Users can cancel a reservation or change rental dates, with automatic updates to car
availability and optional customer notifications.
• Car Inventory Management:
Admins can track each car’s availability, usage, and return status.
2. Custom Object
Below is the list of custom objects that we need to create in the system:
• Car
• Car Booking
• Rental Agreement
• Car Payment
• Vehicle Return
1. Car
The Car object holds individual vehicle details like model, brand, registration number, status, and
availability.
It links to a Car Category and Location, and tracks whether the car is booked, available, or under
maintenance.
Each booking and rental agreement is tied to a specific car.
It ensures accurate inventory tracking
Field Label | Field Type | Picklist Value | Lookup To |
---|---|---|---|
Car Name | Text | N/A | N/A |
Model | Text | N/A | N/A |
Number Plate | Text | N/A | N/A |
Daily Rate | Currency | N/A | N/A |
Seats | Number | N/A | N/A |
Transmission | Picklist | Manual Automatic | N/A |
Last Serviced Date | Date | N/A | N/A |
Availability | Picklist | Available Booked In Maintenance | N/A |
Brand | Picklist | Ford Jeep Porsche Toyota Nissan | N/A |
Car Type | Picklist | SUV Wagon Sports Car Luxury Car Electric Car | N/A |
Fuel Type | Picklist | Petrol Diesel Electric | N/A |
Colour | Picklist | White Black Silver Gray Orange | N/A |
Purchase Date | Date | N/A | N/A |
2. Car Booking
Car Booking stores reservation details including customer, selected car, pickup and return dates.
It links the user to the car and the rental timeline.
Used to initiate rental agreements and calculate duration. Status values can include Booked, Modified, or Cancelled.
Field Label | Field Type | Picklist Value | Lookup To |
---|---|---|---|
Booking Name | Auto Number | N/A | N/A |
Car | Lookup | N/A | N/A |
Customer Name | Text | N/A | N/A |
Pickup Date | Date | N/A | N/A |
Drop-off Date | Date | N/A | N/A |
Pickup Location | Text | N/A | N/A |
Drop-off Location | Text | N/A | N/A |
Booking Action | Picklist | Modify Dates Cancel Booking Booked Returned | N/A |
Special Instructions | Long Text Area | N/A | N/A |
Total Rental Days | Formula [(Drop-off Date – Pickup Date) + 1] | N/A | N/A |
3. Rental Agreement
This object captures formal rental agreement data like agreement date, car, customer, and terms. It confirms the rental legally and operationally.
Often generated after a booking is finalized.
Linked to the Car and Booking for traceability.
Field Label | Field Type | Picklist Value | Lookup To |
---|---|---|---|
Agreement Number | Auto Number | N/A | N/A |
Signed Date | Date | N/A | N/A |
Booking | Lookup | N/A | Car Booking |
Car | Lookup | N/A | Car |
Customer Name | Formula [Booking.Customer Name] | N/A | N/A |
Rental Start Date | Date | N/A | N/A |
Rental End Date | Date | N/A | N/A |
Terms and Conditions | Long Text Area | N/A | N/A |
Agreement Status | Picklist | Draft Signed Cancelled Active N/A | N/A |
4. Car Payment
Stores payment details such as amount, discount, extra charges, mode of payment, and status.
Calculated based on rental duration and conditions.
Linked to Rental Agreement, Car, and Booking.
Tracks whether payment is pending or completed.
Field Label | Field Type | Picklist Value | Lookup To |
---|---|---|---|
Payment Number | Auto Number | N/A | N/A |
Payment Date | Date | N/A | N/A |
Payment Mode | Picklist | N/A | N/A |
Related Agreement | Lookup | N/A | Rental Agreement |
Car | Lookup | N/A | Car |
Car Booking | Lookup | N/A | Car Booking |
Billing Amount | Formula [Car Booking.Total Rental Days * Car.Daily Rate] | N/A | N/A |
Discount | Currency | N/A | N/A |
Booking Amount | Currency | N/A | N/A |
Final Amount | Currency | N/A | N/A |
5. Vehicle Return
Captures the return process, including return date, vehicle condition, and any fines.
Used to mark the car as returned and update its availability.
Can apply penalties for delays or damage.
Helps maintain accountability and vehicle health records.
Field Label | Field Type | Picklist Value | Lookup To |
---|---|---|---|
Return Number | Auto Number | N/A | N/A |
Booking | Lookup | N/A | Car Booking |
Car | Lookup | N/A | Car |
Return Date | Date | N/A | N/A |
Condition on Return | Picklist | Good Minor Damage Major Damage | N/A |
Notes | Long Text Area | N/A | N/A |
Fine Amount | Currency | N/A | N/A |
Return Status | Picklist | Returned Delayed Damaged | N/A |
Car Payment | Lookup | N/A | Car Payment |
Left Amount to Pay | Currency | N/A | N/A |
Amount Paid | Currency | N/A | N/A |