Back to blogHelp

Automatic employee assignment: how BookHero picks who gets the 'no preference' booking

When a customer books without picking an employee, BookHero picks for you. This guide walks through the three strategies (random, round-robin, least busy that day), how the system filters the candidate pool, and how to change the rule in Settings so the work gets spread the way it should for your business.

Published on 17 May 2026 7 min read

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.

The public business page. When the customer reaches the employee step, 'No preference' is the first option. That's the booking auto-assign resolves internally.

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 Employees x Services matrix is the most important filter. For a 'Cut' booking with no preference, only John and Sofia enter the pool. Rita only does manicures, so she's out.

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

Recommended strategy by business type
Business typeRecommendationWhy
Solo or duo barbershopRandomTiny team, low variance. Simplicity beats optimisation.
Salon with 4-8 employeesRound-robinPredictable, fair distribution. Each person takes their turn.
Large team with long servicesLeast busy that dayStops one employee from piling up customers while others sit idle.
Seasonal business with peaksLeast busy that dayOn busy days it balances. On quiet days it behaves like random.
Team with very distinct skill setsRound-robinThe matrix already filters who does what. Round-robin only rotates inside the eligible set.
Business with a 'star' employeeRound-robin or Least busyStops the star from grabbing everything. Customers who ask for them by name still get them.

How to change the strategy (and how to test)

  1. Open Settings

    From the dashboard menu, go to 'Settings'. Look for the card titled 'How no preference bookings are assigned'.

  2. Pick the strategy

    Three radio options: 'Random', 'Round-robin', 'Least busy that day'. Each one has a short line under it explaining the behaviour.

  3. 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.

  4. 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.

  5. 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: