Most customers don't have a favourite stylist. They land on your public page, find the service they want, pick a slot and tap 'Book' without ever opening the employee list. For BookHero that's a 'no preference' booking and it raises one question: who gets it?
The answer has two parts. First, the system builds a list of employees who can actually perform that service at that time (the mechanical part). Then it applies one of three strategies you configured to pick one of them (the policy part). This guide covers both and shows you how to change the strategy.
Where the customer says 'no preference'
On your business's public page, after picking the service, the customer sees an employee selector. The first option is 'No preference' and it's pre-selected. Customers in a hurry tap 'Book' without touching it. Customers with a favourite tap a specific name.
How BookHero filters the eligible candidates
Before any strategy runs, the system narrows the whole team down to a smaller set: employees who can genuinely perform that service at that moment with no conflict. The filter runs in this order:
- Only bookable employees (with the 'is_bookable' flag on). Anyone marked non-bookable stays out of the pool, even if their session is active.
- Only employees assigned to the requested service in the Employees x Services matrix. If Rita only does manicures and the service is a haircut, she's out.
- No conflict with other bookings in the slot. Whoever already has a customer in that window is dropped.
- No approved or pending time off covering the window. Holidays and absences hide the employee.
- No per-employee time blocks (lunch, training) overlapping the slot. Whole-business blocks refuse the booking earlier anyway.
The three assignment strategies
Once the candidate list is ready, the system applies one of three rules to pick one. The rule is the same across the whole business (it doesn't vary by service) and you can change it in Settings at any time.
Which strategy for which business
| Business type | Recommendation | Why |
|---|---|---|
| Solo or duo barbershop | Random | Tiny team, low variance. Simplicity beats optimisation. |
| Salon with 4-8 employees | Round-robin | Predictable, fair distribution. Each person takes their turn. |
| Large team with long services | Least busy that day | Stops one employee from piling up customers while others sit idle. |
| Seasonal business with peaks | Least busy that day | On busy days it balances. On quiet days it behaves like random. |
| Team with very distinct skill sets | Round-robin | The matrix already filters who does what. Round-robin only rotates inside the eligible set. |
| Business with a 'star' employee | Round-robin or Least busy | Stops the star from grabbing everything. Customers who ask for them by name still get them. |
How to change the strategy (and how to test)
Open Settings
From the dashboard menu, go to 'Settings'. Look for the card titled 'How no preference bookings are assigned'.
Pick the strategy
Three radio options: 'Random', 'Round-robin', 'Least busy that day'. Each one has a short line under it explaining the behaviour.
Save
The 'Save' button only appears when your choice differs from the current one. Tap to confirm: you'll see a green 'Saved' as visual confirmation.
Test with a real booking
Go to your public page (link at /[slug]), pick a service, pick 'No preference' and create a test booking. Check the calendar to see who got it. Repeat 2-3 times to spot the pattern.
Adjust if needed
There's no penalty for changing the strategy a few times in the early weeks. Try round-robin for a week, watch the result, switch to least busy if the load isn't balancing the way you want.
FAQ
Does the strategy apply to bookings I create manually in the calendar?
No. When you build a manual booking, you pick the employee yourself at the time. Auto-assign only runs when the booking arrives without a chosen employee, which mostly happens on the public page with 'No preference'.
If an employee works fewer hours, does round-robin scale the share?
No. Round-robin doesn't weight hours; it just rotates through the eligible list. If you want a part-time employee to get fewer bookings, 'Least busy that day' is closer to that behaviour (since it counts each person's existing bookings).
Can I have a different strategy per service (e.g. cuts round-robin, manicures random)?
No. The strategy is one per business and applies to all services. If you need different behaviours, the Employees x Services matrix already filters a lot (each service has its own pool), and the global rule applies inside that pool.
What happens if I change the strategy mid-day?
Bookings already created stay where they are. New incoming bookings immediately use the new rule. No transition window, no cache: it's instant.
Does 'Least busy that day' count cancelled bookings?
No. Cancelled bookings don't add to the daily load. If Anna had five bookings and three got cancelled, she counts as 2 for auto-assign purposes.
Next up in the help centre
Auto-assign touches pieces you configured earlier (team, schedules, services matrix) and affects pieces you'll check next (booking list, calendar). These guides open naturally from here:
- Add employees and individual schedules: invite the team, roles, services matrix, per-person hours.
- Manage bookings from the public page: how bookings come in, where they show up, what to do with them.
- Create a manual booking in the calendar: when you need to book by hand and pick the employee directly.