Team
Staff Services & Proficiency
Last updated 19 May 2026
Staff Services & Proficiency
Control which services each team member can perform, set proficiency levels, and optionally override the default duration or price, so the right staff appear for the right services when customers book.
Where to find it. Web: Sidebar → Team → select staff member → Services tab. Mobile: More → Team → staff member → Edit next to Services.
TL;DR
- Only staff assigned to a service appear as options when customers book, if no staff are assigned, the service cannot be booked online.
- Proficiency level defaults to Junior and does not affect booking availability by itself, it is informational.
- Duration and price overrides replace the base service values for that specific staff member only.
- Staff can toggle their own services on/off but cannot set proficiency, duration, or price overrides (those require Owner or Manager access).
Overview
Staff service assignments let you:
- Assign or unassign services for each team member using checkboxes or toggles
- Set a proficiency level per service (Junior, Senior, Master, Expert)
- Override the base service duration for a specific team member (e.g. a junior may take longer)
- Override the base service price for a specific team member (e.g. a master charges more)
- Control which staff members appear as options when a customer books a particular service
Only staff members assigned to a service will appear as available when that service is booked, either through online booking or when creating a booking manually.
Assigning services on web
Opening the services tab
- Go to Team in the sidebar.
- Select the team member from the list.
- Click the Services tab in the detail pane.
The Service Proficiency & Overrides table shows all venue services split into two groups:
| Group | What it contains |
|---|---|
| Assigned ({count}) | Services the team member currently performs (checkbox ticked) |
| Available ({count}) | Services not yet assigned to this team member |
Assigning a service
- In the Available section, tick the checkbox next to the service you want to assign.
- The service moves to the Assigned group and the proficiency, duration, and price fields become editable.
- Optionally, set the proficiency level, custom duration, or price override (see below).
- Click Save Services.
Unassigning a service
- In the Assigned section, untick the checkbox next to the service.
- Click Save Services.
The team member will no longer appear as an option when customers book that service.
Select all
A checkbox in the table header selects or deselects all services at once. When some services are selected, the header checkbox shows an indeterminate state.
Table columns
| Column | What it controls |
|---|---|
| Checkbox | Whether the service is assigned to this team member |
| Service | Service name with a badge showing the base duration and price (e.g. "45m / $39.50") |
| Proficiency | Dropdown: Junior, Senior, Master, or Expert |
| Duration (mins) | Optional override, replaces the base service duration for this team member |
| Price Override | Optional override, the price for this team member (entered in dollars, stored in cents) |
Assigning services on mobile
- Go to More → Team.
- Tap the team member.
- Tap Edit next to the Services card.
- The header shows: "{count} of {total} services assigned".
Each service appears as a card with a toggle switch on the right.
Assigning a service
- Toggle the switch on for the service you want to assign.
- Tap the service name to expand the detail section.
- Optionally, set the proficiency, duration, or price (see below).
- Tap Save Services.
Unassigning a service
- Toggle the switch off for the service.
- The detail section collapses automatically.
- Tap Save Services.
Expanded detail fields
When a service is assigned and you tap the service name, a detail section expands with three fields:
- Proficiency: four inline buttons: Junior, Senior, Master, Expert (selected button is filled, others are outlined)
- Custom Duration (minutes): number input. Placeholder shows the base duration (e.g. "Default: 45").
- Price Override: decimal input. Placeholder shows the base price (e.g. "Default: $39.50").
Proficiency levels
Each staff-service assignment has a proficiency level that indicates the team member's skill for that service.
| Level | Value |
|---|---|
| Junior | Default for new assignments |
| Senior | - |
| Master | - |
| Expert | - |
The proficiency level defaults to Junior when a service is first assigned. Change it using the dropdown (web) or inline buttons (mobile).
Tip
Proficiency levels are stored per staff-service pair. A team member can be a Junior for one service and a Master for another.
Proficiency-linked pricing (PRO)
If your venue has Proficiency-linked pricing enabled at Settings → Smart Pricing, the staff member's proficiency level on each service automatically drives the price the customer sees.
Three layers compose at booking time:
- Per-service tier prices — each service can have a price for each tier (junior / senior / master / expert) in its
proficiencyPricesmap. - Staff proficiency — each staff-service pair has a proficiency level (this page's main subject).
- Per-staff override — a manual price override always wins over the tier price.
The price resolver picks in this order:
- Service is marked Price on Application → POA
- Per-staff price override exists → use that
- Venue has proficiency pricing on AND the staff has a level AND the service has a tier price for that level → use the tier price
- Fall back to the service's base price
On the storefront, the customer sees a "from £X" hint on the service card showing the lowest tier price. When they pick a stylist, the displayed price updates live to that stylist's tier price (with a small +£N or -£N delta vs base in muted text).
First-run setup walks you through it: enable the toggle, set tier prices per service (defaults to multipliers of base: junior 0.75×, senior 1.0×, master 1.25×, expert 1.5×), then assign a proficiency level to each team member.
See Smart Pricing for the venue toggle and the wizard. Proficiency pricing composes with Smart Pricing dynamic rules — time-of-day adjustments apply on top of the resolved tier price.
Duration override
The duration override replaces the base service duration for a specific team member. This is useful when a team member takes more or less time than average.
- Leave blank to use the base service duration.
- Enter a number (in minutes) to override it for this team member only.
For example, if a "Full Balayage" service has a base duration of 120 minutes but a junior stylist typically needs 150 minutes, enter 150 in the duration field for that staff-service assignment.
The overridden duration is used when calculating available time slots for this team member.
Price override
The price override sets a custom price for a specific team member performing a service. This is useful when senior or specialist staff charge different rates.
- Leave blank to use the base service price.
- Enter an amount (in dollars) to set a custom price for this team member.
The price is entered in dollars (e.g. "45.00") but stored internally in cents. It is displayed on the booking form when the customer selects this staff member for the service.
How service assignments affect bookings
Service assignments directly control which staff appear during online and manual booking.
- Online booking: When a customer selects a service, only staff members assigned to that service appear as options.
- Manual booking: When an owner or manager creates a booking and selects a service, the staff picker only shows team members assigned to that service.
- Duration and price: If a staff member has a custom duration or price override, those values are used instead of the base service values when booking with that staff member.
If no staff members are assigned to a service, the service cannot be booked (no available time slots will appear).
Staff self-service
Staff members can select which services they offer during onboarding or via their own profile on mobile. However, the staff self-service flow only allows toggling services on or off, staff cannot set proficiency levels, custom durations, or price overrides. Those fields can only be configured by an owner or manager.
Role access
| Action | Owner | Manager | Stylist |
|---|---|---|---|
| Assign/unassign services for any staff | Yes | Yes (Stylists only) | No |
| Set proficiency, duration, and price overrides | Yes | Yes (Stylists only) | No |
| Select own services (toggle only, no overrides) | Yes | Yes | Yes (via self-service) |
| View assigned services | Yes | Yes | Own services only |
Platform differences
| Feature | Web | Mobile |
|---|---|---|
| Layout | Table with columns (checkbox, service, proficiency, duration, price) | Card list with toggles and expandable detail sections |
| Proficiency selector | Dropdown (select menu) | Four inline buttons (radio-style) |
| Grouping | Two sections: "Assigned" and "Available" with counts | Single list with toggle states; count shown in header |
| Select all | Header checkbox (check all / uncheck all / indeterminate) | Not available |
| Duration input | Number field in table column | Number field in expanded detail |
| Price input | Number field in table column | Decimal field in expanded detail |
| Save button | Save Services (top-right of card, changes style when dirty) | Save Services (bottom of screen, full width) |
| Service badge | "45m / $39.50" badge next to service name | "Default: 45" / "Default: $39.50" as placeholders |
| Expand/collapse | Fields always visible for assigned services | Tap service name to expand; detail hidden when collapsed or unassigned |
Troubleshooting
| Issue | Solution |
|---|---|
| Staff member not appearing as an option when booking a service | The staff member is not assigned to that service. Go to Team → select the staff member → Services tab and tick the checkbox for the service, then click Save Services. |
| Service shows no available time slots | Check that at least one active staff member is assigned to the service. If no staff are assigned, the service cannot be booked. Go to Team and assign staff to the service. |
| Custom duration or price not saving | Ensure you clicked Save Services after making changes. On web, the save button changes appearance when there are unsaved changes. On mobile, tap Save Services at the bottom of the screen. |
| Staff member sees services they do not perform | An owner or manager assigned those services to the staff member's profile. To remove them, go to Team → select the staff member → Services tab, untick the unwanted services, and save. |
| Price override shows a different amount than expected | The price override is entered in dollars but stored in cents. Ensure you entered the full dollar amount (e.g. "45.00" for $45). The system rounds to the nearest cent. |
| Cannot edit proficiency or price as a staff member | Only owners and managers can set proficiency levels, custom durations, and price overrides. Staff members can only toggle which services they offer (on/off), without overrides. |
FAQ
Why isn't a staff member appearing as an option when booking a service?
The staff member is not assigned to that service. Go to Team → select the staff member → Services tab and tick the checkbox for the service, then click Save Services. If no staff are assigned to a service, it cannot be booked at all.
How do I set a different price for a senior stylist?
Use the Price Override field on the staff-service assignment. Enter the amount in dollars (e.g. "75.00") and it will appear when a customer selects that stylist for the service. Leave the field blank to use the base service price.
What does proficiency level do?
Proficiency (Junior, Senior, Master, Expert) is stored per staff-service pair and indicates skill level. It defaults to Junior for new assignments. A team member can have a different proficiency level for each service they offer.
Can staff members set their own proficiency and price overrides?
No, staff can only toggle services on or off via self-service. Proficiency levels, custom durations, and price overrides can only be set by Owners or Managers from the Services tab in the admin team page.