Skip to content
Knowledge ERP Docs

API Reference ↗
Appointments

Time Off

Holidays, courses and afternoons out — recorded as a period with a from and a to, and subtracted from the person's working hours everywhere a booking is written.

Time off is when somebody is not there. It is subtracted from the working week you set under Staff Availability, so it narrows their availability without you having to touch the week itself.

The same permissions as Staff Availability. Recording somebody's week and recording their holiday is one job, so this page needs view_any_staff_hours (and create_staff_hours to add a row) — exactly what the Front Desk role already holds. Nobody had to be given anything new.

Booking somebody out #

Open Appointments → Time OffBook time off, and answer three questions.

  • Who. Only people marked as Takes appointments under Users & Access → Users are listed — somebody who never gets booked has no availability to take off.
  • Which days. A First day off and a Last day off. Leave the second the same as the first for a single day; it fills itself in that way as soon as you pick the first.
  • How much of it. The whole time for a full day or a run of full days, or Only part of the day to give an Away from and a Back at. Either time can be left blank: away from 1:00 PM with nothing after it means the rest of that day, and a Back at on its own means from the start of the day until then.

A Reason is optional and is seen only by staff.

Off Friday afternoon #

One row. First day and last day both that Friday, Only part of the day, away from 1pm, nothing in Back at. Her morning is still bookable and her afternoon is not.

This is the case the screen exists for. It used to be recorded on the working-hours row instead, where the only absence you could express was a whole day — so an afternoon off had to be written back to front, as the 08:0013:00 she was working. A novice in user testing did not make that leap and said plainly that a new starter would block out the whole Friday and lose the morning's patients.

A few days away #

First day the Friday, last day the Monday. If you give times, they bracket the whole absence rather than repeating on each day: away from 1:00 PM on the Friday and back at 11:00 AM on the Monday means the Friday morning and the Monday afternoon are still bookable and everything between them is not — which is what "off from Friday lunchtime until Monday morning" means.

Something that happens every week — every Friday afternoon, say — is a pattern, not time off. Give them a short Friday under Staff Availability instead.

Where it is enforced #

Everywhere a booking is written, because time off comes out of the working hours before anything asks about them:

  • The public booking calendar never sells a slot inside it.
  • The staff booking form stops offering those times, and refuses a typed-in one — naming the hours the person is left with that day. Book anyway releases it when you mean it.
  • The Reschedule action refuses a move into it.
  • The appointment's own page and the dashboard mark a booking that falls inside it as a scheduling clash.
  • The customer portal and the emailed manage-booking link stop offering it and refuse it.
  • The API and the AI connector reject one with a 422 unless the request says ignore_scheduling_warnings.

Existing bookings are not moved #

Recording time off stops new bookings; it does not cancel appointments already in the diary. Those show up as a scheduling clash on the appointment and on the dashboard, so somebody can ring the customers and move them — which is a conversation, not something the app should do on its own.

The list #

Current and upcoming time off only, by default. Last year's holidays are still there behind the filter; they are not what anybody opening this screen is looking for.

What it does not do #

This is availability for booking, not a leave-approval system: there is nothing to approve, no allowance, and no balance. It exists so customers are not offered times nobody can keep.