Back to blogHelp

How to create and manage services in BookHero: duration, pricing, description, photo and hide

Everything about the BookHero service catalogue: how to add a service, pick a realistic duration, decide between fixed, 'from' or variable pricing, write a description that converts, attach a photo, and hide seasonal items without losing history.

Published on 17 May 2026 9 min read

Services are the heart of BookHero. They define what a client can book on your public page, how much time each booking takes on the calendar, what flows into checkout, and what commission can be tracked per employee. Touching this catalogue touches almost everything else. So it's worth getting it right before dumping 30 lines in a rush.

This guide shows you how to build a service from scratch, pick the right pricing type, choose a duration that doesn't sabotage your calendar, and use the optional fields (description, photo, hide) so the public page sells for you.

Where services live

Services live in Storefront (URL /dashboard/storefront), in the 'Services' tab. It's the same place you customise brand colour, logo, cover, slug and store products: everything that touches your public image sits under one roof.

What you define here shows up in three different places: on the public page (where clients pick and book), in the manual booking panel (when you schedule by hand), and at checkout (when you charge). All three read from the same catalogue, so an update propagates automatically.

The public page shows your services in this list. Each row carries name, duration and price (or 'from €X' / 'on request', depending on type). This is where the client starts the booking flow.

Anatomy of a service: what to fill in

Each service has a fixed set of fields. Some are required, others optional. Worth knowing what each one does before creating the first:

  • Name (required): 2 to 80 characters. What the client reads on the page. Short and specific wins.
  • Duration in minutes (required): from 1 minute up to 24 hours. Sets how much time the booking takes on the calendar.
  • Price type (required): fixed, from, or variable. More on those below.
  • Price in euros (required if fixed or from): the value that appears on the page and pre-fills at checkout.
  • Description (optional): up to 240 characters. One line of context on the public page.
  • Photo (optional): lifts conversion for visual services. Hair, tattoo, nail art, makeup.
  • Hide (toggle): removes the service from the public page but keeps history and lets you still book it internally.
  • Group (optional): visual divider to organise services by category (e.g. Cut, Colour, Treatments).

Step by step: create a service

  1. Open Storefront › Services

    From the dashboard sidebar, head to 'Storefront' and stay on the 'Services' tab (the first one). You see the current list on the left and an 'Add service' button top-right.

  2. Click 'Add service'

    The create modal opens. It has 5 fields: name, duration (hours + minutes), price type, price in euros, description. Photo is added after the service is created.

  3. Pick a short, specific name

    'Men's haircut' beats 'Professional men's hairstyling'. Clients skim: when two services look too similar they bounce to a competitor's page. Stay under 30 characters.

  4. Set a realistic duration (with setup and cleanup)

    30 minutes for a cut usually means 5 minutes greeting, 20 of actual work and 5 of cleanup. Slicing that buffer feels efficient but slips the whole day after the third booking.

  5. Pick the price type and the value

    Fixed (you know to the cent), From (show the floor, close the rest at checkout), Variable (no public price, decide on the spot). Each has its place: see the table below.

  6. Save in the green save bar

    Every change in the service list sits as a 'draft' until you save with the save bar (top-right button). Before saving you can add several services in a row without losing your work.

The three pricing types (and when to use each)

This is the field that confuses most people at first. BookHero supports three because reality varies: not every service is charged the same, not every service is predictable up front.

Fixed vs From vs Variable
FixedFromVariable
How it shows on the public page€15From €15On request
When to useThe service always costs the same.There's a clear floor; the final depends on the work.Pricing really depends on the case and is best closed in person.
Typical exampleMen's haircut, basic manicure, blow-dry.Hair colour, massage (more minutes = more), tattoo per session.Bridal quote, tattoo design, treatment plan.
Where the final price is setAlready set: flows into checkout pre-filled.At checkout, you edit the line to the real charged value.At checkout, you type the value (line comes in with no price).
RiskNone if your price list is stable.Client may expect to pay the floor and be surprised at the final.Client lands without a price anchor: some bounce before booking.
The same page with all three pricing types side by side: fixed (€28), from (from €55), and variable (on request). For the client it's a visual choice: I know to the cent, I know the floor, or I know we'll talk.

Duration: the field people skip and regret

Duration isn't just how long the work takes. It's how much calendar time the booking holds between this client walking in and the next one being able to. Cut it to the bone and you'll be 5-10 minutes behind from mid-morning onwards.

  • Include setup: greeting, opening chat, wash (when relevant).
  • Include cleanup: payment at checkout, clearing the station, next client walking in.
  • For new services, measure 3-4 real clients before locking the number (don't trust the theoretical 'right time').
  • For services that swing a lot by client (long vs short hair), set the average on the high side and edit per booking when needed.
  • Duration is editable per booking in the manual create panel, but the template stays put.

Description, photo and hide: three optionals that pay off

How many services is too many?

A long catalogue feels like full-service depth, but in practice it hurts. A client looking at 32 lines with subtle differences either gives up or books the wrong one.

  • Between 8 and 15 visible services is the sweet spot for most businesses. Clients read the whole list without fatigue.
  • Above 20 already slows decision-making and lifts wrong-service bookings.
  • If you genuinely have 30+ variants (a large salon with detailed chemistry), use groups to split visually (Cut, Colour, Treatments).
  • Before adding one more service, ask if a similar existing one couldn't absorb it with a note.

Edit, hide and delete (and what changes in each)

After services are live, you can tweak them at any time. The three common actions land differently:

Edit vs Hide vs Delete
EditHideDelete
How to do itClick the service, modal opens, adjust and save.Eye toggle on the row (line gets struck through).Bin button, native confirmation dialog.
Public pageReflects the change after save.Service stops appearing.Service stops appearing.
Future bookingsUse the new values.You can still book internally.Can't book anymore.
Old historyUntouched.Untouched.Untouched (existing bookings keep a snapshot of values at the time).
When to usePrice, duration or description changed.Seasonal, under review, or stopping new bookings.Created by mistake or service genuinely retired for good.

Where the service shows up across the app

Worth knowing where else your service appears after you create it. It's not just the public page.

Manual booking panel: the service comes in with the duration and price from the catalogue. Both are editable per booking without affecting the template.
  • Public page (storefront): first impression. Name, duration, price, description, photo.
  • Manual booking panel: the operator picks from the same list, with duration and price pre-filled.
  • Checkout: every cart line cites the service name and price. Editable per sale for one-off cases.
  • Service report: how many bookings, what revenue, who performed (in Reports › Services).
  • Employees · Services matrix: who is qualified to perform each service.

Frequently asked questions

Can the same service have a different price per employee?

Not today. A service is unique and the price is set in the catalogue. For that case, the recommendation is to create two separate service lines (e.g. 'Cut with Junior · €15' and 'Cut with Senior · €25') and use the Employees · Services matrix to assign each one to the right person.

I changed a service's price. Does that affect bookings already on the calendar?

No. Each booking stores the price at the moment it was created. Bookings already in the calendar keep the old value until they're charged. Only bookings created after the edit pick up the new price. Same logic for duration.

I deleted a service by mistake. Can I get it back?

No automatic undo. But old bookings using that service stay intact (they snapshot the name and price). To make it available again on the public page, just create it again with the same name. The lesson: prefer hide over delete when in doubt.

I have seasonal services (summer, Christmas). Do I create and delete every year?

Create once and use the hide toggle to pull them off and back onto the page. The history stays linked to the same service (the report can compare this summer vs last summer) and you save the effort of rebuilding them every season.

Can I attach more than one photo per service?

Today, one photo per service. For services with many outcome variants (hair colour, nail art), the workaround is to split into multiple services, each with its own representative photo. Multiple photos per service is on the roadmap.

Do addons and store products count as services?

No. Services, addons and products live in different tabs of Storefront. A service is work with a duration on the calendar. An addon is an optional service added at checkout (no calendar time of its own). A product is a physical item sold alongside. More on this in customize the public booking page.

Day-to-day best practices

  • Review the catalogue once a quarter: tweak prices, hide what stopped, add variants clients asked for.
  • Before adding a new service, check if an existing one could cover the request with a note or an addon.
  • Keep names stylistically consistent: either all gendered ('Men's cut', 'Women's cut') or none.
  • For services where the price varies by length, create 2-3 clear variants instead of always reaching for 'Variable'.
  • When you hide, leave a mental note or a calendar reminder to reactivate (e.g. 'reactivate summer highlights in May').

Next up in the help centre