MXBSDOCS
App →

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

text

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:

text
  1. baseHours = routeDuration (seconds → hours)
  2. baseKm = routeDistance (meters → km)
  3. kmBasedCharge = cumulative tiered mileage bands
  4. hourBasedCharge = cumulative tiered hour bands
  5. dailyCharge = dailyRate × tripDays
  6. baseTripCharge = MAX(hourBasedCharge, kmBasedCharge, dailyCharge)
  7. effectiveDeadhead = max(0, deadheadKm − freeDeadheadAllowance) deadheadCost = min(effectiveDeadhead × deadheadRate, deadheadCap)
  8. fuelSurcharge = baseTripCharge × fuelPercent / 100
  9. extraHoursCost = (baseHours − threshold) × overtimeRate [if over]
  10. overnightCost = overnightRate × nights
  11. customAddons = taxable + non-taxable + additionalDriverCharge
  12. peakMultiplier applied to baseTripCharge (if peak season departure)
  13. tripTypeAdjustment (one-way / round-trip percentage)
  14. gratuity = (baseTripCharge + deadheadCost) × gratuityPercent / 100
  15. subtotal = all components summed
  16. taxAmount = (subtotal − nonTaxableAddons) × taxPercent / 100
  17. vehicleQuoteAmount = subtotal + taxAmount
  18. 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

text

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 originalBidAmount locked at first submission.
  • All revisions are tracked with timestamps and previous amounts, visible to you and the trip owner in the price history panel.