Business processes
Rental Lifecycle
Detailed contract journey from draft through closure with status transitions and validation rules
Rental Lifecycle
This page details every status transition a rental contract goes through, the validation rules at each gate, and the permissions required to move forward.
Contract Status Flow
flowchart TD
D[Draft] --> CP[Checkout Pending]
CP --> A[Active]
A --> ER[Extension Requested]
ER --> A
A --> RP[Return Pending]
CP --> CANCEL[Cancelled]
A --> CANCEL
RP --> DR{Damage Found?}
DR -->|Yes| DV[Damage Review]
DR -->|No| BR[Billing Review]
DV --> BR
BR --> CLOSED[Closed]
CLOSED --> ARCH[Archived]
CANCEL --> ARCHBusiness Tip: Every status change is logged in the contract history table. You can always trace who changed the status and when.
Status Definitions
| Status | Description | Vehicle Impact |
|---|---|---|
| Draft | Contract created but checkout not started | Available |
| Checkout Pending | Checkout wizard in progress | Reserved |
| Active | Vehicle is with the customer | Rented |
| Extension Requested | Customer requested more time | Rented |
| Return Pending | Vehicle returned, awaiting inspection | Inspection Pending |
| Damage Review | Damage found during return inspection | Inspection Pending |
| Billing Review | Final charges being calculated | Inspection Pending |
| Closed | All settled, contract complete | Available or Maintenance |
| Cancelled | Contract cancelled before or during rental | Available |
| Archived | Historical record, read-only | — |
Transition Details
Draft → Checkout Pending
| Field | Detail |
|---|---|
| Trigger | Front desk clicks "Start Checkout" |
| Permission | contract:checkout |
| Pre-conditions | Reservation must be confirmed, vehicle must be assigned |
| Validation | Customer identity documents must be uploaded |
| Screen | Reservations > Checkout Wizard |
Validation Rules:
- Vehicle status must be
Reserved - Reservation must have
Confirmedstatus - Customer must have at least one verified ID document
- Pickup date must be today or in the future
Checkout Pending → Active
| Field | Detail |
|---|---|
| Trigger | Checkout wizard step 4 completed |
| Permission | contract:checkout |
| Pre-conditions | Inspection complete, deposit processed, contract signed |
| Validation | All mandatory inspection fields filled |
| Screen | Reservations > Checkout Wizard (Step 4) |
Validation Rules:
- Pre-existing damage inspection must have at least one photo
- Security deposit must be processed (card hold or cash)
- Customer must acknowledge terms via digital signature
- Odometer reading must be recorded
- Fuel level must be recorded
flowchart LR
subgraph "Checkout Wizard Steps"
S1[1. Inspection] --> S2[2. Verification]
S2 --> S3[3. Deposit]
S3 --> S4[4. Contract & Keys]
end
S4 -->|All validations pass| ACTIVE[Active]
S4 -->|Validation fails| BLOCKED[Blocked]Active → Extension Requested
| Field | Detail |
|---|---|
| Trigger | Customer or agent requests extension |
| Permission | extension:create |
| Pre-conditions | Contract must be Active, return date not yet passed |
| Validation | Extension dates must not overlap with another reservation |
| Screen | Contracts > Extension Request |
Validation Rules:
- New return date must be after current return date
- Vehicle must not be reserved for another customer in the new period
- Pricing for extension period must be recalculated
- Customer must confirm extended pricing
Extension Requested → Active
| Field | Detail |
|---|---|
| Trigger | Extension approved and deposit topped up |
| Permission | extension:approve |
| Pre-conditions | Pricing confirmed, additional deposit processed |
| Validation | Payment for extension period received |
Active → Return Pending
| Field | Detail |
|---|---|
| Trigger | Return inspection submitted with no damage |
| Permission | contract:checkin |
| Pre-conditions | Vehicle physically returned to branch |
| Validation | Odometer and fuel readings recorded |
| Screen | Contracts > Check-in Wizard |
Validation Rules:
- Return inspection must be submitted
- No new damage items flagged
- Fuel level must be recorded
- Odometer must be recorded
- All accessories accounted for
Active → Damage Review
| Field | Detail |
|---|---|
| Trigger | Return inspection flags new damage |
| Permission | contract:checkin |
| Pre-conditions | Vehicle physically returned |
| Validation | At least one damage item with photo evidence |
| Screen | Contracts > Check-in Inspection |
Validation Rules:
- Damage item must have category, severity, and photo
- Damage must be compared against checkout inspection
- Pre-existing damage must be excluded from new damage list
Damage Review → Billing Review
| Field | Detail |
|---|---|
| Trigger | Damage assessment completed and charges approved |
| Permission | damage:approve_assessment |
| Pre-conditions | Damage assessment form completed |
| Validation | Estimated cost must be entered |
| Screen | Damage > Assessment |
Billing Review → Closed
| Field | Detail |
|---|---|
| Trigger | All charges settled, invoice paid |
| Permission | contract:update |
| Pre-conditions | Invoice fully paid, deposit resolved |
| Validation | Payment amount ≥ invoice total |
| Screen | Contracts > Close Contract |
Validation Rules:
- Invoice status must be
Paid - Security deposit must be resolved (released or forfeited)
- No open complaints linked to this contract
- No pending damage assessments
- No pending traffic fines or Salik charges
Active/Any → Cancelled
| Field | Detail |
|---|---|
| Trigger | Contract cancelled by authorized user |
| Permission | contract:cancel |
| Pre-conditions | Cancellation policy applied |
| Validation | Cancellation fee calculated if applicable |
| Screen | Contracts > Cancel Contract |
Validation Rules:
- Cancellation reason must be recorded
- If vehicle already dispatched, return must be arranged
- Deposit refund or forfeiture must be processed
- Outstanding charges must be settled before cancellation
Timeline View
Every contract has a timeline showing all status changes, actions, and audit events.
| Timeline Entry | What It Shows |
|---|---|
| Status Change | Who changed status, timestamp, from/to |
| Inspection | Pre-existing and return inspection details |
| Payment | Deposit, invoice payments, refunds |
| Extension | Extension requests and approvals |
| Damage | Damage assessment entries |
| Comment | Internal notes and customer communications |
| Document | Attached files and signed agreements |
Validation Rules Summary
| Rule Code | Applies To | Description |
|---|---|---|
contract_can_checkout | Checkout | Vehicle reserved, customer verified, deposit ready |
contract_can_close | Closure | Invoice paid, deposit resolved, no open issues |
contract_can_cancel | Cancellation | Reason recorded, charges settled |
extension_can_be_approved | Extension | Pricing confirmed, vehicle available for new dates |
Business Tip: If a transition is blocked, the system will show exactly which validation failed. Fix the issue and retry — do not attempt to bypass validation.
Error Handling
| Error | Cause | Resolution |
|---|---|---|
| "Vehicle not available" | Vehicle reserved by another contract | Assign a different vehicle |
| "Customer documents not verified" | ID document pending OCR | Complete document verification first |
| "Deposit not processed" | Card hold failed or cash not recorded | Re-process deposit before checkout |
| "Invoice not fully paid" | Outstanding balance remains | Process remaining payment |
| "Open complaints exist" | Linked complaint not resolved | Resolve or escalate complaint first |
| "Damage assessment pending" | Return inspection flagged damage | Complete damage assessment |