BookingMachine
Help Center
Getting Started
Core Features
Payments & Analytics
Team & Scheduling
Integrations
Core Features
Pricing Rules
Dynamic pricing with dimension multipliers, compound conditions, and min/max caps.
How the Pricing Engine Works
BookingMachine's pricing engine is a pure function that runs identically in the widget (for instant quotes) and on the server (for validation). The server always re-validates — it never trusts the client-side calculation.
The Pricing Algorithm
Quotes are calculated in this exact order:
Base price — The starting price you set for the service
Dimension multipliers — Stacked (multiplied together) based on customer selections
Conditional rules — Compound conditions applied as surcharges or discounts
Add-ons — Flat amounts added for each selected add-on
Package discount — Percentage discount if booking a package
Recurring discount — Percentage discount for recurring bookings
Min/max caps — Final price clamped to your configured minimum and maximum
Banker's rounding — Final amount rounded to nearest cent using banker's rounding
Dimension Multipliers
Multipliers are stacked (multiplied together). Configure dimensions in Dashboard > Services when editing a service.
Stacking Example
If SUV = 1.3x and Poor Condition = 1.5x, the combined multiplier is 1.3 x 1.5 = 1.95x. A $100 base price becomes $195.
Conditional Rules
Create compound conditional rules in Dashboard > Services > Pricing Rules:
| Rule Type | Example | How It Works |
|---|---|---|
| Distance surcharge | > 20 miles = +$15 | Flat fee or percentage based on distance from base location |
| Time-of-day | Before 8 AM or after 6 PM = +15% | Surcharge for early morning, evening, or after-hours |
| Weekend surcharge | Saturday/Sunday = +20% | Automatic premium for weekend bookings |
| Loyalty discount | 5+ bookings = -10% | Discount for returning customers after N bookings |
| Compound | XL + Poor = +20% | Combine multiple conditions into a single rule |
Min/Max Caps
Set minimum and maximum price caps per service. If the calculated price falls below the minimum, it's bumped up. If it exceeds the maximum, it's capped. Prevents extreme quotes from unusual dimension combinations.
Configure min/max caps in the service editor under "Price Caps".
Testing Prices
Use the price calculator in Dashboard > Widget to preview quotes. Select dimensions and add-ons to see exactly what customers would be quoted before going live.
Tip: The pricing engine has 70+ automated tests. Your configured rules are evaluated deterministically — the same inputs always produce the same quote.
Still have questions? Contact support