Version: 2.0 | Status: Business Review | Date: 2026-01-15
Previous Version: 1.0 (Technical Draft) | Author: Product Team
Change Log
| Version | Date | Changes |
|---|
| 2.0 | 2026-01-15 | Converted to business-focused format; added measurable outcomes and success metrics |
| 1.0 | 2026-01-09 | Initial technical draft |
1. Executive Summary
1.1 Purpose
Provide rental companies with a centralized fleet inventory system to manage vehicles across multiple types (cars, motorcycles, boats, bikes, water toys, wagons), track availability in real-time, maintain service schedules, document damages, and integrate with pricing and booking systems.
1.2 Business Value
| Value Area | Measurable Outcome | Timeframe |
|---|
| Fleet Utilization | Increase fleet utilization rate by 10-15 percentage points through accurate availability tracking | Within 6 months |
| Double-Booking Prevention | Reduce double-booking incidents to zero through real-time availability calculation | Immediate |
| Maintenance Downtime | Reduce unplanned maintenance downtime by 30% through proactive reminder system | Within 12 months |
| Damage Dispute Resolution | Decrease damage dispute resolution time by 50% with photo-documented lifecycle tracking | Within 6 months |
| Marketplace Revenue | Enable 20% additional bookings through partner vehicle marketplace integration | Within 12 months |
| Vehicle Economics Visibility | Achieve full ROI visibility per vehicle to optimize fleet composition | Within 6 months |
1.3 Target Users
| User Type | Business Context |
|---|
| Company Administrators | Full fleet management, pricing configuration, economic analysis, marketplace settings |
| Operators | Daily vehicle operations, status updates, maintenance tracking, damage documentation |
| Partners | View synchronized vehicles, track bookings and earnings for their fleet |
1.4 Scope
Included:
- Complete vehicle lifecycle management (add, update, deactivate, restore)
- Brand and model catalog with photos and specifications
- Real-time availability calculation with conflict prevention
- Maintenance reminder scheduling (time-based and mileage-based)
- Damage documentation with photo evidence at rental lifecycle stages
- Owned vs. partner vehicle distinction with marketplace controls
- Vehicle purchase/lease tracking and economic performance analytics
- Multi-office vehicle assignments and location-based availability
- Bulk import capabilities for vehicles and financial records
Excluded:
- Real-time GPS tracking
- Automated AI/ML damage assessment
- Vehicle telematics integration
- Direct vehicle communication systems
2. Success Metrics
| Metric | Definition | Baseline | Target | Measurement Method |
|---|
| Fleet Utilization Rate | (Rented days ÷ Available days) × 100 | 55-60% (industry avg) | +10-15 pp | Monthly availability snapshots |
| Double-Booking Incidents | Reservations overlapping same vehicle | To be measured | 0 | Order conflict reports |
| Unplanned Maintenance Events | Maintenance occurring without prior reminder | To be measured | 30% reduction | Maintenance log categorization |
| Reminder Compliance Rate | % of maintenance completed within reminder window | N/A (new) | >85% | Reminder completion timestamps |
| Damage Documentation Rate | % of rentals with complete before/after photos | To be measured | >95% | Order damage record analysis |
| Dispute Resolution Time | Average days to resolve damage disputes | To be measured | 50% reduction | Support ticket timestamps |
| Partner Vehicle Bookings | % of total bookings using partner vehicles | N/A (new) | 20% within 12 months | Order source analysis |
| Vehicle Search Time | Time to find available vehicle for date range | To be measured | <5 seconds | Performance monitoring |
| Data Entry Completeness | % of vehicles with complete specifications | To be measured | >90% | Field completion audit |
| Economic Tracking Adoption | % of vehicles with expense/income records | N/A (new) | >80% within 6 months | Balance record analysis |
3. User Stories
Administrators (P0 - Critical)
| ID | Story | Acceptance Criteria |
|---|
| US-01 | As an Admin, I want to add vehicles with complete specifications so they appear in the rental inventory | Given I enter required fields (name, brand, model, type, plate), when I save, then vehicle is immediately available for booking |
| US-02 | As an Admin, I want vehicle names auto-generated from brand + model so naming is consistent | Given I select brand and model, when I view name field, then it auto-populates as “Brand Model” |
| US-03 | As an Admin, I want to set base pricing, deposits, and kilometer allowances per vehicle | Given I configure pricing, when a quote is generated, then these rates apply |
| US-04 | As an Admin, I want to mark vehicles as owned or partner-sourced so fleet composition is clear | Given I set ownership type, when I filter fleet, then owned/partner distinction is visible |
| US-05 | As an Admin, I want to deactivate vehicles without losing historical data | Given I deactivate a vehicle, when I view reports, then its rental history remains intact |
Administrators (P1 - Important)
| ID | Story | Acceptance Criteria |
|---|
| US-06 | As an Admin, I want to upload multiple vehicle photos so customers see the actual vehicle | Given I upload photos, when customers view listing, then all photos display in order |
| US-07 | As an Admin, I want to assign seasonal pricing matrices to vehicles | Given I associate a tariff, when prices calculate, then seasonal rates apply |
| US-08 | As an Admin, I want to configure equipment/features available per vehicle | Given I select features (GPS, child seat), when booking displays, then options appear |
| US-09 | As an Admin, I want to control marketplace visibility per vehicle | Given I enable/disable marketplace, when partners search, then visibility updates accordingly |
| US-10 | As an Admin, I want to restore deactivated vehicles when returning to service | Given a deactivated vehicle, when I restore it, then it becomes bookable again |
| US-11 | As an Admin, I want to track vehicle purchase/lease agreements and payments | Given I enter acquisition details, when I view economics, then cost basis displays correctly |
| US-12 | As an Admin, I want to assign vehicles to specific office locations | Given I assign offices, when staff filters by location, then only assigned vehicles appear |
Administrators (P2 - Nice to Have)
| ID | Story | Acceptance Criteria |
|---|
| US-13 | As an Admin, I want to bulk import vehicles via CSV | Given I upload valid CSV, when import completes, then all vehicles are created with specified attributes |
| US-14 | As an Admin, I want to import income/expense records for existing vehicles | Given I upload financial CSV, when import completes, then records appear in vehicle balances |
Operators (P0 - Critical)
| ID | Story | Acceptance Criteria |
|---|
| US-15 | As an Operator, I want to view all active vehicles and their current status | Given I access vehicle list, when I view results, then status (available/reserved/maintenance) displays for each |
| US-16 | As an Operator, I want to check vehicle availability for specific date ranges | Given I enter dates, when I search, then only truly available vehicles appear |
| US-17 | As an Operator, I want to document damages before and after rentals with photos | Given I record a damage, when I attach photos, then damage appears in vehicle history with visual evidence |
| US-18 | As an Operator, I want to update odometer readings when vehicles return | Given I enter new reading, when I save, then current mileage updates and affects distance-based reminders |
Operators (P1 - Important)
| ID | Story | Acceptance Criteria |
|---|
| US-19 | As an Operator, I want to receive notifications when maintenance reminders are due | Given a reminder threshold is reached, when notification triggers, then I receive email alert |
| US-20 | As an Operator, I want to mark vehicles unavailable for maintenance | Given I mark maintenance status, when staff searches availability, then vehicle is excluded |
| US-21 | As an Operator, I want to filter vehicles by type, brand, category, and location | Given I apply filters, when results display, then only matching vehicles appear |
| US-22 | As an Operator, I want to view vehicle rental history and utilization metrics | Given I access vehicle detail, when I view history, then past rentals and utilization % display |
| US-23 | As an Operator, I want inline editing of mileage and color in table view | Given I click a field, when I edit inline, then change saves without opening full form |
Partners (P0 - Critical)
| ID | Story | Acceptance Criteria |
|---|
| US-24 | As a Partner, I want to view only my synchronized vehicles | Given I’m authenticated, when I view fleet, then only my vehicles appear |
| US-25 | As a Partner, I want to see bookings for my vehicles | Given I access calendar, when I view reservations, then only my vehicle bookings display |
Partners (P1 - Important)
| ID | Story | Acceptance Criteria |
|---|
| US-26 | As a Partner, I want to mark my vehicles temporarily unavailable | Given I set unavailability, when others search, then my vehicle is excluded for those dates |
| US-27 | As a Partner, I want to track earnings from my vehicles | Given I view earnings, when I see totals, then revenue from my fleet displays accurately |
4. Functional Requirements
| ID | Requirement | Priority | Business Rationale |
|---|
| FR-01 | Vehicles must have unique slug identifiers for URL routing | P0 | Enables direct linking and SEO |
| FR-02 | System must support vehicle types: Car, Motorcycle, Van, Bus, Camper, Trailer, Boat, Other | P0 | Covers all rental business models |
| FR-03 | Vehicle brand must come from approved brand catalog matching vehicle type | P0 | Data consistency and searchability |
| FR-04 | Plate numbers must generate warning (not block) if duplicated within tenant | P0 | Catches data entry errors without blocking edge cases |
| FR-05 | Soft deletion must preserve all historical data while excluding from searches | P0 | Regulatory compliance and reporting integrity |
| FR-06 | Real-time availability must consider confirmed orders, maintenance, and tentative requests | P0 | Prevents double-bookings |
| FR-07 | Deleted vehicles must be excluded from availability searches | P0 | Prevents invalid bookings |
| FR-08 | Photos must be stored as ordered arrays supporting vehicle showcase and damage documentation | P0 | Visual vehicle representation |
| FR-09 | Vehicles cannot be deleted if future confirmed orders exist | P0 | Protects committed reservations |
| FR-10 | Reminder system must support time-based (days/hours) and distance-based (kilometers) triggers | P1 | Flexible maintenance scheduling |
| FR-11 | Combined time+distance reminders trigger on whichever threshold is reached first | P1 | Comprehensive maintenance coverage |
| FR-12 | Reminder notifications must support multiple email recipients with configurable warning thresholds | P1 | Ensures maintenance visibility |
| FR-13 | Damage records must capture: description, location, photos, rental lifecycle stage | P1 | Complete damage evidence chain |
| FR-14 | Owned and partner vehicles must be mutually exclusive classifications | P1 | Clear ownership accounting |
| FR-15 | Partner users can only view vehicles explicitly synchronized to them | P1 | Data isolation for marketplace |
| FR-16 | Vehicle economics requires vehicleEconomicsAccess permission and VehicleEconomics feature flag | P1 | Gated premium feature |
| FR-17 | Purchase/lease agreements must track: acquisition type, price, lease terms, included kilometers | P1 | Asset management compliance |
| FR-18 | Vehicle balance ledger must categorize transactions: rent, fuel, repair, insurance, delivery | P1 | Financial reporting accuracy |
| FR-19 | Ownership changes must optionally cascade to update related orders | P1 | Data consistency option |
| FR-20 | Table view must support: inline editing, hover photo preview, alert badges, three-dot menu actions | P2 | Operator efficiency |
| FR-21 | Tab error indicators must highlight validation issues during editing | P2 | Data quality guidance |
| FR-22 | Import functionality restricted to desktop interface | P2 | Complex operations on appropriate devices |
| FR-23 | Billion marketplace metadata must be stored per vehicle for external listing sync | P2 | Marketplace integration |
| FR-24 | CARGOS data fields must be maintained for Italian regulatory compliance | P2 | Regional compliance |
5. Business Rules
| ID | Rule | Business Rationale |
|---|
| BR-01 | Vehicle type must match brand’s vehicle type in catalog | Data integrity |
| BR-02 | VIN must be unique if provided | Prevents duplicate vehicle entries |
| BR-03 | Price, deposit, and kilometer rates must be positive numbers | Financial validity |
| BR-04 | Passenger capacity must be positive integer if provided | Logical constraint |
| BR-05 | Year must be within reasonable range (1900 to current year + 1) | Prevents data entry errors |
| BR-06 | Soft delete always preferred over hard delete | Historical data preservation |
| BR-07 | Maintenance orders block vehicle availability for their duration | Prevents conflicting bookings |
| BR-08 | Confirmed and completed orders block availability for their date ranges | Double-booking prevention |
| BR-09 | Requested (tentative) orders show as “tentatively reserved” status | Customer communication clarity |
| BR-10 | Base price is daily rental rate before seasonal adjustments | Pricing transparency |
| BR-11 | Extra kilometer pricing applies when included allowance is exceeded | Revenue protection |
| BR-12 | Time-based reminders calculate from setup date or last completion | Maintenance scheduling accuracy |
| BR-13 | Distance-based reminders calculate from current odometer reading | Mileage-triggered maintenance |
| BR-14 | Notifications sent at (threshold minus warning period) | Advance notice for planning |
| BR-15 | Billion vehicles require complete metadata for publication | External platform compliance |
| BR-16 | CARGOS data required for Italian regulatory reporting | Legal compliance |
| BR-17 | Vehicle slugs must be URL-safe and unique within tenant | System routing integrity |
| BR-18 | Deleted vehicles flagged in active lease agreements | Asset tracking accuracy |
| BR-19 | ”Equipment/Features” and “Complectations” terminology used instead of “Extra Services” | Brand consistency |
| BR-20 | ”Deactivated vehicles” terminology used instead of “Deleted vehicles” | User-friendly language |
6. Acceptance Criteria
AC-01: Vehicle Creation
Given an Admin with valid brand and model
When they create a vehicle with required fields
Then vehicle name auto-generates as “Brand Model”
And unique slug is created
And vehicle appears in inventory immediately
And creator information is captured for audit
AC-02: Availability Calculation
Given a vehicle with various bookings
When Operator searches availability for a date range
Then confirmed orders block those dates
And maintenance orders block those dates
And requested orders show “tentatively reserved”
And deleted vehicles are excluded
And results return in <5 seconds
AC-03: Damage Documentation
Given an Operator documenting damage
When they add description, location, and photos
Then damage record captures rental lifecycle stage (initial/check-in/check-out)
And photos associate with the damage record
And damage history is preserved and auditable
AC-04: Maintenance Reminders
Given a vehicle with time-based and distance-based reminders
When either threshold is reached (minus warning period)
Then email notifications send to all configured recipients
And reminder status changes to “upcoming”
And exceeding threshold marks reminder as “expired”
And completion records maintenance history with date, cost, and documentation
AC-05: Ownership and Partner Access
Given vehicles marked as owned vs. partner-sourced
When filtering fleet by ownership type
Then correct vehicles appear per filter
And partner users see only synchronized vehicles
And marketplace visibility is independently controllable
And vehicles cannot be both owned and partner simultaneously
AC-06: Soft Deletion Protection
Given a vehicle with future confirmed orders
When Admin attempts to deactivate
Then system blocks deactivation with clear message
And once orders complete or cancel, deactivation succeeds
And deactivated vehicles preserve historical data
And deactivated vehicles excluded from availability searches
AC-07: Economic Tracking
Given a vehicle with purchase/lease agreement
When Admin views vehicle economics
Then acquisition costs display accurately
And income/expense ledger shows categorized transactions
And ROI and utilization metrics calculate correctly
And feature requires appropriate permission and feature flag
AC-08: Search and Filtering
Given an Operator with filtering needs
When they apply multiple filter criteria
Then all filter combinations work correctly
And results paginate for large datasets
And sorting options (name, created, updated) function
And total counts are accurate
And performance is acceptable (<5 seconds)
7. Dependencies
7.1 Depends On
| Dependency | Reason |
|---|
| 01-Multi-Tenant Architecture | Vehicle data is tenant-isolated; all operations scoped by company |
| 02-Authentication & Authorization | Role-based permissions determine vehicle management access |
7.2 Depended By
| Dependent Feature | Integration Point |
|---|
| Orders & Reservations | Vehicle availability drives booking system |
| Pricing Engine | Vehicle base rates and seasonal matrices feed pricing calculations |
| Public Booking Widget | Displays available vehicles and specifications |
| Billion Marketplace | Publishes vehicle listings to external platform |
| Partner Management | Partner vehicles managed through vehicle system |
| Extra Services/Equipment | Vehicle-service associations define available add-ons |
| Office Management | Office-vehicle associations control location-based access |
7.3 External Dependencies
| System | Purpose |
|---|
| Brand Catalog | Shared brand/model database for vehicle identification |
| Firebase Storage | Photo and document storage |
| Seasonal Pricing System | Dynamic pricing based on tariff matrices |
| Billion API | Marketplace listing synchronization |
| CARGOS API | Italian regulatory reporting |
8. Glossary
| Term | Business Definition |
|---|
| Vehicle | A rental asset (car, motorcycle, boat, etc.) available for customer reservations |
| Brand | Manufacturer or make of vehicle (e.g., Toyota, Honda) |
| Model | Specific product line within a brand (e.g., Camry, Accord) |
| Slug | URL-friendly unique identifier for vehicle |
| Soft Delete / Deactivation | Marking vehicle inactive without removing historical data |
| Owned Vehicle | Vehicle owned directly by the rental company |
| Partner Vehicle | Vehicle owned by external partner, listed through marketplace |
| Availability | Whether vehicle is bookable for a date range, considering existing reservations |
| Damage Inventory | Photo-documented vehicle condition at rental lifecycle stages |
| Reminder | Scheduled maintenance notification based on time or mileage |
| Equipment / Features | Optional add-ons associated with vehicle (GPS, child seat, etc.) |
| Seasonal Pricing Matrix | Time-based pricing rules adjusting rates by season/demand |
| Base Price | Default daily rental rate before seasonal adjustments |
| Deposit | Refundable security amount required for rental |
| Franchise | Insurance deductible amount in case of damage |
| Odometer | Vehicle mileage/kilometer reading |
| Vehicle Economics | Financial performance metrics (ROI, utilization, profitability) |
| Kilometer Included | Mileage allowance included in base rental price |
| Marketplace | Platform feature enabling cross-company vehicle rentals |
9. Approval
| Role | Name | Date | Status |
|---|
| Product Owner | | | Pending |
| Engineering Lead | | | Pending |
| Business Stakeholder | | | Pending |
10. Unresolved Questions
- VIN uniqueness enforcement? Currently warning only - should it block for certain vehicle types?
- Partner pricing control? Can partners override marketplace pricing or company-controlled only?
- Reminder escalation path? What happens when maintenance is overdue beyond threshold?
- Damage severity classification? Should damages have severity levels affecting workflow?
- Multi-tenant brand catalog? Should tenants be able to request new brands/models?
- Bulk import validation? What’s acceptable error tolerance for CSV imports (0%? 5%?)