Key features
- Add-on Groups: Create named groups of related options (e.g., “Aromatherapy”, “Nail Art Style”)
- Flexible Options: Each option can add extra cost, extra duration, or both
- Required or Optional: Choose whether clients must select an add-on or can skip it
- Single or Multi-select: Allow one choice or multiple choices per group
- Linked to Services: Connect each group to one or more services and, on a service with variants, offer it for all of them or only the ones you pick - changes propagate automatically
- Duplicate: Copy a group, options and links and all, when the next one is nearly the same
- Online booking integration: Clients pick add-ons in the service’s panel when they book online
- Dashboard Support: Team members can add or edit add-ons when creating appointments from the scheduler
How add-ons work
The concept
Add-ons are organised in two levels:- Add-on Group - a named collection with a client-facing prompt (e.g., “Choose your preferred oil”)
- Options - the individual selections within a group (e.g., “Lavender +10”, “Eucalyptus +10”)
How an add-on’s time fits the appointment
An add-on’s extra minutes go on the service it belongs to, before that service’s processing time. A 60-minute colour with 30 minutes’ processing and a 20-minute add-on runs for 80 minutes, then processing starts. When a client books online with the add-on, the services after it start once that longer service and its processing time are done. When you add an add-on to a service in the appointment form, the services after it keep their start times. If the next service now starts inside the processing time, the appointment form shows an amber note such as 10 min gap - recommended 30 min. Change that service’s start time to after the processing ends, then save.Creating add-on groups
From the services
- Navigate to the Services section from the sidebar
- Click the Add-ons tab at the top
- Click Add add-on group
- Fill in the group details:
- Group name (required): An internal name for this group (e.g., “Aromatherapy”)
- Prompt (optional): The client-facing question shown during booking (e.g., “Choose your preferred oil”). If left blank, the group name is displayed instead
- Required / Optional: Toggle whether clients must make a selection
- Selection Mode: Choose Single (one option only) or Multi-select (multiple options allowed)
- If Required and Multi-select: Set the minimum and maximum number of selections
- Add your options:
- Option Name (required): The name displayed to clients (e.g., “Lavender”)
- Additional Price: Extra cost added to the service price (e.g., 10). Leave at 0 for free options
- Additional Duration: Extra time added to the appointment (e.g., 15 min). Leave at 0 for options that don’t change the appointment length
- Link Services: Select which services this add-on group applies to
- Click Save
From a service’s add-ons tab
You can also create add-on groups directly from a service:- Open the service you want to add extras to
- Go to the Add-ons tab
- Click Create new to create a new group linked to this service
- Fill in the group details as described above
Linking add-on groups to services
Add-on groups can be linked to multiple services, and each service can have multiple linked groups.Linking from the service
- Open the service in the Services
- Go to the Add-ons tab
- Click Link existing to search for and select an existing add-on group
- The group is now linked. It is offered for All variants until you change Offered for
Unlinking from a service
- Open the service and go to the Add-ons tab
- Click the unlink icon next to the group you want to remove
- The group is removed from this service but remains available for other services
Changes to an add-on group (renaming options, updating prices) automatically apply to all linked services. You do not need to update each service individually.
Offer an add-on group for specific variants
A group linked to a service can be offered for every variant of that service, or only for the variants you tick. Set this from the service’s Add-ons tab, or under Linked services on the group. The default is All variants, which is how every existing group is set.From the service
- Open the service and go to the Add-ons tab
- On a linked group, click Offered for. It reads All variants until you change it
- Tick the variants this group should appear for. All variants unticks itself
- The chip shows the first two ticked names and counts the rest (for example, Medium, Long or Short, Medium +1)
From the add-on group
- Open the group from Services → Add-ons, or create a new one
- Under Linked services, each ticked service that uses variants shows the same Offered for control
- Set the variants and click Save
What the client sees
Clients who pick a variant that is not ticked will not see the group. There is no extra label or step: the list is shorter. Required groups that are not offered for the chosen variant are not asked for. On a bundle, each component line shows the groups offered for the variant picked on that line.Managing add-on groups
Editing a group
- Navigate to Services → Add-ons
- Click on the group you want to edit
- Update any field - name, prompt, options, pricing, duration, linked services
- Click Save
Duplicating a group
When the next group is nearly the same as one you have - the same oils at a different price, the same finishes for a different treatment - copy it rather than listing every option again.- Navigate to Services → Add-ons
- Click the three-dot menu on the group
- Select Duplicate
- The copy opens, named after the original group with “(Copy)” on the end. Change the name and whatever else differs, then Save
Archiving a group
- Navigate to Services → Add-ons
- Click the three-dot menu on the group
- Select Archive
- The group is hidden from all linked services and will no longer appear during booking
Client experience
Online booking
When a client books online, add-ons are picked in the service’s own panel:- The client taps a service that has add-on groups (e.g., “Swedish Massage”), and its panel opens in place
- If the service has variants, the client picks one first; the add-on groups offered for that variant appear below it
- For each group, clients see:
- The prompt or group name as a heading
- A hint indicating whether the group is optional or required (e.g., “Optional” or “Choose 1 (required)”)
- Each option with its name, additional duration (e.g., “+15 min”) and additional price (e.g., “+10”, or “Free”)
- Once an add-on is chosen, a summary shows the total time and price with the add-ons included
- Add to appointment adds the service with its add-ons. It stays unavailable until every required group has a choice, and a message names the group still waiting; Cancel closes the panel without adding anything
A service with no variants to choose between, no add-on groups, group bookings off and People per booking at 1 is added in one tap, without opening a panel.
Adding an add-on to more than one service in the same booking
A client can apply the same add-on to several services in a single booking. Each selected service that has the add-on group linked asks for it in its own panel, so the client makes a separate choice per service - for example, adding a gel colour to both a manicure and a pedicure in the one appointment, or a scalp treatment to two hair services. Each service keeps its own selection, and the add-on’s price and duration are applied to each service independently. You don’t need to add the service twice, or build a bundle, to repeat an extra across services - just link the one add-on group to each service (see Linking Add-on Groups to Services) and the client picks it for each during booking.Dashboard booking
When team members create appointments from the scheduler:- After selecting a service, they can add or edit add-ons via the add-on selection modal
- The same options and validation rules apply as in online booking
- Selected add-ons appear in the appointment details with their prices and durations
Pricing and duration
How add-on pricing works
Add-on prices are added on top of the base service price. They are not discounted or bundled - each selected option contributes its full additional price. Example:- Swedish Massage: 80
- Lavender oil add-on: +10
- Hot stones add-on: +15
- Total: 105
How add-on duration works
Additional duration from add-ons extends the total appointment time. This affects:- Availability: The system accounts for the extra time when calculating available slots
- Scheduler display: The appointment block reflects the full duration including add-ons
- Client communication: Confirmation emails and booking summaries show the total time
- Gel Manicure: 45 min
- French Tips add-on: +15 min
- Total appointment time: 60 min
Add-ons and entitlements
Add-ons are always client-paid. They sit on top of the base service price and are never covered by a per-service entitlement - this keeps add-on revenue predictable and stops a membership or package silently absorbing an upsell. Concretely:- Per-line coverage is computed on the base service price only. A membership benefit, a package session, and a per-service discount all apply to the service line’s base price - the add-on amount is excluded and remains payable by the client.
- Order-level (whole-appointment) discounts include add-ons. A discount applied to the entire appointment total reduces the add-on amount along with everything else.
- Loyalty points are earned on the add-on amount. Add-ons count towards the total the client actually pays, so they contribute to points earned.
- Amount gift cards can pay for add-ons. An Amount gift card is a balance: it draws down against the appointment total, add-ons included. A Service or Bundle gift card covers its service’s base price only, like a package session.
This is the canonical statement of how add-ons interact with entitlements. Other help pages link here rather than restating it.
Required vs. optional groups
Optional groups
- Clients can skip without making a selection
- Ideal for upsells and enhancements that aren’t essential to the service
Required groups
- Clients must make a selection before proceeding
- Useful when a service genuinely requires a choice (e.g., lash length for lash extensions)
- For multi-select required groups, you can set:
- Minimum selections: The fewest options a client must choose
- Maximum selections: The most options a client can choose
- Example: “Choose 2-4 toppings (required)“
FAQs
Q: Can I link the same add-on group to multiple services? A: Yes. A single group can be linked to as many services as you like. For example, an “Aromatherapy” group could be linked to all your massage services. Q: Can a client add the same add-on to two different services in one booking? A: Yes. As long as the add-on group is linked to each service, the client is prompted to choose it separately for every service that has it - for example, a gel colour on both a manicure and a pedicure, or a treatment added to two services in the same appointment. The add-on’s price and duration apply to each service it’s added to. Q: A client wants the same extra on two services - should I create a bundle or add the service twice? A: Neither - use an add-on. Create one add-on group for the extra and link it to each service it applies to; the client then adds it to each service during a single booking. Bundles are for selling a fixed set of services together at a combined price, not for repeating an add-on across services. Q: A client wants the same service twice in one online booking - how does that work? A: The online booking flow lets a client pick each service once per booking, so it depends on what “twice” means:- A second unit for the same client (e.g. a double treatment, or two of the same add-on service): model the repeat as an add-on option on that service, with its own extra price and extra duration. It then appears as a selectable extra during booking, so the client adds the second unit in the same flow.
- A second person (a friend, partner or guest joining them): use Group bookings - turn group bookings on for the service and the client picks “how many people?” when they book, each guest scheduled at the same time with their own team member and their own add-ons.