Back to blogHelp

How to manage team time off in BookHero: vacation, sick days, training and approvals (complete guide)

Everything you need to log formal time off for each team member in BookHero: reasons, full-day or partial, multi-day ranges, approval, impact on public bookings and the practical difference from a one-off time block on the calendar.

Published on 17 May 2026 8 min read

Not every absence is a short break. The annual vacation for John, a week of sick leave for Rita, the Saturday Peter spends at an off-site training: these don't fit under the calendar 'Block' button because you need more than just sealing the slot. You need a reason, you need approval, and you need a history for reports and end-of-year paperwork.

This guide takes you from the right tab to a logged time off, covering reason, approval, partial absences, multi-day ranges and what happens in parallel on the public page and inside the calendar. By the end you'll know when to log formally and when a one-off calendar block is enough. If you don't know that second path yet, start with our guide on how to block time on the calendar.

Where it lives: Employees > Schedules > Time off

The time-off screen sits next to the team schedules, not inside the calendar. That's deliberate: here you manage absences as an HR record, not as a visual block. The path is Employees (sidebar) > Schedules > Time off (the third tab, with the plane icon).

  • Each card is one employee, with avatar, total days, approved days, pending days and upcoming days.
  • At the top of the page you see a global summary across the whole team. Useful if you manage several people.
  • The '+ Time off' button at the top opens the create modal without preselecting an employee; the '+' inside each card preselects that one.

Step by step: logging a time off

  1. Click '+ Time off'

    The 'Add time off' modal opens. At the top you pick the format (full day, hours, or date range). Below you pick the employee(s), the reason, the approval and an optional note.

  2. Pick the format

    Three chips with icons: 'Full day' (a single day blocked entirely), 'Hours' (a range inside a single day, useful for 'I was at the doctor from 10 to 12') or 'Range' (several consecutive dates, the typical vacation shape).

  3. Set dates and times

    'Full day' only needs the date. 'Hours' needs the date plus two times (5-minute steps; the end has to be after the start). 'Range' needs a start date and an end date; the system makes sure the second is not before the first.

  4. Pick the reason

    Required. A custom picker with 8 options: personal, sick, vacation, training, no-show, late start, early leave, other. Choose carefully because the reason is stored and shows up later in filters and reports.

  5. Mark as approved (optional)

    The 'Approved' checkbox. Leave it unchecked and the row stays 'pending' until someone with permission approves it. Important: pending or approved, both states block bookings on the public page. Approval is an HR signal, not a visibility switch.

  6. Pick the employees and save

    A list of avatar chips; tap to select. 'Select all' marks the whole team at once (useful for the holiday nobody works). 'Save' files one time-off row per selected employee.

The eight reasons: when to use each

Picking the right category is what separates a useful history from a meaningless list of absences. The reason shows on the time-off card and stays for future filters, so it pays to agree on a rule across the team.

  • Vacation: planned leave booked in advance, usually several consecutive days. Pairs with the 'Range' format.
  • Sick: sick leave, flu, an unplanned doctor's visit. Often goes in as pending and is marked approved when the medical note arrives.
  • Training: a day or half-day spent at a course, workshop or supplier visit. Not strictly time off, but it still closes the calendar.
  • Personal: an unclassifiable private matter (bank, lawyer, children's school).
  • Late start / Early leave: half-day rows for when the employee comes in late or leaves early. Pairs naturally with the 'Hours' format.
  • No-show: missed work with no notice. Useful for disciplinary history and spotting patterns over the year.
  • Other: for what doesn't fit above. Use sparingly so you don't rely on the free note field instead.
An employee's week at a glance. Thursday shows as off: it can be a fixed weekly day off (coming from the base schedule) or a one-off formal time off filed on this page.

Approval: what it does, and what it doesn't

Every time-off row lives in one of two states: 'pending' or 'approved'. The badge sits on the card and you can flip it any time, even after the period has passed if you need to correct after the fact.

Pending vs approved: what changes
PendingApproved
Blocks bookings on the public pageYesYes
Shows in reports as justified absenceNoYes
Warning when creating a manual booking over itYes (warns, doesn't block)Yes (warns, doesn't block)
Counts toward approved totals on the team viewNoYes
Visual badge on the cardGrey ('pending')Green with check

Formal time off vs one-off calendar block

There are two ways to close the diary in BookHero and in the first days everyone mixes them up. This table sorts the differences in three seconds:

Time off vs time block
Time off (formal)Time block (ad-hoc)
Where to createEmployees > Schedules > Time off'Block' button on the calendar
Categorised reasonYes, required (8 options)No, free-text label only
ApprovalYes (pending / approved)Not a concept
Who can createOwner and managersAnyone with calendar access
History for reportsLogged and classified by reasonLives on the calendar, no category
VisibilityDedicated panel with per-employee totalsGrey diagonal stripe on the calendar
Typical caseVacation, sick leave, training, unjustified absenceLunch, short break, quick meeting, errand

Rule of thumb: if six months from now you'll still want to know why that day was closed, log it as formal time off. If it's just a day-to-day thing you won't need to look up again, a one-off block is enough.

Day view in the calendar: John's column is sealed by an approved vacation, drawn as a grey patterned stripe. Rita's bookings carry on as usual.

What happens to the public page and existing bookings

The moment you save a time off, three things shift at once:

  • The slots covered by the time off disappear from the public page for that employee. Clients arriving on the page still see the other employees available, but the absent one is filtered out.
  • If your public booking uses auto-assign, the system stops assigning that employee to the slots in question.
  • Inside the calendar, the time off shows as a grey stripe on the employee's column, labelled with the reason. You can still create manual bookings over it (the system warns you but doesn't block, because you may need to log something after the fact).

Edit, remove or mark as past

Once filed, each time off lives as a row on the employee's card. The three quick actions are always at hand:

  • Approve (if still pending): tap the 'Approve' button on the right of the row. The badge flips to the green check immediately.
  • Revert approval (if already approved): small circular arrow next to the badge. Useful when you approved by mistake or the medical note turned out to be invalid.
  • Remove: trash icon. Opens a native confirmation modal to prevent accidental taps. The row disappears from reports and the matching slots reopen on the public page.

Past time off stays on the employee's card, now with a 'completed' icon to set it apart from the upcoming ones. Useful to answer questions like 'how many sick days has John taken this year?' or 'how much training has the team done in 2026?'. To change a time off after it's been saved (move dates, change reason), the current path is to remove it and create a new one.

Real-world cases

Can I log time off for several people at once? (E.g. the company day when everyone is out.)

Yes. In the modal, the employees section has a 'Select all' button that picks the whole team. On save, the system creates one time-off row per employee, all with the same parameters (date, reason, approval). Each row is independent: you can approve or remove them individually later.

Is there recurring time off? For example, every Monday Peter is off.

No. The time-off screen has no recurrence. If the absence is part of the employee's weekly pattern (every Monday), the right place is the base schedule in Employees > Schedules > Base hours, where you mark Monday as a non-working day for that employee. Formal time off is for absences that fall outside the pattern.

I want to log that the employee arrived 1 hour late. Time off or block?

Time off, in 'Hours' format. Reason 'Late start', from 09:00 to 10:00. It gets logged for the history and the slots disappear from the public page (so nobody slips a booking into that hour). A one-off block would close the slot but leave nothing for reports later.

The time off starts on Thursday and the client already has a booking on Friday. How am I warned?

When you save the time off, the system counts existing bookings inside the period (from the start time onwards) and shows a warning 'X bookings affected'. The time off is saved anyway; it's on you to contact the clients and reschedule. There's no automatic cancellation to keep client-side surprises off the table.

I want to book a VIP client on a day when the employee is on vacation. Is it possible?

Yes. Internally BookHero lets you book over any time off (formal or not). When you create the manual booking, you'll see an 'Employee on time off' warning. Confirm and the booking is saved. Read more about warnings in our guide on how to create manual bookings in the calendar. Just remember the public page stays blocked: only you, from inside, can override.

Best practices for a tidy team

  • Set the internal rule upfront: vacations filed 1 month in advance go in as approved; sick days go in as pending and flip to approved when the medical note arrives.
  • For half-days and doctor's visits, prefer the 'Hours' format over creating two one-off blocks. You get the history and lose the visual noise on the calendar.
  • For holidays nobody works, use the 'Select all' button in the modal. The whole team is sealed for that day in 30 seconds.
  • Before approving long vacations, check the calendar for existing bookings in that range. Set yourself a reminder to contact those clients before the time off starts.
  • Don't rely on the free note for the reason: always pick the closest category. The note is for extra context, not a substitute for the reason.

Where this connects to the rest of the product

Time off touches three other corners of BookHero worth visiting next: