This page explains how service pricing works — the base price, how add-ons with option groups create flexible pricing, how deposits are calculated, and how refunds, commissions, and recurring payments are handled.
Every service has a Base Price — the starting cost before any add-ons. You set this when creating or editing a service.
The system stores this as a fixed price per booking. Whether the service is a 30-minute appointment or a 3-day rental, the base price is the charge for one unit of that service.
The duration unit you choose affects how the service is priced and scheduled:
| Duration Unit | Scheduling Type | Pricing | Example |
|---|---|---|---|
| Minutes | Time-slot appointment | One base price per slot | A 60-minute massage at 200. The customer picks a time slot and pays 200. |
| Hours | Time-slot appointment | One base price per slot | A 2-hour consultation at 300. Same as minutes but displayed in hours. |
| Days | Day-based rental | One base price per rental period | A 3-day equipment hire at 500. The customer picks check-in and check-out dates. The price covers the full rental duration. |
{primary} Minutes and Hours are for appointments where the customer arrives and leaves on the same day at set times. Days are for rentals where the resource is occupied across multiple days.
Buffer time — also called turnaround time — is a gap added after each booking to give you time to prepare for the next one. Unlike the old per-resource schedule setting, buffer is now configured on the service itself under Services > All Services > Edit Service.
For example, with a 15-minute buffer after a 60-minute service:
Available options range from 0 minutes up to 24 hours (1440 minutes).
Not every resource assigned to a service needs buffer time. For example, a room might need 15 minutes to clean between appointments, but a staff member can start immediately.
When you set a buffer on the service, a per-resource toggle appears in the resource selector called Applies Buffer After Booking:
| Setting | Effect |
|---|---|
| Enabled (default for at least one resource) | The resource's schedule includes the buffer gap after each booking |
| Disabled | The buffer is skipped — the next booking on that resource can start immediately after the previous one ends |
The system requires at least one resource to have buffer enabled. You can disable it on individual resources that don't need turnaround time.
{info} Without a buffer configured (0 minutes), the per-resource toggle is hidden and all bookings run back-to-back.
For day-based rental services (see Duration-Based Pricing), the buffer represents turnaround days — the minimum gap between one rental ending and the next starting. For example, a 1-day buffer on a boat charter means a boat that returns on Monday is available from Tuesday.
Add-ons are the main way to create flexible pricing. Each add-on can have its own price (or option-group prices), letting you offer upgrades and extras without needing separate service entries.
A basic add-on with a single price:
Example: "Insurance" add-on at 50 — every customer who adds insurance pays 50.
Toggle Has Options on an add-on to create a choice group where each variant has its own price:
Example — "Protection Package" add-on for a car rental:
Option Price Basic coverage 0 Standard coverage 50/day Premium full coverage 120/day The customer picks one. Each choice changes the total price. This is "dynamic pricing" — the same add-on produces different prices depending on what the customer selects.
Final price = Base Price + (sum of all selected add-on prices)
Example: A customer books a car rental priced at 500 (3 days) with:
- "GPS unit" add-on at 30/day × 3 days = 90
- "Premium coverage" add-on at 120/day × 3 days = 360
Total: 500 + 90 + 360 = 950
Each add-on can be charged in one of four ways:
| Unit | Calculation | Example |
|---|---|---|
| Once per booking | Price × 1 | 50 "Welcome pack" = 50 |
| Per guest | Price × number of guests in the booking | 25 "Extra towel" × 3 guests = 75 |
| Per day | Price × number of rental days | 30 "GPS unit" × 3 days = 90 |
| Per guest & day | Price × guests × days | 15 "Breakfast" × 2 guests × 3 days = 90 |
These options only appear when they make sense for the service — "per guest" needs group bookings enabled, "per day" needs the service to be day-based, and "per guest & day" needs both.
Add-ons can also add time to the booking. Each add-on has a duration in minutes (0–1440) that controls whether it extends the total appointment length.
| Setting | Effect | Example |
|---|---|---|
| Parallel (default) | The add-on runs at the same time as the main service — it does not extend the booking | 25 "Extra towel" with 0 min duration → booking stays 60 min |
| Sequential (toggle off) | The add-on runs after the main service and extends the total booking time | 50 "Scalp treatment" with 15 min duration → 60 min haircut becomes 75 min |
Toggle the Parallel switch off to make the add-on extend the booking. The system adds the add-on's duration to the service duration when checking availability and blocking resources.
{info} Add-on duration only applies to appointment-based services (minutes/hours). Day-based services don't show the duration field — add-ons on rentals are priced per day but don't extend the rental period.
The total booking slot (what appears on the schedule and blocks the resource) is calculated as:
Service duration + add-on durations (sequential) + buffer (if enabled for the resource)
For example, a 60-minute service with:
→ Total slot: 60 + 15 + 15 = 90 minutes
A deposit is a partial payment taken at booking time to secure the appointment. The balance is paid later (at check-in, on completion, or as your policy defines).
| Type | How It's Calculated | Example |
|---|---|---|
| Fixed | A specific amount | 50 deposit on a 200 service |
| Percentage | A percentage of the total price | 25% of 200 = 50 deposit |
{warning} Deposits require online payment — via your own Stripe Connect (or PayPal where supported). When deposits are enabled, Cash on Delivery is automatically disabled for that service.
If the service has a cancellation policy with different refund rules for the deposit vs the total fee, customers see both amounts:
| Scenario | Deposit Refund | Total Fee Refund |
|---|---|---|
| Cancelled within free window | 100% | 100% |
| Cancelled after free window | Your configured % | Your configured % |
Example: You might keep the deposit (0% refund) as a handling fee but refund the rest (100% of total fee after deposit).
For services with recurring bookings enabled, customers either pay per session or upfront:
| Policy | What the Customer Pays | Example |
|---|---|---|
| Pay as you go | Each occurrence separately, before the session | 8 personal training sessions → customer is charged 100 before each session |
| Full upfront | All occurrences at once, at the time of booking | 8 personal training sessions → customer is charged 800 at once |
{primary} Note: Pay as you go processes a new payment before each session. Make sure the customer has a valid payment method on file for the duration of the series.
When a customer cancels after the free window or doesn't show up, the system calculates the charge based on your configured percentages:
| Scenario | What's Charged |
|---|---|
| Cancelled within free window | Nothing (full refund if paid) |
| Cancelled after free window | Your configured refund % of the total fee |
| No-show | Your configured no-show retained % of the total fee |
If a deposit was taken:
Each completed booking is subject to a platform commission. Commission rates include:
Your commission rates depend on your plan and are shown on the Subscription page.
How commission is applied:
| Step | Amount |
|---|---|
| Customer pays into your own gateway | 200 |
| Platform commission (10%) accrued to you | 20 |
| Platform fee (2) accrued to you | 2 |
| Billed on your next platform statement | 22 |
{primary} You keep the customer's payment — it settles in your own gateway. The platform commission is accrued per booking and billed to you on your statement, never deducted from the customer's payment. Higher-tier plans typically have lower commission rates.
Prices are always shown in the currency you selected for your business. Examples throughout this guide use plain amounts (e.g., 200) — read them in your own currency.
Platform billing and commissions are denominated per site:
The currency symbol appears on all pricing fields and transaction amounts.