Staff hours, time off, eligibility, and assignment

How to manage staff availability and assign the right person

A blank calendar slot is not enough. The person must be working, not away, qualified for the service, free for the full interval, and selected by a rule the customer and staff can understand.

Turn an open time into one explainable staff assignment.

First checks

  1. Build effective availability

    Combine recurring hours, shifts, time off, and busy intervals instead of trusting one calendar.

  2. Filter by service

    Remove inactive or unqualified staff before any assignment method runs.

  3. Declare the method

    Keep customer choice, first available, fair rotation, and priority visibly different.

  4. Recheck every change

    Treat reassignment and overrides as review events, not silent edits.

A synthetic mobile-service timeline: a 10:30 job end, 15-minute cleanup and 25-minute travel block an 11:00 request; the 15-minute booking grid makes 11:15 the earliest safe offered time.
A blank-looking calendar cell can still be impossible.Add service time, cleanup, preparation, travel, and the booking grid before offering the next start.
Staff assignment checker

Who can take this appointment—and why?

Change the interval, service, assignment method, customer choice, or override. The three invented staff records stay fixed so every result remains explainable.

Your result

One staff assignment passes

Ben passes the declared staff availability, eligibility, and assignment rules. Dependent resource, location, travel, integration, and permission checks still remain.

Selected person
Ben
Eligible staff
Ava, Ben
Excluded staff
Cora: time off

This planning aid is deterministic and read-only. It stores nothing, changes no counter, approves no exception, and cannot prove concurrency or named-product behavior.

Why open time can still be impossible

Availability answers when; assignment answers who.

Booking software often combines team hours, personal calendars, holidays, service skills, customer choice, automatic rotation, and staff edits. If one input is stale or one rule is hidden, a customer can see a slot that no suitable person can actually fulfil.

The staff-assignment rule

Eligible assignment = active staff + working interval + service eligibility + no time off + no conflict + declared selection rule

At 10:00, Ava is working but has more prior assignments, Ben starts at 10:00 and has fewer, and Cora is on time off. Fair rotation selects Ben; a customer-specific request for Cora must fail visibly.

Follow the complete staff-assignment workflow
  1. Name each staff identity

    Use one stable record for each person, their active state, services, location eligibility, and accountable schedule owner.

  2. Build the working interval

    Start with recurring hours, then apply date-specific shifts, time off, breaks, and authoritative busy intervals.

  3. Filter by service eligibility

    Exclude staff who cannot perform this service before ranking or showing their time.

  4. Apply the assignment method

    Honor exact staff choice or run one declared automatic rule with a stable tie-break.

  5. Confirm dependent capacity

    Check rooms, equipment, branch, service area, full duration, buffers, travel, and booking policy separately.

  6. Reconcile changes and exceptions

    When time or staff changes, preserve the original assignment and recheck messages, calendars, APIs, permissions, and audit history.

Compare the five assignment models

Customer chooses staff

A returning client requests one named person.

Rule
Keep the identity fixed and fail visibly if that person is unavailable.
Watch for
A staff-specific link can silently fall back to someone else.

Any eligible person

The customer wants the earliest valid appointment.

Rule
Compare only eligible staff and disclose that the person may be assigned automatically.
Watch for
The earliest slot can be wrong when one schedule or time-off source is stale.

First available

Choose one deterministic person from the earliest valid group.

Rule
Define ordering and a stable identity tie-break before the request arrives.
Watch for
Array or API response order is not a business rule.

Fair rotation

Prefer the eligible person with the lowest comparable assignment count.

Rule
Define the counting window, exclusions, tie-break, and when counters change.
Watch for
A round-robin label alone does not prove fair long-run distribution.

Priority or exception

Use a preferred order or approve one conflict knowingly.

Rule
Expose the priority or exception, actor, reason, consequence, and rechecks.
Watch for
An admin button can manufacture impossible availability without warning.
Recheck changes and demo failures
01

Time off is added

Remove future impossible slots

Recalculate every affected booking surface and flag existing future assignments for review without rewriting history.

02

Working hours change

Version the effective date

Keep past assignments intact and re-evaluate future openings against the new schedule.

03

Service eligibility changes

Review future service assignments

Do not let the person remain selectable for services they can no longer perform.

04

The customer changes staff

Treat it as reassignment

Hold the original until the replacement person and all dependent capacity checks pass.

05

The system assigns automatically

Record the method and tie-break

Keep the selection explainable and never depend on unstable response order.

06

An admin overrides a conflict

Create a visible exception review

Name the actor, reason, consequence, affected records, and recovery owner before confirmation.

Holidays remain bookable

Time off exists in one schedule but customer availability ignores it.

The first empty provider breaks the page

Other eligible people disappear because one person's calendar has no slots.

A named link changes staff

Customer intent is lost through an undisclosed fallback.

Round robin has no definition

The product cannot explain the counting window, exclusions, priorities, or tie-break.

Backend bookings bypass every rule

Staff can create an ordinary confirmed appointment during time off or a known conflict.

Reassignment changes only one screen

Resources, location, travel, customer messages, calendars, APIs, or audit history still name the old person.

Make one person unavailable before comparing products.

Use the same invented service, hour, staff identities, shifts, time off, busy intervals, service eligibility, counters, and priorities in every product trial.

  1. Test customer choice, first available, fair rotation, and priority from fresh copies of the same 10:00-11:00 fixture.
  2. Add time off, remove service eligibility, move the booking, change the selected staff, and attempt one attributable admin exception.
  3. Compare customer availability, staff schedule, booking record, resource and location state, messages, calendar/API identity, audit trail, and recovery view.

Next steps