Skip to content

Dynamic Pricing Engine - Product Requirements Document

Version: 2.0 | Status: Draft | Date: 2026-01-15

Change Log:

VersionDateAuthorChanges
1.02026-01-09Product TeamInitial draft
2.02026-01-15Product TeamBusiness-focused conversion: measurable outcomes, success metrics, consolidated requirements

1. Overview

1.1 Purpose

The Dynamic Pricing Engine enables rental companies to configure sophisticated pricing strategies based on rental duration, seasonal demand, distance allowances, and vehicle categories. It automatically calculates accurate rental prices by combining multiple tariff matrices, applying percentage-based adjustments, and handling distance-based charges to maximize revenue while maintaining pricing consistency.

1.2 Business Value

Value AreaMeasurable OutcomeBaseline SourceTimeframe
Revenue OptimizationIncrease average revenue per rental by 8-12% through demand-based pricingCurrent rental revenue analytics6 months
Improved UtilizationAchieve 10-15 percentage point improvement in fleet utilization through duration discountsMonthly availability reports6 months
Pricing AccuracyReduce pricing errors and disputes by 90% through automated calculationsCurrent support ticket data3 months
Operational EfficiencySave 5+ hours/week in manual pricing calculations per locationTime study with operators3 months
Faster QuotingReduce quote generation time from 5 minutes to under 10 secondsOperator workflow studiesImmediate
Market ResponsivenessEnable same-day pricing adjustments (vs. current weekly batch updates)Pricing change audit trailImmediate

1.3 Target Users

  • Tenant Admins: Business managers who set pricing strategy and configure tariff rules
  • Operators: Front-line staff who create quotes, process reservations, and explain pricing to customers
  • Customers (via Widget): End users receiving quotes through booking websites who need transparent, accurate pricing
  • Finance Teams: Stakeholders reviewing revenue reports and pricing effectiveness

1.4 Scope

In Scope:

  • Duration-based pricing tiers (volume discounts for longer rentals)
  • Seasonal pricing adjustments (demand-based surcharges and discounts)
  • Per-vehicle and category-level pricing configuration
  • Distance-based pricing (included km, unlimited options, overage charges)
  • Price preview and testing capabilities
  • Marketplace and widget commission/markup calculations
  • Extra services pricing integration

Out of Scope:

  • Hourly rentals (planned future enhancement)
  • Real-time surge pricing based on demand signals
  • Competitor price monitoring and automatic adjustments
  • Customer-specific or loyalty-based pricing
  • Multi-currency pricing
  • Promotional codes and coupons (handled by separate system)

2. Success Metrics

MetricDefinitionBaselineTargetMeasurement MethodReview Frequency
Revenue per RentalAverage total price per completed rentalCurrent average+8-12%Financial reporting systemMonthly
Fleet Utilization Rate(Rented days / Available days) × 10060% typical+10-15 ppAvailability snapshotsMonthly
Pricing DisputesSupport tickets related to pricing errors or confusionCurrent volume-90%Help desk categorizationMonthly
Quote Generation TimeTime from date selection to price display5 min (manual)<10 secOperator time studiesQuarterly
Pricing AccuracyPercentage of invoices requiring correctionCurrent rate<1%Invoice audit trailMonthly
Widget Conversion RateQuotes started vs. bookings completedCurrent rate+5-10 ppWidget analyticsMonthly
Seasonal Revenue CaptureRevenue increase during high-demand periodsFlat pricing baseline+15-25%Period-over-period comparisonSeasonal
Long-term Rental SharePercentage of rentals 7+ daysCurrent share+5 ppBooking duration analysisQuarterly

3. User Stories

Tenant Admin Stories

PriorityUser StoryAcceptance Criteria
P0As a tenant admin, I want to configure duration-based pricing tiers so that I can offer discounts for longer rentals and improve utilization- Can define tiers (e.g., 1-3 days, 4-7 days, 8+ days) with price multipliers
- Preview shows calculated prices for sample durations
- Changes apply to new quotes immediately
P0As a tenant admin, I want to set seasonal surcharges and discounts so that I can capture demand fluctuations without manual price updates- Can specify date ranges with percentage adjustments
- Multiple seasons can overlap and stack
- Can apply seasons to individual vehicles or entire fleet
P0As a tenant admin, I want to define base daily rates and distance allowances per vehicle so that pricing reflects vehicle value and usage patterns- Can set daily rate, included km/day, and extra km charge per vehicle
- Category defaults with per-vehicle overrides supported
P1As a tenant admin, I want to configure unlimited kilometer options for specific duration ranges so that I can offer attractive all-inclusive packages- Can flag specific duration tiers as unlimited
- Unlimited flag overrides all distance calculations
P1As a tenant admin, I want to preview calculated prices before applying tariff changes so that I can verify pricing accuracy and avoid errors- Preview calculator shows sample prices for date ranges
- Shows breakdown of all adjustments applied
P2As a tenant admin, I want to configure price rounding rules so that quotes appear professional and meet local conventions- Can set rounding increment (e.g., nearest 5, 10)
- Can choose round up or round down

Operator Stories

PriorityUser StoryAcceptance Criteria
P0As an operator, I want prices to calculate automatically when I select dates and vehicles so that I can provide instant quotes- Price appears within 1 second of date/vehicle selection
- No manual calculation required
P0As an operator, I want to see price breakdowns so that I can explain charges to customers- Shows base rate, duration adjustment, seasonal adjustment, extras, delivery
- Identifies which tariff tier applies
P0As an operator, I want distance charges calculated automatically at return so that billing is accurate- System calculates overage based on actual vs. included km
- Extra charges added to final invoice
P1As an operator, I want to test different date ranges to show pricing options so that I can help customers find the best value- Can modify dates and see updated pricing instantly
- Easy comparison of different duration options

Customer Stories (via Widget)

PriorityUser StoryAcceptance Criteria
P0As a customer, I want to see total rental price immediately after selecting dates so that I can make informed booking decisions- Price displays within 500ms of date selection
- Total price clearly visible with breakdown available
P0As a customer, I want pricing to remain stable once quoted so that I’m not surprised at checkout- Quoted price locks for session duration
- Any changes require new quote
P1As a customer, I want to see distance allowances clearly stated so that I can plan trips appropriately- Daily km allowance and excess charge displayed
- Unlimited options clearly indicated

4. Functional Requirements

IDRequirementPriorityBusiness Rationale
FR-001System must support duration-based pricing tiers with configurable day rangesP0Enables volume discounts to incentivize longer rentals
FR-002System must automatically select the appropriate pricing tier based on reservation durationP0Eliminates manual tier selection errors
FR-003System must support seasonal pricing adjustments with date ranges and percentage modifiersP0Captures demand fluctuations automatically
FR-004Multiple overlapping seasonal adjustments must combine additivelyP0Supports marketplace/widget markup stacking
FR-005System must calculate included kilometers based on duration and tier settingsP0Ensures accurate distance allowance calculation
FR-006System must calculate extra kilometer charges for overage at vehicle returnP0Enables fair usage-based billing
FR-007System must support unlimited kilometer options for specified duration tiersP1Enables all-inclusive package offerings
FR-008System must fall back to vehicle base parameters when no tariff matrix is definedP1Ensures pricing works without complex configuration
FR-009System must support both calendar-day and hourly-based day calculationsP1Accommodates different business models
FR-010System must calculate total price including vehicle, extras, delivery, and feesP0Provides complete quote to customers
FR-011System must apply commission and overprice percentages for marketplace/widget ordersP0Enables partner revenue sharing
FR-012System must support price rounding rules configurable per tenantP2Supports local pricing conventions
FR-013System must handle extra services as one-time or per-day chargesP1Integrates add-on services into pricing
FR-014System must complete price calculations within 100ms (90th percentile)P0Ensures responsive user experience
FR-015Widget price requests must respond within 500msP0Maintains booking form responsiveness
FR-016System must handle edge cases (partial days, same-day returns) gracefullyP1Prevents pricing errors and disputes
FR-017System must provide detailed price breakdowns for transparencyP0Builds customer trust and reduces disputes

5. Acceptance Criteria

AC-001: Duration-Based Pricing

Given a vehicle configured with tariff tiers: 1-3 days (×1.2), 4-7 days (×1.0), 8+ days (×0.85) When an operator creates a 5-day reservation Then the system applies the 4-7 day tier at standard rate And the price breakdown shows the applied tier

AC-002: Seasonal Adjustment Application

Given a vehicle with $100/day base rate and “Summer” season (+20%) from June 1 to August 31 When a 3-day reservation is created for June 15-17 Then the daily rate is $120 ($100 + 20%) And the total vehicle charge is $360

AC-003: Stacking Multiple Seasons

Given a vehicle with $100/day base rate And “High Demand” season at +15% And “Widget Fee” season at +10% When both seasons overlap the reservation dates Then the combined adjustment is +25% ($125/day) And the breakdown shows each adjustment separately

AC-004: Distance Overage Calculation

Given a vehicle with 200 km/day allowance and $0.50/km overage And a 5-day reservation (1,000 km included) When the vehicle returns with 1,500 km driven Then extra km charge is 500 km × $0.50 = $250 And the charge is added to the final invoice

AC-005: Unlimited Kilometers Override

Given a tariff tier (8+ days) with unlimited kilometers enabled When a 10-day reservation is created Then no distance tracking or overage charges apply And the pricing clearly indicates “unlimited kilometers”

AC-006: Instant Price Calculation

Given an operator selecting dates and a vehicle When the reservation form is populated Then the calculated price appears within 1 second And no manual calculation steps are required

AC-007: Widget Response Time

Given an external widget requesting price calculation When the API receives a valid request Then the response returns within 500ms And includes the complete price with commission/overprice applied

AC-008: Price Breakdown Transparency

Given a completed price calculation When the operator or customer views the quote Then the breakdown shows: base rate, duration adjustment, seasonal adjustments, extras, delivery, and total And each line item is clearly labeled

AC-009: Graceful Fallback

Given a vehicle with no tariff matrix configured When a reservation is created Then the system uses the vehicle’s base daily rate, km allowance, and overage rate And pricing completes without error

AC-010: Edge Case Handling

Given reservation dates that cross midnight or result in partial days When the system calculates the rental duration Then the calculation follows the configured tariffication variant rules And produces a reasonable result (minimum 1 day)


6. Business Rules

BR-001: Tariff Tier Selection

The system selects the pricing tier where the rental duration falls within the tier’s day range. If duration exceeds all tiers, use the highest tier. If below all tiers, use the lowest tier.

BR-002: Seasonal Adjustment Stacking

All seasonal adjustments overlapping a rental day combine additively. Widget/marketplace fees are implemented as unbounded seasonal entries for consistent calculation.

BR-003: Distance Calculation

Included kilometers = daily allowance × rental days. Extra kilometers charged only when actual exceeds included. Unlimited kilometer flag overrides all distance calculations.

BR-004: Total Price Components

Total = Vehicle charge + Extra services + Delivery + Expenses + Distance overage + Commission/Overprice adjustments

BR-005: Calculation Consistency

Pricing logic must produce identical results whether called from UI, API, or batch processes to prevent quote/invoice discrepancies.

BR-006: Error Handling

Invalid inputs (missing dates, negative values) return zero with error logging. System never displays NaN, Infinity, or negative prices to users.


7. Dependencies

Upstream Dependencies

SystemDependencyImpact if Unavailable
Multi-tenant (01)Tariff configurations scoped by tenantPricing rules not isolated
Vehicles (03)Base pricing parametersCannot calculate prices
SettingsGlobal defaults (buffer time, rounding)Falls back to hardcoded defaults

Downstream Dependents

SystemUsageImpact of Changes
Orders (06)Total price calculationInvoice amounts
Widget (12)Quote generationCustomer-facing prices
Extras (08)Service pricing integrationAdd-on charges
MarketplaceCommission calculationsPartner revenue
ReportingRevenue analyticsFinancial reporting

8. Non-Functional Requirements

RequirementTargetMeasurement
Price calculation latency<100ms (P90)API monitoring
Widget API response time<500msAPI monitoring
System availability99.9%Uptime monitoring
Calculation accuracy100% (no rounding errors)Automated test suite
Concurrent calculations100+ requests/secondLoad testing

9. Glossary

TermDefinition
Duration TierA pricing bracket based on rental length (e.g., 1-3 days, 4-7 days) with associated price multiplier
Price CoefficientMultiplier applied to base rate (e.g., 0.85 = 15% discount)
Seasonal AdjustmentPercentage markup or discount applied during specific date ranges
Base Km/DayDaily kilometer allowance included in the rental price
Extra Km PricePer-kilometer charge for distance exceeding the allowance
Unlimited KilometersOption removing all distance restrictions and overage charges
CommissionPercentage of rental price retained by marketplace (included in quoted price)
OverpricePercentage markup added to price for widget/partner bookings
Tariffication VariantMethod for calculating rental days: calendar-based or hourly-based