Skip to content

Calendar/Scheduling Feature - Product Requirements Document

Version: 2.0 | Status: Ready for Review | Last Updated: January 2026

Change Log

VersionDateAuthorChanges
2.0Jan 2026Product TeamConverted 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 AreaCurrent StateTarget OutcomeMeasurement
Availability Check Speed3-5 minutes per inquiry via list views<10 seconds per visual scanTime studies, user analytics
Double-Booking Prevention2-3 conflicts per month requiring manual resolutionZero scheduling conflictsIncident tracking, support tickets
Fleet Utilization VisibilityUnknown gaps, reactive bookingProactive identification of 15%+ more booking opportunitiesGap analysis reports
Logistics Coordination5+ minutes to identify courier needsInstant visual identificationWorkflow time studies
Vehicle Location Speed30-60 seconds to find specific vehicle<5 seconds via searchSearch analytics

1.4 Target Users

RolePrimary Use CaseBusiness Impact
OperatorDay-to-day fleet scheduling, availability checking, reservation managementDirect revenue impact through efficient booking
AdminCross-company oversight, capacity planning, conflict resolutionOperational visibility and strategic planning
PartnerMonitoring vehicle utilization, tracking rental activityPartnership satisfaction and retention

2. Success Metrics

2.1 Primary Metrics

MetricDefinitionBaselineTargetTimeframeMeasurement Method
Availability Check TimeAverage time to confirm vehicle availability3-5 min<10 sec3 monthsUser session analytics
Double-Booking IncidentsScheduling conflicts requiring manual intervention2-3/month03 monthsSupport ticket analysis
Calendar Adoption Rate% of availability checks done via calendar vs list view0%80%6 monthsFeature usage analytics
Booking Gap Identification% of 2+ day gaps proactively identifiedUnknown90% visibility3 monthsGap report analysis

2.2 Secondary Metrics

MetricDefinitionBaselineTargetTimeframeMeasurement Method
Page Load PerformanceTime to render initial calendar viewN/A<2 secLaunchPerformance monitoring
Partner Calendar Usage% of partners using calendar weeklyN/A60%6 monthsUser analytics
Search Success Rate% of searches returning desired vehicleN/A95%3 monthsSearch analytics
Mobile Calendar Usage% of calendar sessions on mobileN/A25%6 monthsDevice 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

IDRequirementBusiness Rationale
FR-01Display vehicles as rows with horizontal reservation bars spanning rental durationEnables visual scanning of fleet availability
FR-02Color-code reservations by status (green=confirmed, yellow=requested, red=canceled)Allows instant status recognition without clicking
FR-03Visually distinguish ongoing rentals (current time within rental period)Identifies vehicles currently unavailable
FR-04Show pickup location/time and return location/time on reservation barsProvides key logistics info at a glance
FR-05Display courier assignment indicators on reservation barsEnables logistics coordination without additional clicks
FR-06Show partner-sourced customer indicators using partner’s colorTracks partnership contribution visually

4.2 Navigation & Filtering

IDRequirementBusiness Rationale
FR-07Support day, week, and month time period viewsAccommodates different planning horizons
FR-08Provide navigation arrows and “Today” buttonEnables quick navigation across time periods
FR-09Filter by fleet type: Own, Partners, or All vehiclesFocuses view on relevant vehicle segments
FR-10Search vehicles by model name or license plateEnables rapid vehicle location in large fleets
FR-11Toggle between “Reservations” view (vehicles with bookings) and “Vehicles” view (entire fleet)Supports different operational workflows

4.3 Data & Performance

IDRequirementBusiness Rationale
FR-12Load vehicles progressively with automatic paginationEnsures fast initial load regardless of fleet size
FR-13Maintain calendar state during navigation sessionReduces repeated filter/search actions
FR-14Calculate reservation bar positions and widths accurately across viewsEnsures visual accuracy for scheduling decisions
FR-15Filter reservations to only those overlapping current view periodOptimizes display relevance

4.4 Interaction & Access

IDRequirementBusiness Rationale
FR-16Open reservation details on bar clickEnables quick access to full booking information
FR-17Display tooltip with key details on hoverProvides information without navigation
FR-18Support reservation creation from calendarStreamlines booking workflow
FR-19Restrict calendar access based on user permissionsMaintains appropriate access control
FR-20Simplify interface for partner users (hide advanced controls)Improves partner user experience

4.5 Optional Integration

IDRequirementBusiness Rationale
FR-21Support 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
  • 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

AC-07: Performance Under Load

  • 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

StatusColorVisual Treatment
ConfirmedGreenFull height bar
RequestedYellow/OrangeCollapsed bar, expands on hover
CanceledRedCollapsed bar, expands on hover
Ongoing (active rental)Purple borderAdditional 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

BR-06: Pagination

  • 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

DependencyRelationshipImpact if Unavailable
Order/Reservation SystemProvides reservation data and statusesCannot display bookings
Vehicle ManagementProvides vehicle data and ownership flagsCannot display fleet
Partner ManagementProvides partner colors and relationshipsCannot show partner indicators
Authentication/AuthorizationProvides permission checkingCannot enforce access control

7.2 External Dependencies

DependencyPurposeFallback
Google Calendar APIOptional sync featureFeature disabled if unavailable
Search InfrastructureVehicle searchDegraded search experience

8. Non-Functional Requirements

8.1 Performance

RequirementTargetMeasurement
Initial page load<2 secondsPerformance monitoring
Filter/search response<500msUser analytics
Pagination load<1 secondPerformance monitoring

8.2 Scalability

RequirementTarget
Vehicle countSupport 500+ vehicles per company
Concurrent usersSupport 50+ simultaneous calendar users

8.3 Availability

RequirementTarget
Uptime99.5% availability during business hours
Error recoveryGraceful 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

TermDefinition
Calendar TypeView mode: “Reservations” (vehicles with bookings) or “Vehicles” (entire fleet)
Fleet TypeOwnership filter: Own, Partners, or All
PeriodTime scale: Day, Week, or Month view
Reservation BarVisual block representing a booking on the timeline
Ongoing RentalReservation currently in progress
Partner CustomerCustomer who came through a partner referral