Version: 2.0 | Status: Ready for Review | Last Updated: January 2026
Change Log
| Version | Date | Author | Changes |
|---|
| 2.0 | Jan 2026 | Product Team | Converted to business-focused format with measurable outcomes |
| 1.0 | - | - | Initial technical draft |
1. Overview
1.1 Purpose
The Calendar/Scheduling feature provides a visual timeline interface for managing vehicle reservations and fleet availability in Toprent.app. It enables rental operators to quickly assess fleet capacity, identify booking opportunities, and coordinate logistics through an intuitive visual interface.
1.2 Problem Statement
Rental operators need to quickly assess fleet availability across multiple vehicles and time periods. Traditional list-based reservation views create operational inefficiencies:
- Availability checks take too long - staff spend 3-5 minutes per inquiry checking individual vehicle records
- Double-bookings occur - without visual overlap detection, scheduling conflicts slip through
- Revenue gaps go unnoticed - availability gaps between bookings aren’t easily identified
- Logistics coordination is fragmented - courier assignments require cross-referencing multiple screens
- Large fleets are hard to navigate - finding specific vehicles requires tedious scrolling through lists
1.3 Business Value
| Value Area | Current State | Target Outcome | Measurement |
|---|
| Availability Check Speed | 3-5 minutes per inquiry via list views | <10 seconds per visual scan | Time studies, user analytics |
| Double-Booking Prevention | 2-3 conflicts per month requiring manual resolution | Zero scheduling conflicts | Incident tracking, support tickets |
| Fleet Utilization Visibility | Unknown gaps, reactive booking | Proactive identification of 15%+ more booking opportunities | Gap analysis reports |
| Logistics Coordination | 5+ minutes to identify courier needs | Instant visual identification | Workflow time studies |
| Vehicle Location Speed | 30-60 seconds to find specific vehicle | <5 seconds via search | Search analytics |
1.4 Target Users
| Role | Primary Use Case | Business Impact |
|---|
| Operator | Day-to-day fleet scheduling, availability checking, reservation management | Direct revenue impact through efficient booking |
| Admin | Cross-company oversight, capacity planning, conflict resolution | Operational visibility and strategic planning |
| Partner | Monitoring vehicle utilization, tracking rental activity | Partnership satisfaction and retention |
2. Success Metrics
2.1 Primary Metrics
| Metric | Definition | Baseline | Target | Timeframe | Measurement Method |
|---|
| Availability Check Time | Average time to confirm vehicle availability | 3-5 min | <10 sec | 3 months | User session analytics |
| Double-Booking Incidents | Scheduling conflicts requiring manual intervention | 2-3/month | 0 | 3 months | Support ticket analysis |
| Calendar Adoption Rate | % of availability checks done via calendar vs list view | 0% | 80% | 6 months | Feature usage analytics |
| Booking Gap Identification | % of 2+ day gaps proactively identified | Unknown | 90% visibility | 3 months | Gap report analysis |
2.2 Secondary Metrics
| Metric | Definition | Baseline | Target | Timeframe | Measurement Method |
|---|
| Page Load Performance | Time to render initial calendar view | N/A | <2 sec | Launch | Performance monitoring |
| Partner Calendar Usage | % of partners using calendar weekly | N/A | 60% | 6 months | User analytics |
| Search Success Rate | % of searches returning desired vehicle | N/A | 95% | 3 months | Search analytics |
| Mobile Calendar Usage | % of calendar sessions on mobile | N/A | 25% | 6 months | Device analytics |
2.3 Measurement Framework
- Baseline Period: 30-day pre-implementation measurement
- Data Sources: Application analytics, support ticket system, user surveys
- Review Cadence: Monthly metric review for first 6 months
3. User Stories
3.1 Core Functionality (P0 - Must Have)
US-01: Visual Fleet Overview
- As an operator, I can view all vehicle reservations in a visual timeline so that I can assess fleet availability in seconds instead of minutes
- Acceptance Criteria:
- Given I access the calendar, when it loads, then I see all vehicles as rows with reservation bars spanning their duration
- Given I view the calendar, when I scan it, then I can identify availability within 10 seconds
- Given reservations have different statuses, when displayed, then they use distinct colors (green=confirmed, yellow=requested, red=canceled)
US-02: Time Period Navigation
- As an operator, I can switch between day, week, and month views so that I can plan across different time horizons
- Acceptance Criteria:
- Given I am in month view, when I switch to week view, then the calendar shows 7-8 days with proportionally sized reservation bars
- Given I am viewing a past period, when I click “Today”, then the calendar centers on the current date
US-03: Fleet Filtering
- As an operator, I can filter by own/partner/all vehicles so that I can focus on relevant fleet segments
- Acceptance Criteria:
- Given I select “Own” filter, when applied, then only company-owned vehicles display
- Given I select “Partners” filter, when applied, then I can optionally filter to a specific partner
US-04: Vehicle Search
- As an operator, I can search by model or license plate so that I can locate vehicles in <5 seconds
- Acceptance Criteria:
- Given I have 50+ vehicles, when I search “Fiat 500”, then matching vehicles display immediately
- Given I search by partial plate number, when submitted, then matching vehicles filter correctly
US-05: Reservation Details Access
- As an operator, I can click reservation bars to view and edit details so that I can manage bookings without leaving the calendar
- Acceptance Criteria:
- Given I click a reservation bar, when the popover opens, then I see customer, dates, and status information
- Given I hover over a reservation, when the tooltip appears, then I see key details without clicking
3.2 Operational Efficiency (P1 - Should Have)
US-06: Ongoing Rental Identification
- As an operator, I can see visual indicators for active rentals so that I know which vehicles are currently with customers
- Acceptance Criteria:
- Given a vehicle is currently rented, when displayed, then the reservation bar has a distinct visual indicator (purple border)
US-07: Courier Assignment Visibility
- As an operator, I can identify courier assignments from calendar icons so that I can coordinate logistics at a glance
- Acceptance Criteria:
- Given a delivery courier is assigned, when I view the reservation, then I see an indicator on the left side
- Given a collection courier is assigned, when I view the reservation, then I see an indicator on the right side
US-08: View Mode Toggle
- As an operator, I can toggle between “Reservations” and “Vehicles” views so that I can either focus on active bookings or see entire fleet capacity
- Acceptance Criteria:
- Given I select “Reservations” view, when applied, then only vehicles with bookings in the current period display
- Given I select “Vehicles” view, when applied, then all active fleet vehicles display
US-09: Partner Source Tracking
- As an operator, I can identify partner-sourced customers visually so that I can track partnership contribution
- Acceptance Criteria:
- Given a customer came through a partner, when I view their reservation, then I see a colored indicator matching the partner’s color
3.3 Partner Experience (P1 - Should Have)
US-10: Partner Calendar Access
- As a partner, I can view reservations for my vehicles in a simplified interface so that I can monitor my fleet utilization
- Acceptance Criteria:
- Given I am logged in as a partner, when I access the calendar, then I see only my vehicles
- Given I am a partner, when I view the calendar, then complex controls (fleet filter, view toggle) are hidden
3.4 Administrative (P2 - Nice to Have)
US-11: Cross-Company Oversight
- As an admin, I can view calendars across different companies so that I can provide oversight and support
- Acceptance Criteria:
- Given I am an admin, when I access the calendar, then I can view and navigate across all companies in my tenant
US-12: Direct Reservation Creation
- As an operator, I can create reservations directly from calendar cells so that I can quickly fill availability gaps
- Acceptance Criteria:
- Given I click an empty calendar cell, when the creation flow opens, then vehicle and date are pre-filled
4. Functional Requirements
4.1 Calendar Display
| ID | Requirement | Business Rationale |
|---|
| FR-01 | Display vehicles as rows with horizontal reservation bars spanning rental duration | Enables visual scanning of fleet availability |
| FR-02 | Color-code reservations by status (green=confirmed, yellow=requested, red=canceled) | Allows instant status recognition without clicking |
| FR-03 | Visually distinguish ongoing rentals (current time within rental period) | Identifies vehicles currently unavailable |
| FR-04 | Show pickup location/time and return location/time on reservation bars | Provides key logistics info at a glance |
| FR-05 | Display courier assignment indicators on reservation bars | Enables logistics coordination without additional clicks |
| FR-06 | Show partner-sourced customer indicators using partner’s color | Tracks partnership contribution visually |
4.2 Navigation & Filtering
| ID | Requirement | Business Rationale |
|---|
| FR-07 | Support day, week, and month time period views | Accommodates different planning horizons |
| FR-08 | Provide navigation arrows and “Today” button | Enables quick navigation across time periods |
| FR-09 | Filter by fleet type: Own, Partners, or All vehicles | Focuses view on relevant vehicle segments |
| FR-10 | Search vehicles by model name or license plate | Enables rapid vehicle location in large fleets |
| FR-11 | Toggle between “Reservations” view (vehicles with bookings) and “Vehicles” view (entire fleet) | Supports different operational workflows |
| ID | Requirement | Business Rationale |
|---|
| FR-12 | Load vehicles progressively with automatic pagination | Ensures fast initial load regardless of fleet size |
| FR-13 | Maintain calendar state during navigation session | Reduces repeated filter/search actions |
| FR-14 | Calculate reservation bar positions and widths accurately across views | Ensures visual accuracy for scheduling decisions |
| FR-15 | Filter reservations to only those overlapping current view period | Optimizes display relevance |
4.4 Interaction & Access
| ID | Requirement | Business Rationale |
|---|
| FR-16 | Open reservation details on bar click | Enables quick access to full booking information |
| FR-17 | Display tooltip with key details on hover | Provides information without navigation |
| FR-18 | Support reservation creation from calendar | Streamlines booking workflow |
| FR-19 | Restrict calendar access based on user permissions | Maintains appropriate access control |
| FR-20 | Simplify interface for partner users (hide advanced controls) | Improves partner user experience |
4.5 Optional Integration
| ID | Requirement | Business Rationale |
|---|
| FR-21 | Support synchronization to user’s Google Calendar (when enabled) | Integrates with personal scheduling tools |
5. Acceptance Criteria
AC-01: Visual Timeline Display
- Given I am an authorized user viewing the calendar
- When the calendar loads
- Then I see vehicles as rows with colored reservation bars
- And I can identify fleet availability within 10 seconds
- Measure: User can verbally confirm availability status within time limit
AC-02: Time Period Switching
- Given I am viewing the calendar
- When I switch between day/week/month views
- Then reservation bars resize proportionally to the new time scale
- And navigation updates to reflect the new period
- Measure: View switches complete within 1 second
AC-03: Fleet Type Filtering
- Given I have both owned and partner vehicles
- When I apply fleet type filters
- Then only matching vehicles display
- And partner selector appears when “Partners” is selected
- Measure: Filter applies within 500ms
AC-04: Vehicle Search
- Given I have a fleet of 50+ vehicles
- When I search by model or plate number
- Then matching vehicles display within 1 second
- And search works with partial matches
- Measure: 95% of searches return expected results
AC-05: Reservation Interaction
- Given I view a reservation on the calendar
- When I hover, then I see a tooltip with key information
- When I click, then I see full details in a popover
- Measure: Tooltip appears within 200ms, popover within 500ms
AC-06: Partner User Experience
- Given I am logged in as a partner
- When I access the calendar
- Then I see only my vehicles with a simplified interface
- And fleet type and view mode controls are hidden
- Measure: Partner can view their calendar without confusion
- Given I have 100+ vehicles in my fleet
- When the calendar loads
- Then initial view renders within 2 seconds
- And additional vehicles load automatically on scroll
- Measure: Performance monitoring confirms load times
AC-08: Mobile Responsiveness
- Given I am viewing the calendar on a mobile device
- When the page renders
- Then interface adapts appropriately for smaller screens
- And all core functionality remains accessible
- Measure: Mobile usability testing confirms accessibility
6. Business Rules
BR-01: Status Color Mapping
| Status | Color | Visual Treatment |
|---|
| Confirmed | Green | Full height bar |
| Requested | Yellow/Orange | Collapsed bar, expands on hover |
| Canceled | Red | Collapsed bar, expands on hover |
| Ongoing (active rental) | Purple border | Additional visual indicator |
BR-02: Default Calendar Settings
- Default time period: Month view
- Default fleet type: Based on company settings
- Default view mode: Vehicles (Partners always see this mode)
BR-03: Partner Access Restrictions
- Partners see only their vehicles
- Partners cannot change fleet type or view mode filters
- Partners have read-only calendar access
BR-04: Vehicle Visibility Rules
- “Reservations” view: Includes deleted vehicles if they have active reservations
- “Vehicles” view: Excludes deleted vehicles by default
BR-05: Search Behavior
- Searches match on vehicle model name and license plate
- Search supports partial matching
- Applying search clears fleet type filters
- Initial load: First batch of vehicles
- Additional vehicles load automatically on scroll
- Ensures fast initial render regardless of fleet size
7. Dependencies
7.1 Internal Dependencies
| Dependency | Relationship | Impact if Unavailable |
|---|
| Order/Reservation System | Provides reservation data and statuses | Cannot display bookings |
| Vehicle Management | Provides vehicle data and ownership flags | Cannot display fleet |
| Partner Management | Provides partner colors and relationships | Cannot show partner indicators |
| Authentication/Authorization | Provides permission checking | Cannot enforce access control |
7.2 External Dependencies
| Dependency | Purpose | Fallback |
|---|
| Google Calendar API | Optional sync feature | Feature disabled if unavailable |
| Search Infrastructure | Vehicle search | Degraded search experience |
8. Non-Functional Requirements
| Requirement | Target | Measurement |
|---|
| Initial page load | <2 seconds | Performance monitoring |
| Filter/search response | <500ms | User analytics |
| Pagination load | <1 second | Performance monitoring |
8.2 Scalability
| Requirement | Target |
|---|
| Vehicle count | Support 500+ vehicles per company |
| Concurrent users | Support 50+ simultaneous calendar users |
8.3 Availability
| Requirement | Target |
|---|
| Uptime | 99.5% availability during business hours |
| Error recovery | Graceful degradation with clear user messaging |
9. Future Enhancements (Out of Scope)
The following features are not included in the current scope but may be considered for future iterations based on business value:
- Drag-and-drop reservation editing
- Multi-vehicle selection for bulk operations
- Calendar export capabilities
- Utilization heatmap overlay
- Recurring reservation templates
10. Glossary
| Term | Definition |
|---|
| Calendar Type | View mode: “Reservations” (vehicles with bookings) or “Vehicles” (entire fleet) |
| Fleet Type | Ownership filter: Own, Partners, or All |
| Period | Time scale: Day, Week, or Month view |
| Reservation Bar | Visual block representing a booking on the timeline |
| Ongoing Rental | Reservation currently in progress |
| Partner Customer | Customer who came through a partner referral |