Version: 2.0 | Status: Ready for Review | Converted: 2026-01-15
Change Log
| Version | Date | Author | Changes |
|---|
| 1.0 | - | - | Initial technical specification |
| 2.0 | 2026-01-15 | PRD Conversion | Converted to business-focused format; added success metrics; consolidated requirements; strengthened acceptance criteria |
1. Overview
1.1 Purpose
The Order/Reservation System is the core revenue engine for Toprent.app, managing the complete lifecycle of vehicle rental bookings. It orchestrates the business-critical flow from initial customer inquiry through booking confirmation, vehicle handover, active rental, return processing, and order completion—ensuring maximum fleet utilization while preventing costly double-bookings.
1.2 Business Value
| Value Area | Measurable Outcome | Target | Timeframe |
|---|
| Revenue Generation | Increase booking conversion rate | +15-20% from quote to confirmed | 6 months post-launch |
| Fleet Utilization | Reduce vehicle idle time through optimized availability | +10-15 percentage points | 6 months post-launch |
| Operational Efficiency | Reduce booking processing time | 50% faster order creation | 3 months post-launch |
| Error Prevention | Eliminate double-booking incidents | Zero confirmed conflicts | Immediate |
| Customer Satisfaction | Reduce booking-related support tickets | -40% ticket volume | 6 months post-launch |
| Financial Visibility | Real-time profitability tracking per order | 100% profit margin visibility | Immediate |
| Compliance & Audit | Complete audit trail for all transactions | 100% traceability | Immediate |
1.3 Target Users
| Role | Business Context | Primary Activities |
|---|
| Administrator | Business oversight and exception handling | Override business rules, manage cross-company operations, handle escalations |
| Operator | Daily rental operations | Create bookings, process check-ins/check-outs, manage customer interactions |
| Partner | Fleet owners using marketplace | Monitor vehicle utilization, track revenue and commissions |
| Client | End customer | Self-service booking requests, view reservation status |
1.4 Scope
In Scope:
- Complete order lifecycle management (quote → confirmed → active → completed)
- Real-time vehicle availability management
- Customer and driver assignment
- Check-in/check-out workflows with condition documentation
- Pricing integration and profitability tracking
- Multi-company operations within tenant
- Calendar view and reporting data
Out of Scope:
- Payment processing (see Payment System PRD)
- Pricing calculation algorithms (see Pricing System PRD)
- Customer notifications (see Communication System PRD)
- Self-service kiosk functionality (see Self Check-In PRD)
- External marketplace integration (see Billion Integration PRD)
2. Success Metrics
| Metric | Definition | Baseline | Target | Measurement Method | Timeframe |
|---|
| Booking Conversion Rate | Confirmed orders / Total quotes | TBD (30-day baseline) | +15-20 pp | Order status analytics | 6 months |
| Fleet Utilization | Booked days / Available days × 100 | TBD (30-day baseline) | +10-15 pp | Availability snapshots | 6 months |
| Order Processing Time | Time from order start to confirmation | TBD (time study) | -50% | Workflow timestamps | 3 months |
| Double-Booking Incidents | Confirmed orders with date conflicts | TBD (current count) | Zero | Conflict detection logs | Immediate |
| Check-In Completion Rate | Orders with complete check-in data | TBD (audit sample) | 95%+ | Required field validation | 3 months |
| Damage Documentation Rate | Check-ins/outs with photo evidence | TBD (audit sample) | 90%+ | Attachment audit | 3 months |
| Average Order Profitability | Total profit / Total orders | TBD (financial baseline) | Visible per order | Profit calculation | Immediate |
| Booking-Related Support Tickets | Tickets categorized as booking issues | TBD (help desk data) | -40% | Ticket categorization | 6 months |
| Calendar Query Response Time | Time to load calendar view | TBD (performance baseline) | <500ms | API monitoring | Immediate |
Measurement Framework:
- Baseline Period: 30-day pre-implementation measurement
- Data Sources: Order database analytics, help desk ticketing system, API performance monitoring
- Review Cadence: Monthly metrics review with stakeholders
3. User Stories
Administrator Stories
| Priority | Story | Acceptance Criteria |
|---|
| P0 | As an administrator, I can override status transitions to handle exceptional circumstances | Given a business exception, when I change status outside normal rules, then the change is logged with reason and my authorization |
| P1 | As an administrator, I can view all orders across all companies for oversight | Given my admin role, when I access order list, then I see orders from all companies with filtering options |
| P1 | As an administrator, I can reassign orders between operators | Given workload imbalance, when I reassign an order, then the new operator receives notification and access |
Operator Stories
| Priority | Story | Acceptance Criteria |
|---|
| P0 | As an operator, I can create a booking with vehicle, dates, and customer in under 3 minutes | Given customer request, when I complete the booking form, then order is created with calculated pricing and unique number |
| P0 | As an operator, I can verify vehicle availability before confirming a booking | Given selected dates and vehicle, when I check availability, then I see clear available/unavailable status with any conflicts |
| P0 | As an operator, I can perform check-in by recording vehicle condition and capturing documentation | Given a confirmed booking, when I complete check-in, then odometer, fuel, and damages are recorded with photos |
| P0 | As an operator, I can perform check-out and automatically complete the order | Given an active rental, when I complete check-out, then final condition is recorded and order status becomes completed |
| P1 | As an operator, I can add extra services and insurance to increase order value | Given an order, when I add services, then pricing automatically recalculates including new items |
| P1 | As an operator, I can assign couriers for vehicle delivery/collection | Given logistics need, when I assign courier, then courier receives notification with order details |
| P1 | As an operator, I can view calendar of all bookings for resource planning | Given date range, when I view calendar, then I see all orders with status indicators and can filter by vehicle/customer |
| P2 | As an operator, I can add notes to orders for team communication | Given order context, when I add note, then it appears in order history with my name and timestamp |
Partner Stories
| Priority | Story | Acceptance Criteria |
|---|
| P1 | As a partner, I can view orders for my vehicles to track utilization | Given my partner account, when I view orders, then I see only orders for vehicles I own |
| P1 | As a partner, I can see revenue and commission for each order | Given completed order, when I view details, then commission calculation is visible |
Client Stories
| Priority | Story | Acceptance Criteria |
|---|
| P1 | As a client, I can request a booking through the widget | Given available vehicle and dates, when I submit request, then quote is created and I receive confirmation |
| P2 | As a client, I can view my upcoming and past reservations | Given my account, when I view reservations, then I see status and details of my orders |
4. Functional Requirements
4.1 Order Creation & Management
| ID | Requirement | Business Rationale |
|---|
| FR-01 | System must create orders with vehicle, customer, date range, and company assignment | Core booking capability for revenue generation |
| FR-02 | System must generate unique, sequential order numbers per tenant | Enables customer communication and tracking |
| FR-03 | System must validate date range (end after start, minimum 30 minutes) | Prevents invalid bookings that cause operational issues |
| FR-04 | System must check vehicle availability before order creation | Prevents double-bookings that damage customer trust |
| FR-05 | System must initialize orders in “Quote” status by default | Enables sales pipeline tracking and conversion measurement |
| FR-06 | System must calculate initial pricing based on tariffs and dates | Provides immediate cost visibility to customers |
| FR-07 | System must support order creation from admin panel, operator interface, and widget | Maximizes booking channels for revenue |
| FR-08 | System must support order duplication for repeat bookings | Reduces operator time for returning customers |
4.2 Availability Management
| ID | Requirement | Business Rationale |
|---|
| FR-09 | System must detect date overlaps with confirmed and maintenance orders | Prevents double-booking and ensures vehicle readiness |
| FR-10 | System must exclude current order from availability check during edits | Allows legitimate order modifications |
| FR-11 | System must support configurable buffer time between bookings | Ensures adequate vehicle preparation time |
| FR-12 | System must return availability status (available, requested, reserved) | Enables informed booking decisions |
| FR-13 | System must check multiple vehicles simultaneously for calendar views | Supports efficient resource planning |
4.3 Order Status Lifecycle
| ID | Requirement | Business Rationale |
|---|
| FR-14 | System must support statuses: Quote, Confirmed, Active, Completed, Cancelled | Enables pipeline tracking and operational workflow |
| FR-15 | System must enforce valid status transitions (Quote→Confirmed→Active→Completed) | Maintains data integrity and process compliance |
| FR-16 | System must validate availability when changing to Confirmed status | Final double-booking prevention |
| FR-17 | System must record confirmation timestamp for reporting | Tracks sales cycle timing |
| FR-18 | System must trigger notifications on status changes | Keeps stakeholders informed automatically |
| FR-19 | System must support Maintenance status that blocks vehicle with zero price | Enables fleet management without revenue distortion |
4.4 Check-In Process
| ID | Requirement | Business Rationale |
|---|
| FR-20 | System must allow check-in only for Confirmed orders | Ensures proper booking workflow |
| FR-21 | System must capture vehicle condition: odometer, fuel level, engine hours | Documents starting state for dispute resolution |
| FR-22 | System must allow damage documentation with photos and location coordinates | Provides evidence for damage claims |
| FR-23 | System must sync vehicle condition to master record | Maintains accurate fleet status |
| FR-24 | System must support document validation checklist | Ensures compliance requirements are met |
| FR-25 | System must allow check-in reset by authorized users | Handles correction of errors |
4.5 Check-Out Process
| ID | Requirement | Business Rationale |
|---|
| FR-26 | System must allow check-out only after check-in is completed | Ensures proper sequence |
| FR-27 | System must capture final vehicle condition: odometer, fuel level, engine hours | Documents ending state for billing and disputes |
| FR-28 | System must document new damages found at return | Enables damage billing to customer |
| FR-29 | System must automatically change status to Completed after check-out | Completes operational workflow |
| FR-30 | System must calculate extra kilometers beyond included limits | Enables accurate overage billing |
| FR-31 | System must update vehicle master record with final condition | Prepares vehicle for next rental |
4.6 Damage Tracking
| ID | Requirement | Business Rationale |
|---|
| FR-32 | System must maintain separate damage records for pre-existing, check-in, and check-out stages | Establishes clear responsibility for damages |
| FR-33 | System must capture damage details: type, severity, location, photos, notes | Provides complete documentation for claims |
| FR-34 | System must support visual damage annotation on vehicle diagram | Improves documentation accuracy |
| FR-35 | System must track deleted damages for audit purposes | Maintains complete damage history |
4.7 Pricing & Profitability
| ID | Requirement | Business Rationale |
|---|
| FR-36 | System must calculate total price including base rental, extras, insurance, and delivery | Provides accurate customer quotes |
| FR-37 | System must support manual price override with authorization | Enables negotiated deals |
| FR-38 | System must calculate VAT based on company settings | Ensures tax compliance |
| FR-39 | System must calculate order profit (revenue minus costs) | Enables profitability analysis |
| FR-40 | System must support commission calculations for partner vehicles | Enables marketplace revenue sharing |
| ID | Requirement | Business Rationale |
|---|
| FR-41 | System must associate extra services with orders (GPS, child seat, etc.) | Increases revenue per booking |
| FR-42 | System must support one-time and per-day service pricing | Enables flexible service offerings |
| FR-43 | System must include services in total price calculation | Ensures accurate invoicing |
| FR-44 | System must reference insurance products with deductible amounts | Provides protection options to customers |
4.9 Customer & Driver Management
| ID | Requirement | Business Rationale |
|---|
| FR-45 | System must associate orders with customers (clients or partners) | Links booking to payer |
| FR-46 | System must support multiple drivers per order | Accommodates family/business rentals |
| FR-47 | System must allow driver modifications throughout rental period | Handles changing customer needs |
4.10 Courier & Delivery
| ID | Requirement | Business Rationale |
|---|
| FR-48 | System must allow courier assignment for collection and delivery | Enables door-to-door service |
| FR-49 | System must notify assigned couriers automatically | Ensures timely vehicle logistics |
| FR-50 | System must track delivery pricing separately | Enables accurate service billing |
4.11 Calendar & Reporting
| ID | Requirement | Business Rationale |
|---|
| FR-51 | System must provide calendar view data for month/week/day views | Enables resource planning |
| FR-52 | System must support filtering by vehicle, status, customer, company | Enables focused analysis |
| FR-53 | System must return calendar data within 500ms | Ensures usable operator experience |
4.12 Document Management
| ID | Requirement | Business Rationale |
|---|
| FR-54 | System must support document and photo attachments | Provides complete order documentation |
| FR-55 | System must store check-in and check-out photos separately | Enables before/after comparison |
| FR-56 | System must support video documentation | Provides comprehensive evidence |
4.13 Notes & Communication
| ID | Requirement | Business Rationale |
|---|
| FR-57 | System must support operator notes visible to team | Enables internal communication |
| FR-58 | System must support private notes for admin/operator only | Protects sensitive information |
| FR-59 | System must support location-specific notes (pickup/return addresses) | Guides logistics operations |
4.14 Multi-Company Operations
| ID | Requirement | Business Rationale |
|---|
| FR-60 | System must associate orders with specific company within tenant | Enables correct invoicing and reporting |
| FR-61 | System must support cross-company reporting for administrators | Enables business oversight |
| FR-62 | System must apply default company when not specified | Reduces operator errors |
4.15 Audit & Compliance
| ID | Requirement | Business Rationale |
|---|
| FR-63 | System must record creation and modification timestamps | Enables audit trail |
| FR-64 | System must record user responsible for each change | Enables accountability |
| FR-65 | System must maintain modification history | Supports dispute resolution and compliance |
| FR-66 | System must track order source (own system vs. external marketplace) | Enables channel analysis |
4.16 Cancellation
| ID | Requirement | Business Rationale |
|---|
| FR-67 | System must support order cancellation with immediate availability release | Enables rebooking by other customers |
| FR-68 | System must retain cancelled orders for historical reporting | Supports business analysis |
5. Acceptance Criteria
AC-01: Order Creation
Given a valid vehicle, customer, and date range
When operator creates a new order
Then order is created with Quote status, unique number assigned, and pricing calculated
And order appears in calendar view for the specified dates
And creation completes within 3 seconds
AC-02: Availability Checking
Given a vehicle and date range
When system checks availability
Then all confirmed and maintenance orders are checked for overlap
And availability status is returned (available/requested/reserved) within 1 second
And current order is excluded from check during edits
AC-03: Status Confirmation
Given an order in Quote status with available vehicle
When operator confirms the booking
Then status changes to Confirmed and confirmation timestamp is recorded
And vehicle becomes blocked for the date range
And relevant notifications are triggered
AC-04: Double-Booking Prevention
Given two overlapping booking requests for the same vehicle
When second booking attempts confirmation
Then system prevents confirmation with clear availability error
And zero double-bookings occur in production
AC-05: Check-In Completion
Given a Confirmed order
When operator performs check-in
Then check-in timestamp is recorded
And vehicle condition (odometer, fuel, damages) is captured
And photos are stored
And vehicle master record is updated
AC-06: Check-Out Completion
Given an order with completed check-in
When operator performs check-out
Then final vehicle condition is recorded
And extra kilometers are calculated if applicable
And order status automatically changes to Completed
And vehicle master record reflects final condition
AC-07: Damage Documentation
Given an order at check-in or check-out
When damages are documented
Then damage details include type, severity, location, photos, and notes
And damages are categorized by stage (pre-existing, check-in, check-out)
And vehicle master record is updated with cumulative damages
AC-08: Pricing Calculation
Given an order with vehicle, dates, extras, and insurance
When pricing is calculated
Then total includes base rental, seasonal adjustments, services, insurance, delivery, and VAT
And profit margin is calculated and visible
And manual override is supported with authorization
Given a date range request
When calendar data is requested
Then orders are returned with vehicle, customer, status, and dates
And response time is under 500ms
And filtering by vehicle, status, customer, company is functional
AC-10: Audit Trail Completeness
Given any order modification
When changes are saved
Then modification timestamp is recorded
And user who made change is recorded
And change history is preserved and queryable
6. Business Rules
Booking Workflow Rules
| Rule | Description | Business Impact |
|---|
| BR-01 | Orders follow valid status transitions only (Quote→Confirmed→Active→Completed) | Maintains process integrity |
| BR-02 | Vehicles cannot have overlapping Confirmed or Maintenance orders | Prevents double-bookings |
| BR-03 | Quote orders create soft holds but don’t block availability | Balances sales pipeline with fleet flexibility |
| BR-04 | Buffer time between bookings must be respected | Ensures vehicle preparation time |
| BR-05 | Terminology uses “Reservation” and “Booking” consistently | Professional customer communication |
Check-In/Check-Out Rules
| Rule | Description | Business Impact |
|---|
| BR-06 | Check-in requires Confirmed status | Ensures proper booking workflow |
| BR-07 | Check-in captures mandatory condition data (odometer, fuel) | Documents starting state |
| BR-08 | Check-out requires completed check-in | Ensures proper sequence |
| BR-09 | Check-out automatically completes the order | Streamlines workflow |
| BR-10 | Extra kilometers = (final odometer - start odometer) - included km | Enables accurate overage billing |
Pricing Rules
| Rule | Description | Business Impact |
|---|
| BR-11 | Base price = daily rate × days | Standard rental calculation |
| BR-12 | Seasonal tariffs modify base price | Enables demand-based pricing |
| BR-13 | Manual override requires authorization and bypasses auto-calculation | Enables negotiated deals with control |
| BR-14 | Maintenance orders have zero price automatically | Prevents revenue distortion |
| BR-15 | Partner vehicles use commission-based pricing | Enables marketplace revenue sharing |
Damage & Documentation Rules
| Rule | Description | Business Impact |
|---|
| BR-16 | Damages categorized by stage (pre-existing, check-in, check-out) | Establishes clear responsibility |
| BR-17 | Each damage requires photo documentation | Provides evidence for claims |
| BR-18 | Deleted damages tracked separately | Maintains audit trail |
Modification Rules
| Rule | Description | Business Impact |
|---|
| BR-19 | Pre-check-in: full modification with availability revalidation | Accommodates customer changes |
| BR-20 | Post-check-in: limited to notes and non-critical fields | Protects rental integrity |
| BR-21 | Post-checkout: immutable except admin corrections | Maintains completed record integrity |
7. Dependencies
Upstream Dependencies (Required Before This System)
| System | Dependency Type | Impact if Unavailable |
|---|
| Multi-Tenant Architecture | Critical | Cannot isolate tenant data |
| Authentication & Authorization | Critical | Cannot verify user access |
| Vehicle Management | Critical | Cannot check availability or assign vehicles |
| Client/Customer Management | Critical | Cannot assign customers to orders |
| Pricing System | High | Cannot calculate order pricing |
| Extras & Insurance | Medium | Cannot add value-added services |
Downstream Dependencies (Systems That Use This)
| System | Dependency Type | Data Provided |
|---|
| Payment Processing | Critical | Order amounts, payment references |
| Communication System | High | Status changes for notifications |
| Self Check-In | High | Order data for kiosk operations |
| Marketplace Integration | Medium | Order sync for external platforms |
8. Glossary
| Term | Definition |
|---|
| Order/Reservation/Booking | A vehicle rental agreement containing customer, vehicle, dates, pricing, and status |
| Quote | Initial order status for unconfirmed inquiries; soft hold on availability |
| Confirmed | Guaranteed booking; vehicle is blocked for the date range |
| Active | Rental period in progress (between check-in and check-out) |
| Check-In | Process of documenting vehicle condition and starting the rental |
| Check-Out | Process of documenting final condition and ending the rental |
| Double-Booking | Conflict where two confirmed orders overlap for the same vehicle |
| Buffer Time | Minimum gap required between bookings for vehicle preparation |
| Extra Kilometers | Distance driven beyond included allowance; subject to overage charges |
| Damage Documentation | Photos, descriptions, and location data recording vehicle condition |
| Commission | Revenue share paid to partners for marketplace vehicle rentals |
| Courier | Staff member assigned to deliver or collect vehicles |
9. Non-Functional Requirements
| Category | Requirement | Target |
|---|
| Performance | Calendar view response time | <500ms |
| Performance | Single order retrieval | <500ms |
| Performance | Availability check | <1 second |
| Availability | System uptime | 99.5% |
| Scalability | Concurrent users per tenant | 100+ |
| Security | Tenant data isolation | 100% enforced |
| Audit | Change traceability | 100% of modifications |
| Data Integrity | Double-booking prevention | Zero confirmed conflicts |
10. Approval
| Role | Name | Date | Signature |
|---|
| Product Owner | | | |
| Operations Lead | | | |
| Engineering Lead | | | |
| Business Stakeholder | | | |