The service catalog is the first thing a visitor sees after landing on your public link. With 5 or 6 services, a single list works. With 15, 20 or 30 (women's cut, men's cut, kids' cut, color, highlights, blowout, treatments, beard, nails...), the single list becomes a maze. That is where groups come in: collapsible sections like Hair, Beard, Nails, that the client opens only when needed.
The second piece of this guide is the products catalog. BookHero is not an online shop, but it has a simple counter-sale layer: you can register shampoos, waxes, oils, vouchers, and add them at checkout time. There are two flavours (addon and product) that look similar but behave differently. Let us walk through all of it, step by step.
Where to find this in the dashboard
Everything in this article lives in /dashboard/storefront, the public-page editor. The editor has four tabs and two of them matter here: 'Services' (where you create groups and organise the service catalog) and 'Products and add-ons' (where you define add-ons and products for checkout).
When to create groups (and when to keep the list flat)
Rule of thumb: if you have more than 8-10 services, or they cover clearly different areas (hair vs nails vs aesthetics), group them. Below that, a flat list is faster for the client: sees everything at once, picks, books.
| Scenario | Flat list | Collapsible groups |
|---|---|---|
| Barbershop with 5-6 services | Best: client sees everything in one scroll. | Overkill for so few items. |
| Hair salon with 18 services (cut, color, highlights, treatments) | Client gets lost in the list. | Best: Hair / Color / Treatments. |
| Spa with 25 services (face, body, massage, hands, feet) | Almost unreadable on mobile. | Required: structure saves the booking. |
| New client exploring services | Sees it all, decides fast. | Has to open sections, more taps. |
| Regular client who always books the same | Scrolls until they find it. | Memorises the section, faster. |
Step by step: create a group and move services into it
Open the public-page editor
/dashboard/storefront, 'Services' tab. You see the current list of services and (at the top, or interleaved) any groups that already exist.
Create a new group
'New group' button (or 'Add category'). Give it a short, specific name: 'Hair' works better than 'Hair services'. The name becomes the section header on the public page.
Assign services to the group
Each service has a 'Category' (or 'Group') field. Edit the service and pick the group. Repeat for the other services that belong to that category.
Reorder (groups and services within a group)
Use the up/down arrows to move groups (they appear on the public page in that order) and to reorder services inside each group. Ungrouped services always stay at the top of the public page.
Save and verify
Green 'Save' button at the bottom. Open your public slug in a side tab (bookhero.app/your-slug) and confirm the sections show up as expected. The public page refreshes automatically after you save.
Products and add-ons: what they are and where they show up
On top of services you get a second catalog layer: products. Think of it as a micro-shop for the counter. It does not replace an online store (no public cart, no online payment, no stock), but it covers 90% of what you need to register an in-person sale: the client walked out with a wax, with a shampoo, with a voucher.
Add-on vs product: the difference that matters
The two kinds look alike but serve different purposes. Mental rule: an add-on attaches to a service; a product stands on its own.
| Trait | Add-on | Product |
|---|---|---|
| Tied to a service? | Yes, it is a service extra. | No, sold on its own. |
| Typical example | Extra hydrating mask during a cut | Bottle of shampoo to take home |
| Where it appears in checkout | 'Add-ons' tab, next to services. | 'Products' tab, separate section. |
| Makes sense without the service? | Rarely: the mask happens during the cut. | Yes: client walked in just to buy. |
| Shows up in reports as | Sale line tied to the booking. | Standalone sale line (may have no booking). |
How a product reaches the cart
At checkout, the products catalog appears on the left, organised in tabs. You tap on a product and it enters the cart as a new line. Each line has editable quantity (tap the number and adjust) and a visible unit price. The line total is qty × unit price, and it adds up to the subtotal.
Use cases by industry
- Barbershop: service groups by area (Hair, Beard, Color). Products: styling wax, pomade, beard oil, maintenance kit.
- Hair salon: groups by audience (Women, Men, Kids) or technique (Cut, Color, Treatments). Products: professional shampoo, mask, hair serums.
- Aesthetics: groups by body area (Face, Body, Hands). Products: face creams, serums, body oils, gift vouchers.
- Tattoo studio: groups by style (Fine line, Traditional, Realism, Cover-up). Products: aftercare (healing cream, film).
- Spa / massage: groups by type (Massage, Body treatment, Rituals). Products: essential oils, candles, gift kits.
Honest limitations you will want to know
FAQ
Can I create sub-groups (Hair > Cut > Women's)?
No. Groups are single-level. To work around it, use more specific names: instead of 'Hair > Women's > Cut', use a group named 'Women's cut' with the services inside (Plain cut, Cut and blow dry, Cut and highlights). Or use the service name itself as an implicit category: 'Women's cut · Plain', 'Women's cut · With wash'.
If I delete a group, do I lose the services inside it?
No. Deleting a group only removes the header. The services that lived inside it become ungrouped (loose at the top of the list), and you can move them into another group or leave them flat. Service data (name, price, duration) is untouched.
Can a service show up in two groups at once?
No. Each service belongs to one group (or to none). If you need 'Plain cut' to appear in both Women's Hair and Men's Hair, create two separate services (one in each group). The extra effort pays off in clarity for the client.
Practical difference between add-on and product in the revenue report?
In the report, both show up as product revenue (not service revenue). The difference is purely a checkout-flow thing: add-on appears next to services, product appears in its own section. For financial analysis, you can filter revenue by category 'service' vs 'product' and see the share of each. More on this in /blog/read-reports-in-bookhero.
Can I sell vouchers / gift cards as a product?
Yes, common use. Create a 'Voucher €30' product priced at €30 and add it to the cart when the client buys. The receipt acts as proof. The system does not generate voucher codes or track redemption, so you need paper/QR on the side if you want to control redemption. For most small businesses, a paper voucher with a stamp and a date is enough.
Next in the help center
- How to create and manage services in BookHero: name, duration, price (fixed, starts at, variable), description and visibility.
- Customize your public booking page: logo, banner, brand color, service order, hide services.
- How to checkout in BookHero: the flow where products enter the cart.
- Read the reports: revenue by service vs product, sales ranking, top employees.