Bid Pricing Breakdown
How the platform calculates your bid total from individual cost components for commercial and shuttle trips.
Internal currency storage
All values are stored internally in USD and km. If you prefer CAD or miles, amounts are converted at submission time using the live exchange rate. The original currency, unit, and exchange rate are stored so values can be reverse-converted for display.
Commercial (Charter) Trip Formula
Line Items Total = Σ (pricePerVehicle × vehicleCount) per vehicle type
Deadhead Cost = deadheadDistance × deadheadRate
(or manual flat override)
Extra Hours Cost = extraHours × extraHoursRate
(or manual flat override)
Fuel Surcharge Base = Line Items Total + Deadhead Cost + Extra Hours Cost
Fuel Surcharge = Fuel Surcharge Base × fuelSurchargePercent / 100
(or manual flat override)
Tolls / Parking = flat amount (optional)
Custom Add-ons = Σ addonAmount (flat amounts only)
──────────────────────────────────────────────────────
Pre-tax Subtotal = Line Items Total + Deadhead Cost + Extra Hours Cost
- Fuel Surcharge + Tolls/Parking + Custom Add-ons
Tax = Pre-tax Subtotal × taxPercentage / 100
(or taxAmountPerCoach — flat per vehicle)
──────────────────────────────────────────────────────
Final Quote = Pre-tax Subtotal + Tax
Component Reference
Line Items Total — Core revenue. Sum of per-vehicle prices × quantities for each vehicle type you commit to (e.g., 2 coaches at $3,000 each + 1 minibus at $1,500 = $7,500).
Deadhead Cost — Empty-leg drive from your depot to the pickup location. The platform auto-calculates distance from your registered depot. You can override the calculated cost with a flat amount. Three values are stored: distance, rate, and final cost.
Extra Hours Cost — Time beyond the scheduled trip window. Same pattern as deadhead — calculated from hours × rate, or enter a flat override amount.
Fuel Surcharge — Percentage applied to the sum of line items, deadhead, and extra hours. Tolls and add-ons are excluded from this base. Can be overridden with a flat amount.
Tolls / Parking — Optional flat amount. Can be toggled on or off in the bid form.
Custom Add-ons — Each add-on has a name and a flat dollar amount. Percentage-based and per-km add-ons do not exist — all add-ons are flat values.
Tax — Either a percentage of the pre-tax subtotal, or a flat per-coach amount. Controlled by the taxIncluded flag on your pricing config.
Instant Quote Formula (Auto-Pricing)
When the system generates a quote from your pricing config, a more detailed algorithm applies:
- baseHours = routeDuration (seconds → hours)
- baseKm = routeDistance (meters → km)
- kmBasedCharge = cumulative tiered mileage bands
- hourBasedCharge = cumulative tiered hour bands
- dailyCharge = dailyRate × tripDays
- baseTripCharge = MAX(hourBasedCharge, kmBasedCharge, dailyCharge)
- effectiveDeadhead = max(0, deadheadKm − freeDeadheadAllowance)
deadheadCost = min(effectiveDeadhead × deadheadRate, deadheadCap)
- fuelSurcharge = baseTripCharge × fuelPercent / 100
- extraHoursCost = (baseHours − threshold) × overtimeRate [if over]
- overnightCost = overnightRate × nights
- customAddons = taxable + non-taxable + additionalDriverCharge
- peakMultiplier applied to baseTripCharge (if peak season departure)
- tripTypeAdjustment (one-way / round-trip percentage)
- gratuity = (baseTripCharge + deadheadCost) × gratuityPercent / 100
- subtotal = all components summed
- taxAmount = (subtotal − nonTaxableAddons) × taxPercent / 100
- vehicleQuoteAmount = subtotal + taxAmount
- finalQuoteAmount = vehicleQuoteAmount × vehicleCount
Key differences from a manual bid: tiered mileage/hour bands, free deadhead allowance, deadhead cap, peak season multiplier, trip-type adjustment, overnight cost, gratuity, and per-vehicle multiplication at the final step.
Shuttle Run Formula
For each shift, for each vehicle type:
extraKm = max(0, shiftKm − includedKmPerShift)
extraKmCharge = extraKm × extraKmRate
extraHrs = max(0, shiftHours − includedHoursPerShift)
extraHrCharge = extraHrs × extraHourRate
extraStops = max(0, actualStops − freeStopsIncluded)
extraStopCharge = extraStops × extraStopChargePerStop
allowance = shift-type allowance (morning/evening/night/general)
surcharge = nightSurchargePerDay [night shifts only]
perVehicleCost = basePricePerShift + extraKmCharge + extraHrCharge
- extraStopCharge + allowance + surcharge
vehicleShiftCost = perVehicleCost × vehicleCount
shiftTotal = Σ vehicleShiftCosts
dailyTotal = Σ shiftTotals
──────────────────────────────────────────────────────
If weekendMultiplier > 1 and weekendDays > 0:
contractSubtotal = (dailyTotal × weekdayDays)
- (dailyTotal × weekendMultiplier × weekendDays)
Else:
contractSubtotal = dailyTotal × workingDays
──────────────────────────────────────────────────────
Tax = contractSubtotal × taxPercent / 100
Final Quote = contractSubtotal + Tax
Component Reference
basePricePerShift — Fixed per-vehicle cost for one shift. Covers vehicle and driver for a standard shift duration.
Shift allowances — Per-vehicle additions for specific shift types: morning, evening, night, or general. Configured per vehicle type in your shuttle pricing config.
Night surcharge — Additional per-vehicle charge when a night shift vehicle is deployed.
Extra km / hours / stops — Variable charges when actuals exceed included thresholds. Each vehicle type has its own includedKm, includedHours, freeStops, and corresponding extra rates.
Weekend multiplier — Multiplies the daily total for weekend days (e.g., 1.5× for Saturday/Sunday).
Tolls / Parking — Boolean flags (tollsIncluded, parkingIncluded) indicating whether these costs are already included in the base price. They are not separate line items.
Bid Revision Rules
- While a bid is shortlisted (Negotiating), the revised total cannot exceed the
originalBidAmountlocked at first submission. - All revisions are tracked with timestamps and previous amounts, visible to you and the trip owner in the price history panel.