Add-ons and extra resources
How service add-ons work — quantity, price, which resource gets booked, and why 'always included' decides free times.
An add-on is a second resource a service uses on top of the main one. A chair for the stylist, a room for the beautician, towels, a machine, a helmet. It looks like a minor setting — and it is in fact the only way to make one service require two kinds of resource, and the most common reason a service quietly stops showing free times.
It all lives in the service editor: Catalog → Offerings → pencil → the Resources & add-ons section (“The main resource and optional add-ons.”), right under Main resource.
1. What an add-on is
A service always has one main resource — a single kind picked in the Main resource dropdown. For a hairdresser that’s the stylists; for a court booking it’s the court itself.
An add-on is any other resource kind the same booking has to occupy. The empty block reads: “No add-ons yet. Add an optional resource — e.g. helmet, balls, equipment.”
You add one from the Add add-on dropdown. It only offers kinds not already used by this service — a kind can appear once, either as the main resource or as an add-on.
Each add-on is a card. Collapsed, it shows the kind name plus a one-line summary (“Client chooses to add it · 1 pcs · +10”). Click to expand it; the × on the right removes it.
2. The four decisions on every add-on
An expanded card has exactly four blocks. Here they are in order.
Block 1 — “How it appears to the customer”
This is the single most consequential choice in the whole section.
| Option | Help text | What it really does |
|---|---|---|
| Client chooses to add it | ”The customer sees the add-on in the booking menu and can include or skip it.” | Optional. An Add-ons step appears in the booking flow. It does not affect free times. |
| Always included (customer doesn’t see it) | “The resource is reserved with the service, but not shown to the customer — e.g. consumable material.” | Mandatory. Reserved silently on every booking — and it gates free times exactly like the main resource. |
This is the trap that costs hours. “Always included” turns the add-on into a requirement. If that kind has no free resource in a given hour, the service won’t offer that hour. If the kind is empty altogether, the service won’t be bookable at all.
Switching to Always included automatically drops the two things that no longer make sense: “Client chooses how many” becomes Fixed number, and Price per unit becomes Additional charge. That’s logical — the customer can’t see the add-on, so they can’t choose a quantity or be charged per unit.
Block 2 — “Quantity”
How many units of the kind one booking occupies.
| Option | Help text | Fields |
|---|---|---|
| Fixed number | ”We always reserve exactly this amount.” | one number, 1–99 |
| Client chooses how many | ”The customer will see a step picker with specified limits.” | Minimum, Default, Maximum (each 1–99) |
Client chooses how many is only available with Client chooses to add it.
Example: a court rental with rackets. A Minimum of 0 is not accepted — the floor is 1. If “no rackets” should be an option, leave the add-on as Client chooses to add it and let the customer simply skip it.
Block 3 — “Which resource to reserve”
Shown once the kind has at least one resource.
- The switch is Client picks specific one.
- Off: “The system automatically picks any available resource.” — the normal case for equipment.
- On: “The customer will see a list and pick one themselves.” — a chip list appears, pre-ticked with everything. Untick whatever shouldn’t be offered.
Turn the switch on and untick everything, and a warning appears under the list: “Select at least 2 resources, or disable this option.”
Use Client picks specific one only when the choice means something to the customer (a specific court, a specific room). For towels and machines, automatic assignment is better — fewer clicks and fewer dead hours.
Block 4 — “Price”
How the add-on enters the total.
| Option | Help text | Effect |
|---|---|---|
| Included in base price | — | nothing is added |
| Additional charge | ”Adds once to the invoice, regardless of quantity.” | one flat amount on top |
| Price per unit | ”The price is multiplied by the quantity the customer selects.” | amount × quantity; shown only with Client chooses how many |
The currency next to the field is the board’s currency. The unit in the summary reads pcs.
Add-ons are added after the service price and after the day/time surcharge, but before loyalty discounts. The full chain is in Pricing & day/time modifiers.
3. “A stylist AND a chair” — the only way
The Main resource dropdown accepts one kind. If your service genuinely needs two (a stylist and a chair, an instructor and a room), do this:
- In Main resource, pick the kind the customer chooses — usually the stylists.
- From Add add-on, add the second kind (Chairs).
- Expand the card and in How it appears to the customer pick Always included (customer doesn’t see it).
- In Quantity, leave Fixed number = 1.
- In Which resource to reserve, leave the switch off — the system will take a free chair by itself.
- In Price, leave Included in base price.
- Save.
From then on an hour is offered only when a stylist and a chair are both free. That’s exactly what a real salon with 3 stylists and 2 chairs needs.
Check the verdict after saving. Right after Save changes, a probe runs above the form: Checking availability…. Wait for it. The green Bookable — next free slot: … is your confirmation that the double requirement didn’t kill availability.
Careful: re-check the add-on after a reload. Today an add-on set to Always included doesn’t reappear in the editor the next time you open the service — and saving again removes it. If you rely on this mechanism, set it last and don’t re-save the service without setting it again. If the service suddenly starts offering hours when the second resource is busy, this is the first place to look.
4. If the kind is empty
If the add-on points at a kind with no bookable resources, the card shows an amber hint:
“‘Chairs’ has no entries yet — this add-on will block bookings for the whole service.”
Next to it is an Add Chairs link that opens the new-resource form with the kind pre-selected.
The wording is deliberately blunt: an empty kind used as an add-on stops the whole service, not just the add-on. If the add-on is Client chooses to add it, the service will still book, but the customer will hit an empty Add-ons step.
5. What the customer sees
- Client chooses to add it → an Add-ons step appears in the booking flow between picking a time and entering contact details. With Client chooses how many, they get a stepper bounded by your limits.
- Always included (customer doesn’t see it) → the customer sees nothing. The resource is simply occupied.
- The add-on’s price is folded into the total on the payment screen.
6. What add-ons do NOT do
- They are not products. An add-on always occupies a resource. There’s no way to sell a bottle of shampoo as an add-on — Mountify has no stock-keeping for goods.
- They don’t replace the service price. They only add. If the whole service costs more with one stylist, that’s a different topic — see Per-staff pricing.
- They don’t extend the time. The booking lasts exactly the service’s Duration, add-ons or not.
- One kind, once. A service can’t require the same kind twice with different settings.
- They don’t copy between services. Every service carries its own add-ons.
7. Troubleshooting
The service stopped showing free times and I changed nothing on it. Check the add-ons set to Always included. If someone archived, hid or deactivated the last resource of that kind, the service dies silently. The diagnosis is in Find out why a service shows no free times.
The customer hits an empty “Add-ons” step. The add-on’s kind has no customer-visible resource. Add one, or remove the add-on.
I can’t pick “Client chooses how many”. The add-on is on Always included. Switch it to Client chooses to add it.
I don’t see the “Price per unit” option. It only appears when quantity is Client chooses how many.
I can’t add an add-on — the dropdown is empty. Every kind on the board is already used (one as main, the rest as add-ons). Create a new kind: Catalog → Team & resources → New kind. See Creating and managing resource kinds.
A customer gets an error saying there isn’t enough of a kind. Limited-stock equipment is counted across the whole hour. Either raise the resource’s stock or lower Maximum in Quantity. See Equipment stock and parallel capacity.
What’s next
- Create a service — the whole “Resources & add-ons” section in context.
- Which services a resource can perform — the other quiet availability filter.
- Find out why a service shows no free times — when something breaks.
- Equipment stock and parallel capacity — how many units you really have.