> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bellabooking.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Service Add-ons

> Create optional paid upgrades and customisations that clients can add to your services during booking

## Introduction

**Service Add-ons** let you offer optional extras and customisations on top of your existing services. Instead of creating separate service entries for every variation, you define add-on groups with selectable options — each with its own price and duration — and link them to the services they apply to.

Add-ons appear during booking (both online and from the dashboard), allowing clients to personalise their experience while increasing your average transaction value.

***

## 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 — changes propagate automatically
* **Online booking integration**: Add-ons appear as a step in the online booking flow
* **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:

1. **Add-on Group** — a named collection with a client-facing prompt (e.g., "Choose your preferred oil")
2. **Options** — the individual selections within a group (e.g., "Lavender +$10", "Eucalyptus +$10")

Each group is linked to one or more services. When a client books a service that has linked add-on groups, they are prompted to make their selections.

***

## Creating add-on groups

### From the services

1. Navigate to the **Services** section from the sidebar
2. Click the **Add-ons** tab at the top
3. Click **Create Add-on Group**
4. 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
5. 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
6. **Link Services**: Select which services this add-on group applies to
7. Click **Save**

### From a service's add-ons tab

You can also create add-on groups directly from a service:

1. Open the service you want to add extras to
2. Go to the **Add-ons** tab
3. Click **Create new** to create a new group linked to this service
4. 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

1. Open the service in the **Services**
2. Go to the **Add-ons** tab
3. Click **Link existing** to search for and select an existing add-on group
4. The group is now linked — any client booking this service will see the add-on options

### Unlinking from a service

1. Open the service and go to the **Add-ons** tab
2. Click the **unlink** icon next to the group you want to remove
3. The group is removed from this service but remains available for other services

<Note>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.</Note>

***

## Managing add-on groups

### Editing a group

1. Navigate to **Services → Add-ons**
2. Click on the group you want to edit
3. Update any field — name, prompt, options, pricing, duration, linked services
4. Click **Save**

Changes apply immediately to all linked services and future bookings. Existing appointments are not affected.

### Archiving a group

1. Navigate to **Services → Add-ons**
2. Click the three-dot menu on the group
3. Select **Archive**
4. The group is hidden from all linked services and will no longer appear during booking

To restore or permanently delete, use the status filter to view archived groups.

***

## Client experience

### Online booking

When a client selects a service that has add-on groups, an additional step appears in the booking flow:

1. Client selects their service (e.g., "Swedish Massage")
2. A **"Customise \[Service Name]"** screen appears showing all add-on groups
3. 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., "Choose 1 (required)" or "Optional")
   * Each option with its name, additional price (e.g., "+\$10"), and additional duration (e.g., "+15 min")
4. A summary bar shows the **add-ons total** (combined extra cost and time)
5. Clients can:
   * **Skip add-ons** (if no groups are required)
   * **Confirm their selections** and continue to the next booking step

<Note>If none of the selected services have add-on groups, the add-ons step is skipped automatically.</Note>

### 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. The "Customise" step appears once for **each** selected service that has the add-on group linked, 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](#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:

1. After selecting a service, they can add or edit add-ons via the add-on selection modal
2. The same options and validation rules apply as in online booking
3. 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**

Add-on prices are captured at the time of booking. If you later change an option's price, existing appointments keep their original pricing.

### 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

**Example:**

* 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](/memberships/index) benefit, a [package](/packages/index) 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.
* **Gift cards can pay for add-ons.** A gift card is a dollar instrument — it draws down against the appointment total, add-ons included.

| Applies to add-ons?                      |                              |
| ---------------------------------------- | ---------------------------- |
| Membership benefit (per line)            | No — base service price only |
| Package session (per line)               | No — base service price only |
| Per-service discount (per line)          | No — base service price only |
| Order-level discount (whole appointment) | Yes                          |
| Loyalty points earned                    | Yes                          |
| Gift card (dollar instrument)            | Yes                          |

<Note>This is the canonical statement of how add-ons interact with entitlements. Other help pages link here rather than restating it.</Note>

Add-ons work on **bundle component lines** too — when a bundle includes a service that has linked add-on groups, the client selects the add-ons for that component during booking, and the same rule applies: the add-on amount is client-paid on top of the component's price. See [Service Bundles](/service-catalog/bundles).

***

## Required vs. optional groups

### Optional groups

* Clients can skip without making a selection
* The **"Skip add-ons"** button is available during booking
* 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 visit, 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](/service-catalog/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.

There's no plain quantity stepper on an ordinary (non-group) service, so use the add-on pattern for a repeat unit and group bookings for extra people.

**Q: What happens if I update an add-on option's price?**
A: The new price applies to future bookings only. Existing appointments retain the price that was captured at the time of booking.

**Q: Can I have multiple add-on groups on one service?**
A: Yes. A service can have any number of linked add-on groups. Each group appears as a separate section during booking.

**Q: Do add-on prices appear on the client's receipt?**
A: Yes. Add-ons are displayed as line items under their parent service on the receipt (which is also the client's invoice), showing the option name and price.

**Q: How do add-ons work with service bundles?**
A: If a service within a bundle has linked add-on groups, clients can select add-ons for that component during booking. Add-on prices are added on top of the bundle price, and — like everywhere else — remain client-paid. See [Add-ons and entitlements](#add-ons-and-entitlements) and [Service Bundles](/service-catalog/bundles).

**Q: Can I offer a free add-on option?**
A: Yes. Set the additional price to \$0. The option will display as "Free" to clients, which is useful for included choices like selecting a standard scent at no extra charge.

**Q: Do add-ons affect deposit calculations?**
A: Yes. When a deposit is calculated as a percentage of the service price, add-on prices are included in the calculation.

**Q: What happens to add-ons if I archive the parent service?**
A: The add-on group remains available and linked to other services. Only the link to the archived service is effectively hidden. If you restore the service, the add-on groups reappear.

**Q: Can I reorder add-on groups on a service?**
A: Add-on groups are displayed in the order they were linked. You can adjust the display order by unlinking and re-linking groups in the desired sequence.

**Q: Is there a limit to how many options I can add to a group?**
A: There is no hard limit, but we recommend keeping groups concise (2–8 options) to avoid overwhelming clients during booking.
