How to Set Up Your Service Menu — and Why Duration Quietly Decides Your Whole Day
Every service you create is four numbers and a switch: a duration, a price, a capacity and an active flag. The duration is the one almost nobody thinks about, and it is the one that decides which times customers are offered, how many appointments fit in a day, and how many minutes you stay open without being bookable at all. Here is the arithmetic, checked against a real booking engine, plus an audit for the menu you already have.
Create Your Free PageMost advice about service menus is about wording. Name your services clearly, write a good description, do not list forty of them. That advice is fine and this page will get to it. But it skips the part that actually changes your day, which is that a service duration is not a label on a price list — it is the step size of your booking grid. Type 45 minutes and your customers are offered 09:00, 09:45, 10:30, 11:15. They are never offered 10:00, and your last bookable start of the day moves an hour and a quarter earlier than you would guess. Nobody decides this; it falls out of the arithmetic. This page works through that arithmetic, gives you a planner to run your own numbers, and then covers the rest of the menu — price, capacity, the active switch — with the limits stated plainly.
Key Takeaways
- A duration is not a label, it is the step size of your booking grid. A 45-minute service in a 09:00–17:00 day offers 09:00, 09:45, 10:30, 11:15 and so on. Customers are never offered 10:00.
- Slots per shift = ⌊shift length ÷ duration⌋. Minutes you are open but unbookable = shift length mod duration. An eight-hour day selling 45-minute services strands 30 minutes every single day.
- Durations that divide your shift exactly strand nothing. On an eight-hour day that is 15, 20, 30, 40, 60, 120. The popular 45, 50, 75, 90 and 100 all leave a tail.
- A shorter service recovers the tail. A 45-minute service stops offering starts at 15:45, but a 30-minute service on the same menu is still offered at 16:30 — because the grid is computed per service, not per day.
- Every booking re-anchors the grid. One 60-minute booking at 11:00 splits the day into 09:00–11:00 and 12:00–17:00, and the afternoon's 45-minute starts restart from 12:00 — a different grid from the morning's.
- Capacity turns one slot into many seats. Eight hourly slots at ten seats is 80 bookable places a day from the same eight hours. Revenue per open hour, not price, is the number worth comparing across a menu.
- New services are created inactive. Nothing is bookable until you switch it on, which is how you stage a menu rather than publishing half-finished entries.
- There is no credible industry benchmark for the "right" appointment length. The figures circulating in booking-software blog posts trace back to vendor pages without published methodology. What you can rely on is your own shift length and the arithmetic below.
- The honest limits: BookrHub has no service categories, no per-staff service assignment, no per-service buffer or cleanup time, no add-ons or multi-service bookings, and no deposits.
On this page
- A service is four numbers and a switch
- Duration is the grid, not a label
- What each duration actually costs you
- The shorter service that recovers the tail
- Every booking re-anchors the grid
- Planner: slots, stranded time and revenue per open hour
- Choosing a duration: measure, then round
- Price: one number, charged in full
- Capacity: one slot, many seats
- Active and inactive: the switch that controls everything
- The 10-point service menu audit
- How BookrHub stores a service
- What BookrHub does not do
- FAQ
A service is four numbers and a switch
Strip away the interface and a bookable service is a very small object. It has a name, a short description, an optional longer one, and then four decisions that do real work:
| Field | What it really controls | Allowed range |
|---|---|---|
| Duration | The step size of the booking grid, and therefore which start times exist at all | 1 to 1,439 minutes (anything under a full day) |
| Price | The amount charged at booking, in full, when payment is switched on | Zero or more — zero makes the service free to book |
| Capacity | How many people may hold the same slot: one by default, or a class size | 1, or 2 to 999 with multiple bookings enabled (Business plan) |
| Status | Whether customers can see and book it. New services start inactive | Active or inactive |
The name and the short description are required; the long description is optional. Everything else a customer experiences — the times they are offered, what they pay, whether they can bring four friends, whether the service exists in public at all — comes out of those four.
Three of the four are obvious. You know what you charge. You know whether something is a class. You know whether you are still selling it. The duration is the one that looks obvious and is not, because its effect is not local to the service. It reaches out and reshapes the whole day.
Duration is the grid, not a label
Here is the mechanism, which is worth understanding once because every other surprise in this article follows from it.
When a customer picks a service and a date, the system takes your opening hours for that weekday, subtracts anything already blocking the diary, and is left with one or more free stretches of time. Inside each stretch it then walks forward from the start in steps of the service duration, offering a start time at every step, and it stops as soon as the next step would not leave room for the whole service before the stretch ends.
Two consequences, and neither is a setting you can change:
The grid is anchored to the start of the stretch, and steps by the duration. Open at 09:00 with a 45-minute service and the offered starts are 09:00, 09:45, 10:30, 11:15, 12:00, and so on. There is no 10:00 and no 11:00. If customers tell you they cannot find a round time, this is why, and nothing is broken.
The last start is closing time minus the duration, rounded down to the grid. That second part is the one that costs money. A 45-minute service in a 09:00–17:00 day has its last bookable start at 15:45, not 16:15, because 16:30 is a grid position and a 16:30 start would run to 17:15. So the day ends, for that service, at 16:30 — and you are open and unbookable from 16:30 to 17:00.
The two formulas
- Bookable starts in a shift = ⌊L ÷ D⌋
- Minutes open but unbookable = L mod D (the remainder)
Where L is the length of the open shift in minutes and D is the service duration. Both were checked against the live availability engine for every duration in the table below.
What each duration actually costs you
An eight-hour day, 09:00 to 17:00, which is 480 minutes. Here is what each common duration does to it. Every row was computed by running the engine's own slot-generation logic, not estimated.
| Duration | Bookable starts | Last start | Ends | Open but unbookable | First five starts |
|---|---|---|---|---|---|
| 15 min | 32 | 16:45 | 17:00 | 0 | 09:00, 09:15, 09:30, 09:45, 10:00 |
| 20 min | 24 | 16:40 | 17:00 | 0 | 09:00, 09:20, 09:40, 10:00, 10:20 |
| 30 min | 16 | 16:30 | 17:00 | 0 | 09:00, 09:30, 10:00, 10:30, 11:00 |
| 40 min | 12 | 16:20 | 17:00 | 0 | 09:00, 09:40, 10:20, 11:00, 11:40 |
| 45 min | 10 | 15:45 | 16:30 | 30 min | 09:00, 09:45, 10:30, 11:15, 12:00 |
| 50 min | 9 | 15:40 | 16:30 | 30 min | 09:00, 09:50, 10:40, 11:30, 12:20 |
| 60 min | 8 | 16:00 | 17:00 | 0 | 09:00, 10:00, 11:00, 12:00, 13:00 |
| 75 min | 6 | 15:15 | 16:30 | 30 min | 09:00, 10:15, 11:30, 12:45, 14:00 |
| 90 min | 5 | 15:00 | 16:30 | 30 min | 09:00, 10:30, 12:00, 13:30, 15:00 |
| 100 min | 4 | 14:00 | 15:40 | 80 min | 09:00, 10:40, 12:20, 14:00 |
| 120 min | 4 | 15:00 | 17:00 | 0 | 09:00, 11:00, 13:00, 15:00 |
Read the right-hand column of that table and the forty-five-minute haircut stops looking innocent. Over a six-day week it strands three hours. Over a year, allowing four weeks off, it is about 144 hours — three and a half working weeks of being open with the lights on and the door unlocked and no start time on offer.
The hundred-minute row is the instructive one. It is only ten minutes longer than ninety, and it costs you 80 stranded minutes instead of 30, because 100 divides into 480 four times with a large remainder. Durations are not smoothly better or worse. They are good or bad depending on how they tile into the shift you actually keep, and a ten-minute change can swing the answer either way.
None of this is an argument for only selling half-hours. A ninety-minute massage is ninety minutes; you cannot make it sixty because sixty tiles nicely. The argument is that the remainder is a real, countable cost that you are currently paying without seeing it, and that there are usually two or three ways to stop paying it.
The shorter service that recovers the tail
The most useful consequence of the per-service grid is also the least obvious, and it is good news.
The grid is recomputed for whichever service the customer picked. It is not a property of the day. So two services with different durations present different grids on the same open shift — and a short service reaches into the tail that a long one cannot.
Take the 09:00–17:00 day again. A 45-minute service stops at 15:45 and leaves 16:30–17:00 unbookable. A 30-minute service on the same menu, on the same day, is offered at 16:30, because 16:30 plus 30 minutes is exactly 17:00. The tail is not lost. It is simply unreachable by the long service and perfectly reachable by a short one.
This turns a scheduling annoyance into a menu decision. If your main service is 45, 50, 75 or 90 minutes — all of which strand 30 minutes on an eight-hour day — then having one genuinely short service on the menu is what converts that tail into revenue. A fringe trim, a quick repair, a consultation, a single-area treatment: something you are happy to do at the end of the day and that fits the remainder exactly.
Two caveats, stated honestly. The remainder is only bookable if a customer happens to want the short service at that hour, so this raises your ceiling rather than guaranteeing the booking. And the tail only exists at the end of a shift — if you run split shifts, each shift has its own remainder, which is usually an argument for checking both halves of the day separately rather than assuming the morning behaves like the afternoon.
Every booking re-anchors the grid
So far the day has been empty. Real days are not, and the moment one booking lands the grid stops being a tidy sequence from opening time.
Existing bookings and blocked-out periods are merged into a set of busy stretches, and the free stretches between them become the places where slots are generated. Each free stretch gets its own grid, anchored to its own start.
Concretely, on that 09:00–17:00 day, with one 60-minute appointment already booked at 11:00, a customer asking for a 45-minute service sees:
| Free stretch | 45-minute starts offered |
|---|---|
| 09:00 – 11:00 | 09:00, 09:45 |
| 12:00 – 17:00 | 12:00, 12:45, 13:30, 14:15, 15:00, 15:45 |
Three things changed. The morning lost 10:30, because a 10:30 start would run into the 11:00 booking. The afternoon re-anchored to 12:00, so the afternoon grid is now 12:00/12:45/13:30 rather than the empty day's 12:00/12:45/13:30 — in this case identical by coincidence, and in general not. And the day went from ten bookable starts to eight: that single hour-long booking consumed the equivalent of two 45-minute slots.
This is why "how many appointments fit in a day" has no fixed answer once the day has anything in it, and why the empty-day slot count from the table above is a ceiling rather than a plan. It is also why a cancellation genuinely does reopen the diary: when the booking disappears, the stretches merge back together and the grid regenerates across the whole span rather than leaving a hole the shape of the old appointment.
One practical note that follows directly: because slots are generated right up against the edges of free stretches, appointments can be booked back-to-back with no gap at all. There is no separate cleanup-time field. If you need ten minutes between clients, the honest way to get it is to put those ten minutes inside the service duration — sell a 40-minute service for a 30-minute treatment. It is not elegant, but it is reliable, and it tiles into the day the same way any other duration does.
Planner: slots, stranded time and revenue per open hour
Put your own numbers in. The slot arithmetic matches the engine exactly; the money columns are a ceiling at full occupancy, which is useful for comparing two services against each other and useless as a forecast.
| Bookable starts in the shift | — |
| First starts offered (shift opening at 09:00) | — |
| Last bookable start → ends | — |
| Minutes open but unbookable | — |
| Seats per day | — |
| Revenue ceiling per day (100% full) | — |
| Revenue ceiling per open hour | — |
| Nearest durations that strand nothing | — |
The grid is shown from a 09:00 opening for readability; only the shift length matters to the arithmetic. The revenue figures are a ceiling at 100% occupancy, not a forecast — no business books out every slot, and the useful comparison is between two services on your own menu, not against the ceiling itself.
Choosing a duration: measure, then round
There is no published benchmark worth quoting for how long an appointment should be. The numbers that circulate — a precise percentage of utilisation gained from "accurate durations", an average length for this or that treatment — trace back to software vendors citing unnamed industry research, and several of them disagree with each other. Treat them as marketing. The two inputs that are actually reliable are a stopwatch and your own opening hours.
A method that works:
- Time the service ten times, end to end. From the moment the customer sits down to the moment the space is ready for the next one. Include the chat, the payment, the sweeping. Most people underestimate this by five to ten minutes, which is exactly the amount that makes a diary run late by mid-afternoon.
- Take something near the top of that range, not the average. A duration set to the average runs late half the time, and lateness compounds forwards through the day while an early finish does not compound backwards. The 70th-to-80th percentile of your ten measurements is a reasonable target.
- Now look at your shift length and round to a duration that tiles. Divide your shift by the candidate duration and look at the remainder. If rounding up by five minutes takes the remainder to zero, round up: you gain buffer and lose the tail. If rounding up costs you a whole slot, keep the shorter figure and plan to fill the tail with a short service instead.
- Check both halves of a split shift. A duration that tiles a 240-minute morning may strand time in a 180-minute afternoon.
- Re-measure when the service changes. New products, a new assistant, a different room layout all move the real duration, and nothing in the system notices.
The planner above does step three for you: enter a duration and it names the nearest durations that divide your shift exactly.
Price: one number, charged in full
Price is a single number per service, formatted in your company's currency. There is one behaviour worth being completely clear about, because it is the thing most often assumed wrongly.
When payment at booking is switched on, the customer is charged the full price of the service at the moment of booking. There is no deposit. There is no partial amount, no percentage, no "pay 20% now and the rest in the chair" — those fields do not exist anywhere in BookrHub, and a service's price is copied straight onto the booking as both its price and its total amount. If you have read advice elsewhere about taking a small deposit to discourage no-shows, that advice does not map onto this product.
Two things follow. First, a service priced at zero is bookable without payment, which is the normal way to run consultations, first sessions and anything you settle in person. Second, if you want a smaller commitment amount than the full price, the only honest route is a workaround rather than a feature: create a cheap, short, separately-priced service — a booking fee, a consultation — take that online, and settle the balance in person. It is a workaround. It is worth naming as one.
Where payment is required, there is also a holding window: an unpaid booking is given ten minutes to complete payment, after which it expires and the slot goes back on sale. For a capacity service that detail matters more than it sounds, because it is what stops ten abandoned checkouts holding a class hostage.
Capacity: one slot, many seats
By default a service has a capacity of one: one slot, one customer, and the slot disappears when it is taken. Switching on multiple bookings per slot and setting a maximum turns that slot into a room with seats in it — the mechanism behind classes, workshops and group sessions. The maximum can be anything from 2 to 999, and the feature requires the Business plan.
Capacity behaves differently from a normal service in three ways that matter:
- Capacity is counted per time slot across the whole business, not per staff member. A class at 18:00 with twelve seats has twelve seats, regardless of who is teaching it. The remaining count is shown to the customer as they choose.
- Seats are counted by overlap, and cancelled bookings do not count. A seat is occupied if its appointment overlaps the slot in question, so a cancellation genuinely frees a place immediately.
- The grid still steps by the duration. A 90-minute class on an eight-hour day still gets five starts and still strands 30 minutes. Capacity multiplies the seats at each start; it does not change where the starts are.
The reason to care is that capacity changes which number you should be comparing across your menu. Price per booking tells you very little once some services hold one person and others hold twelve. Revenue per open hour is the comparison that survives:
| Service | Duration | Seats | Price | Starts/day | Seats/day | Ceiling/day | Ceiling per open hour |
|---|---|---|---|---|---|---|---|
| One-to-one session | 60 min | 1 | 50 | 8 | 8 | 400 | 50 |
| Group class | 60 min | 10 | 15 | 8 | 80 | 1,200 | 150 |
| Long group class | 90 min | 12 | 18 | 5 | 60 | 1,080 | 135 |
All three rows are a ceiling at 100% occupancy on a 480-minute day, and no studio is ever 100% full — a class at half capacity and a one-to-one slot that is always taken can easily come out the same way round. The point of the table is not the absolute figures but the ranking it reveals: the 90-minute class charges more per head than the hourly one and still earns less per open hour, because the longer duration costs it three starts and 30 stranded minutes. That is the kind of thing a price list cannot show you and this arithmetic can.
Active and inactive: the switch that controls everything
A new service is created inactive. It exists, it is saved, and no customer can see or book it until you activate it. This surprises people — and it is the right default, because it means a half-finished menu is never briefly live.
Used deliberately, the switch is the most useful small feature in the service list:
- Stage a menu before opening it. Create everything, get the durations and prices right, then activate in one pass.
- Retire a service without destroying its history. Deactivating hides it from customers and keeps every past booking, which is what you want when you look at last year's revenue. Deleting a service you still have bookings for is not the same thing.
- Run seasonal services honestly. Activate in season, deactivate out of it, rather than leaving something bookable that you cannot currently deliver.
- Deactivate instead of apologising. If the machine is broken or the specialist has left, the switch takes the service out of circulation in one click and no customer books a thing you cannot do.
If the service you just created is not appearing for customers, this is almost always the reason, and it is worth checking before anything else.
The 10-point service menu audit
Twenty minutes, your own menu, a pen. Each item is a question with a right answer, not a matter of taste.
- Does every duration include the real turnaround? Chat, payment, cleaning, resetting the room. If not, the diary runs late by mid-afternoon and no setting will fix it.
- Divide your shift by each duration. What is the remainder? Anything other than zero is minutes you are open and unbookable, every day that service is your last of the day.
- Is there one genuinely short service that fits the remainder? If your main service strands 30 minutes, a 30-minute service is what reaches 16:30.
- Check both halves of a split shift separately. Two shifts, two remainders.
- Is every service you still sell active, and every one you do not inactive? Dead entries on a live menu generate bookings you have to apologise for.
- Does each short description tell a first-time customer what they actually get? It is the only text shown at the point of choosing. "Treatment B" is not a description.
- Is the price the full amount you want taken at booking? Because the full amount is what will be taken. There is no deposit.
- For every class, is the capacity the real limit of the room? Not the limit you hope for. The system will sell every seat you declare.
- Are there near-duplicate services that differ only by who performs them? They cannot be assigned to specific staff, so duplicates like this create confusion rather than control. One service, one duration, one price is usually the honest version.
- Can a first-time customer choose in under thirty seconds? This is the one item on the list that is a judgement call, and it is the one most menus fail. BrightLocal's 2025 survey of 1,000 US consumers found 56% often or always check that a business's information is correct and matches what they see elsewhere, so a sprawling, half-stale menu is not just confusing — it is the thing being checked.
How BookrHub stores a service
For completeness, and because it explains the limits in the next section, here is what a service is in BookrHub, field by field.
| Field | Required | Rules |
|---|---|---|
| Name | Yes | Free text |
| Short description | Yes | Shown when the customer is choosing |
| Long description | No | Optional detail |
| Duration | Yes | A whole number of minutes, greater than zero and less than a full day (so up to 1,439). Displayed to customers as hours and minutes in their language |
| Price | Yes | Zero or more, formatted in the company's currency. Copied onto each booking as its price and total |
| Multiple bookings per slot | No | Off by default. Only takes effect on the Business plan |
| Maximum per slot | Only if the above is on | A whole number from 2 to 999. Required when multiple bookings are enabled |
| Status | Yes | Active or inactive. Inactive by default |
Availability is then produced from three things: the company's opening hours for that weekday, including split shifts; everything already in the diary, including blocked-out periods; and the duration of the service being booked. For same-day bookings there is one more company-wide setting — a lead-time buffer, five minutes by default, which hides start times that are already too close to now. That is a lead time, not a gap between appointments; it does not space out your diary.
What BookrHub does not do
Stated plainly, because knowing the edges before you build a menu is worth more than discovering them afterwards.
- No service categories or groups. The menu is a flat list. There are no headings, no folders, and no manual ordering — the list is ordered by when services were created and whether they are active. A long menu cannot be visually grouped, which is a real argument for keeping it short.
- No per-staff service assignment. Services belong to the business, not to individual team members. You cannot say that only one person performs a given treatment, and you cannot price the same service differently per person.
- No per-service buffer or cleanup time. Appointments can sit back-to-back. Build the turnaround into the duration.
- No add-ons and no multi-service bookings. One booking holds exactly one service. A customer who wants a cut and a colour books one service that covers both, or two separate appointments — there is no basket.
- No processing or gap time inside a service. A treatment that is 20 minutes of work, 30 minutes of waiting and 20 minutes of work again is a single 70-minute block; the system cannot release the middle part to someone else.
- No variable pricing. One price per service — no peak and off-peak, no per-staff rates, no first-visit pricing.
- No deposits. Full price at booking, or free. Covered above, and worth repeating because it is the most commonly assumed feature in this category.
- Capacity needs the Business plan. On other plans a service holds one person. The Independent plan also caps bookings at 150 a month, and "any specialist" booking is a Business-plan behaviour.
Several of these point the same way: BookrHub's service model is deliberately small. If you run a menu that genuinely needs per-stylist pricing, add-on baskets and colour-processing gaps, a heavier salon-specific system will fit you better, and it is more useful to hear that here than after an afternoon of setup.
Sources and method
- BrightLocal, Local Consumer Review Survey 2026 — representative panel of 1,002 US adult consumers via SurveyMonkey, published February 2026.
- BrightLocal, Consumer Search Behavior — representative panel of 1,000 US adult consumers via SurveyMonkey, published April 2025.
- Slot arithmetic in this article was derived from the BookrHub availability engine and then checked by re-implementing it independently: slot counts, last bookable starts and stranded minutes were computed for durations of 15, 20, 30, 40, 45, 50, 60, 75, 90, 100 and 120 minutes against a 480-minute shift, and the closed forms (⌊L ÷ D⌋ slots, L mod D stranded minutes) match the engine's output for every one of them.
- Product behaviour was verified against the BookrHub application source in October 2026: the service model and its validations, the availability and capacity slot builders, the free-gap builder, the booking model's payment window, and the plan gating on multiple bookings per slot.
- No figure for "optimal appointment duration" or "ideal service menu size" is cited here. A search of the available material found such numbers only on booking-software vendor pages that attribute them to unnamed "industry research" or to reports with no published methodology, and several conflict with each other. They are omitted rather than repeated.
Related reading: managing appointments day to day, class booking for yoga and Pilates studios, group fitness and capacity, taking payment at booking, staff management, client management, tracking what you actually earned, and a website that shares the same service records.
Run the audit on your own menu
Take your shift length, divide it by each service duration you sell, and look at the remainder. If it is not zero, you are open and unbookable for that many minutes a day. Create a free BookrHub page and set the menu up once, properly.
Create Free AccountFrequently Asked Questions
How long should an appointment be?
There is no benchmark worth trusting — the figures that circulate in booking-software articles trace back to vendor pages citing unnamed industry research, and several contradict each other. Do it empirically instead. Time the service ten times end to end, including the conversation, the payment and the cleaning up, and take something near the top of that range rather than the average, because running late compounds forwards through a day and finishing early does not compound backwards. Then round to a duration that divides your open shift exactly, if a five-minute nudge gets you there: on an eight-hour day, 15, 20, 30, 40, 60 and 120 minutes leave no remainder, while 45, 50, 75, 90 and 100 all do.
Why don't my customers see round times like 10:00?
Because the start times are not a fixed timetable — they are generated by stepping forward from the beginning of your open stretch in steps of the service duration. A 45-minute service starting from a 09:00 opening produces 09:00, 09:45, 10:30, 11:15, 12:00 and so on, so 10:00 and 11:00 never appear. Nothing is broken and there is no setting to change it. If you want round times, you need a duration that divides an hour: 15, 20, 30 or 60 minutes.
How many appointments fit in a day?
On an empty day, the number of bookable starts is the length of your open shift divided by the service duration, rounded down. An eight-hour shift fits 8 one-hour appointments, 10 forty-five-minute ones, or 16 half-hour ones. The remainder is minutes you are open without being bookable: 45-minute services leave 30 minutes stranded on an eight-hour day, and 100-minute services leave 80. Once anything is in the diary the number drops further, because each booking splits the day into shorter free stretches and each stretch is tiled separately — one 60-minute booking at 11:00 takes a 45-minute service's day from ten starts to eight.
What happens to the available times after someone books?
The day is split into the free stretches around what is booked, and each stretch gets its own grid anchored to its own start. On a 09:00–17:00 day with a 60-minute appointment at 11:00, a 45-minute service is offered 09:00 and 09:45 in the morning — 10:30 disappears because it would run into the booking — and then 12:00, 12:45, 13:30, 14:15, 15:00 and 15:45 in the afternoon. A cancellation reverses this properly: the stretches merge back together and the times regenerate across the whole span, rather than leaving a hole the shape of the cancelled appointment.
Should I create one service per variation, or fewer services?
Fewer, for a structural reason as well as a readability one: the menu is a flat list with no categories, no folders and no manual ordering, so a long menu cannot be tidied with headings. Create a separate service when the duration genuinely differs, because duration is what shapes the day. Do not create one to express a price variation you could handle in person, and do not create near-duplicates that differ only by who performs the service, since services cannot be assigned to particular staff members anyway. One useful exception: deliberately keep one short service on the menu, because it is what reaches the end-of-day remainder your longer services cannot.
Can I charge different prices for different staff members, or at peak times?
No. A service carries exactly one price, which is copied onto the booking as its price and total. There is no per-staff rate, no peak and off-peak pricing, and no first-visit price. Services belong to the business rather than to individual team members, so a senior stylist and a junior one are the same service at the same price. If that distinction is central to how you charge, a heavier salon-specific system will fit you better than BookrHub will.
Can I add buffer or cleanup time between appointments?
Not as a separate setting. Slots are generated right up to the edges of each free stretch, so appointments can be booked back-to-back with no gap. The reliable way to get turnaround time is to include it in the service duration — sell a 40-minute service for a 30-minute treatment and the extra ten minutes travels with every booking automatically. There is a company-wide buffer setting, five minutes by default, but it is a lead time for same-day bookings: it hides start times that are already too close to right now. It does not space out your diary.
How do I run a class where several people book the same time?
Switch on multiple bookings per slot for that service and set a maximum between 2 and 999; it is a Business-plan feature. The slot then behaves like a room with seats: capacity is counted per time slot across the whole business rather than per staff member, customers see how many places are left, and seats are counted by overlap so a cancellation frees a place straight away. If payment is required, each participant pays separately and an unpaid booking expires after ten minutes, which is what stops abandoned checkouts holding seats. Note that the grid still steps by the duration — a 90-minute class on an eight-hour day still gets five starts and still strands 30 minutes.
Why is my new service not showing up for customers?
Almost certainly because it is inactive. New services are created inactive by default, so they exist and are saved but nobody can see or book them until you switch them on. That default is deliberate — it means a half-finished menu is never briefly live — but it does catch people out. Check the status first. If it is active and still not appearing, check that your opening hours for the day are active and that the service duration actually fits inside a free stretch: a 120-minute service cannot be offered anywhere in a 90-minute gap.
What are the limits of BookrHub's service setup?
Real ones, worth knowing before you build a menu. There are no service categories or groups and no manual ordering, so the menu is a flat list. Services cannot be assigned to individual staff members, and cannot be priced differently per person or per time of day. There is no per-service buffer or cleanup time. One booking holds exactly one service, so there are no add-ons and no baskets, and no way to release the waiting portion of a service — a colour's processing gap, for instance — to another customer. Capacity for classes needs the Business plan, as does any-specialist booking, and the Independent plan caps bookings at 150 a month. And there are no deposits anywhere in BookrHub: when a service requires payment, the full price is charged at the moment of booking.
Ready to Get Started?
Take bookings online for free with BookrHub — with a service menu that fits the hours you actually keep.