Shuttle Pricing
How to configure shuttle pricing templates for shift-based recurring service, required for bidding on Shuttle Run trip types.
Shuttle pricing is entirely separate from standard commercial pricing. It applies only to SHUTTLE_RUN trip types — recurring, shift-based service where the same route runs on a regular schedule (e.g., employee commute shuttles, campus circulators, event loops).
Shuttle pricing configs are structured around the concept of a shift: a single vehicle completing one run of the route in one time block. All charges are calculated per shift per vehicle, then summed across all working days.
Without at least one shuttle pricing config, you cannot submit a bid on any Shuttle Run trip. Create and save a shuttle config before browsing shuttle trips.
Limo vehicle types (Classic Stretch, Luxury Escalade, Elegant Wedding) are not supported for shuttle configs. The system will reject config creation for these vehicle types.
Config Fields
The form is organized into five sections: A (Setup), B (Base Shift Price), C (Overage Rates), D (Driver & Trip Settings), and E (Extras).
Section A — Setup
| Field | Description |
|---|---|
| Name | Descriptive label for internal reference (e.g., Corporate Shuttle Standard, Night Shift Rate). |
| Vehicle Type | The vehicle type this config applies to. Limo types not allowed. |
Currency and unit (USD/CAD, KM/MILE) are resolved automatically from your operator account preferences — they are not set per config.
Section B — Base Shift Price
| Field | Description |
|---|---|
| Base Price per Shift | All-inclusive per-vehicle charge for one shift. Starting point — all other fields add to this number. |
| Included km per Shift | Distance included in the base price per vehicle. Actual km above this threshold are billed at the extra km rate. |
| Included Hours per Shift | Hours included in the base price per vehicle. Actual hours above this threshold are billed at the extra hour rate. |
Section C — Overage Rates
| Field | Description |
|---|---|
| Extra km Rate | Per-km charge applied to distance beyond the included km allowance, per vehicle per shift. |
| Extra Hour Rate | Per-hour charge applied to time beyond the included hours allowance, per vehicle per shift. |
Section D — Driver & Trip Settings
Shift Allowances
Set separate allowances for each shift type you operate. Applied per vehicle per shift.
| Shift Type | When it applies |
|---|---|
| Morning | Early-start shifts (e.g., 5:00 am – 9:00 am) |
| Evening | End-of-day shifts (e.g., 4:00 pm – 8:00 pm) |
| Night | Late-night or overnight shifts |
| General | Any shift not classified as Morning, Evening, or Night |
Night Surcharge
| Field | Description |
|---|---|
| Night Surcharge per Day | Additional flat charge applied per vehicle for any shift classified as a night shift. |
Section E — Extras
| Field | Description |
|---|---|
| Free Stops per Shift | Number of stops included in the base price per shift, per vehicle. |
| Extra Stop Charge | Per-stop charge applied to each stop beyond the free allowance, per vehicle. |
| Tolls Included | When enabled, tolls are assumed covered in your base price and do not appear as a separate line item. |
| Parking Included | When enabled, parking costs are assumed covered in your base price and do not appear as a separate line item. |
| Weekend Multiplier | Multiplier applied to Saturday and Sunday costs. For example, 1.2 means weekend shifts cost 1.2× the weekday equivalent. |
| Internal Notes | Free-text notes visible only to you and your team. |
How the Shuttle Bid Total Is Calculated
All per-shift charges accumulate per vehicle first, then multiply by vehicle count.
Per shift, per vehicle:
perVehicleCost = basePricePerShift
- max(0, shiftKm - includedKm) × extraKmRate
- max(0, shiftHrs - includedHrs) × extraHourRate
- max(0, stops - freeStops) × extraStopCharge
- shiftAllowance (morning / evening / night / general)
- nightSurcharge (night shifts only)
vehicleShiftCost = perVehicleCost × vehicleCount
dailyTotal = Σ vehicleShiftCosts across all shifts that day
─────────────────────────────────────────────────────────────
If weekendMultiplier > 1 and weekend days exist:
contractSubtotal = (dailyTotal × weekdayCount)
- (dailyTotal × weekendMultiplier × weekendDayCount)
Else:
contractSubtotal = dailyTotal × workingDays
─────────────────────────────────────────────────────────────
Tax = contractSubtotal × taxPercent / 100
Final Quote = contractSubtotal + Tax
Every charge — overages, allowances, surcharges, stop charges — is per vehicle, then multiplied by vehicle count. There are no flat-per-day charges that ignore vehicle count.
Managing Shuttle Configs
Create a new config
Navigate to Fleet → Shuttle Pricing tab → New shuttle config (route: /bus-operator/fleet?tab=shuttle-pricing), or go directly to /bus-operator/fleet/shuttle-pricing/new. Fill in sections A through E. Name, vehicle type, base price, extra km rate, and extra hour rate are required. Everything else is optional.
Click Publish config to make it active immediately, or Save draft to save as inactive.
Set as primary
After saving, return to the Shuttle Pricing tab and click the star icon on the config row. The system automatically unsets any existing primary for that vehicle type. Only active configs can be set as primary.
Deactivate a config
Toggle the active status to inactive. Inactive configs are not used for bid calculations but remain in the list.
Delete a config
Hard delete from the config list. Blocked if the config is currently marked as primary — set a different primary first. Existing bids that referenced this config are unaffected; bid totals are captured at submission time.