This page walks through the service creation wizard — from basic details to pricing, add-ons, resources, and availability. Each step builds on the last, so you end up with a complete, bookable service.
| Field | Required | Description |
|---|---|---|
| Service Name | Yes | What customers see when booking — be descriptive, e.g. "60-Minute Swedish Massage" |
| Status | Yes | Active — available for booking immediately; Draft — save and publish later |
Set how long the service takes. The unit determines how the service is scheduled:
| Unit | Scheduling Type | Example |
|---|---|---|
| Minutes | Appointment — customer picks a time slot | 60-minute massage |
| Hours | Appointment — same as minutes but displayed in hours | 2-hour consultation |
| Days | Rental — customer picks check-in and check-out dates | 3-day boat hire |
{info} For day-based services, the duration is the number of days, not minutes. The scheduling view changes to reflect this.
Buffer time is extra time blocked after each booking for cleaning, setup, or travel between appointments. It is set on the service, not on individual resource schedules.
Available options: 0 minutes (no buffer) up to 24 hours (1440 minutes).
For day-based services, buffer represents turnaround days — the gap between rentals. For example, a 1-day buffer means a boat that returns on Monday is available from Tuesday.
Per-resource toggle: After assigning resources to the service (see Branches & Resources), each resource shows an Applies Buffer After Booking checkbox. Uncheck it for resources where the buffer should not apply (e.g., a staff member who starts immediately).
{primary} If buffer is set to 0, the per-resource toggle is hidden. At least one resource must have buffer enabled.
| Field | Required | Description |
|---|---|---|
| Base Price | Yes | The starting price in your currency before add-ons. For rentals, this is the price per rental period. |
See Services & Pricing for details on how pricing combines with add-ons, deposits, and taxes.
| Field | Required | Description |
|---|---|---|
| Description | Yes | Long description shown on the service detail page. Use the rich text editor to format with headings, lists, and images. |
| Short Description | Yes | A brief summary shown in service cards and search results (visible on the booking page). |
| What's Included | No | Tags that appear on the service card — for example, "towels", "refreshments", "pickup included". Click Enter to add each tag. |
| Images | No | Upload one or more photos of the service. The first image is used as the main thumbnail. Supported formats: JPEG, PNG, WebP. |
If you operate multiple branches, select which branches offer this service. The service will appear in booking pages for those branches only.
Resources are the physical items or staff required to deliver the service — rooms, vehicles, equipment, instructors, etc.
When you add a resource from the searchable dropdown, three controls appear for each selected resource:
| Control | When Visible | What It Does |
|---|---|---|
| Use as relevant support resource | Always | When checked, the resource becomes hidden from customers and is reserved automatically alongside the primary. At least one resource must remain primary. |
| Applies Buffer After Booking | Only when the service has a buffer set | When checked (default), the resource's schedule includes the buffer gap. Uncheck to skip buffer for that specific resource. |
| Pool | Only for support resources | An optional name to group identical, interchangeable units — the system then only needs ONE free member of the pool, not all. |
| Role | Customer Sees It? | What It Means |
|---|---|---|
| Primary (default) | Yes (depending on selection mode) | The main resource. At least one primary is required per service. |
| Support ("Use as relevant support resource" checked) | No | A secondary resource auto-reserved alongside the primary. Must also be free and have schedule coverage. |
{info} Both primary and support resources affect availability. If a support resource is occupied, the time slot is blocked — even if the primary resource is free.
When you add multiple support resources without a pool name, the system requires ALL of them to be free. This is the default behaviour and works well when every support resource is unique and irreplaceable.
Example — Dental Clinic:
This makes sense because both pieces of equipment are unique and the service can't run without either one.
When you have several identical support resources, pooling them prevents unnecessary blocking.
Real-life example — Car Detailing Service:
You run a car detailing shop. Your signature service "Full Interior & Exterior Detail" requires:
| Without Pool | With "Wash bays" Pool |
|---|---|
| All 3 bays are reserved on EVERY booking | Only 1 bay is reserved per booking |
| If Bay 1 is busy, the slot is blocked even though Bays 2 and 3 are empty | If Bay 1 is busy, the system checks Bay 2 — if free, booking goes ahead |
| Slot blocked when ANY bay is occupied | Slot blocked only when ALL bays are occupied |
How to pool resources:
Existing pool names appear as suggestions. Leave the pool field empty if the resource is unique and must always be individually available.
{primary} When to use pools: You own several identical units (wash bays, salon chairs, treatment rooms, rental vehicles, machines) and any one will do. When not to use pools: The resource is unique, or you want the customer to choose it — that should be set as a primary resource.
A beauty salon's "60-Minute Swedish Massage" service:
| Resource | Role | Pool? | Why |
|---|---|---|---|
| Massage therapist (Sarah) | Primary | No | Customer chooses their therapist |
| Hot stone warmer | Support | No | Only one exists — unique equipment, must always be free |
| Treatment Room A | Support | "Treatment Rooms" | Interchangeable with Rooms B and C |
| Treatment Room B | Support | "Treatment Rooms" | Same pool — any free room works |
| Treatment Room C | Support | "Treatment Rooms" | Same pool — any free room works |
For a 2:00 PM booking to be available:
If Sarah is free, warmer is free, and Room B is free (even though A and C are busy) → booking goes ahead, reserving Room B.
Controls how the customer chooses a resource when booking online:
| Mode | Customer Experience |
|---|---|
| Required | Customer must pick a resource before proceeding |
| Optional | Customer can pick a resource or skip the step |
| Hidden | Customer doesn't see the resource step — the system assigns automatically. In POS, you still see and control resource assignment. |
| Field | Description |
|---|---|
| Max Participants | The maximum number of people who can book this service in a single slot. Leave empty for individual bookings. |
| Group Bookings | Enable this to allow customers to book for multiple guests at once. For example, a yoga class can accommodate up to 10 people in a single session. |
When group bookings are enabled, the customer can set the number of participants. Pricing multiplies by the number of guests, and add-ons with per guest or per guest & day charge units become available.
Recurring bookings let customers book a series of appointments (e.g., weekly personal training for 8 weeks).
Enable recurring bookings to configure:
| Field | Description |
|---|---|
| Allowed Patterns | Which recurrence intervals customers can choose — daily, every other day, weekly, biweekly, monthly |
| Max Occurrences | Maximum number of sessions in a recurring series (2–52) |
| Payment Policy | Pay As You Go — customer pays per session before each appointment; Full Upfront — customer pays the entire series at booking time |
| Fixed Occurrences | Lock the number of occurrences so customers cannot change it |
A deposit is a partial payment taken at booking time to secure the appointment. The balance is paid later.
Configure deposit settings:
| Field | Description |
|---|---|
| Deposit Type | None (no deposit), Fixed Amount (e.g., 50), or Percentage (e.g., 20% of total) |
| Refund Rules | Whether the deposit is refundable on cancellation — you can set different refund rates for the deposit vs the full fee |
{warning} Deposits require an online payment gateway. When deposits are enabled, Cash on Delivery is automatically disabled for that service.
Add-ons are extras that customers can add to their booking — insurance, meals, equipment upgrades, etc. Each add-on is created during the service setup wizard.
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 | 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 |
The available units depend on your service settings — "per guest" needs group bookings enabled, "per day" needs a day-based service.
Add-ons can extend the total booking time. Each add-on has a duration in minutes (0–1440):
| Mode | Effect |
|---|---|
| Parallel (default) | The add-on runs during the service — no extra time added |
| Sequential (toggle off) | The add-on runs after the service and extends the booking |
For example, a 60-minute haircut with a 15-minute scalp treatment (sequential) becomes a 75-minute appointment. The system accounts for this when checking resource availability.
{info} Day-based services don't show the duration field. Add-ons on rentals add cost but don't extend the rental period.
Toggle Has Options on an add-on to create a choice group where each variant has its own price:
When to use option groups:
| Use Case | Example |
|---|---|
| Tiered packages | Protection package: Basic (free), Standard (50), Premium (120) |
| Size/variant choices | Equipment size: Small (0), Medium (25), Large (50) |
| Required upgrades | Insurance (required): Basic (0), Full Coverage (75/day) |
Saved add-ons appear as pills below the add-on form. Click a pill to load its settings for editing. Click the trash icon to archive it.
Set rules for what happens when a customer cancels or doesn't show:
| Setting | Description |
|---|---|
| Free Cancellation Window | How long before the appointment the customer can cancel for a full refund |
| Refund % After Window | What percentage of the total fee is refunded if the customer cancels late |
| No-Show Retained % | What percentage is kept if the customer doesn't show up |
| Deposit Refund % | Separate refund rate for the deposit portion on late cancellations |
Set the tax rate for this service (e.g., 5% VAT/GST or your local sales tax). The tax is added to the total and shown as a line item on receipts and invoices.
Once all sections are complete, click Save. The service is created with your configured status (Active or Draft).
From the service detail page you can: