Help centre · HR
Leave
Open this screen in Saral/hr/leaves
Holidays, absences and TOIL for everyone in the group, on one register. A manager with leave.view_all sees the Calendar (workers by day), the List, the Planner, the Summary (holiday balances and absence scores) and the Pending queue; a worker sees their own time off, balance and requests on the same route. Every balance on every screen comes from one engine, so the register, the worker's own page and the leave report never disagree.
You enter
- A new holiday, absence or TOIL booking from New leave — the worker, the dates (half days allowed), the type and a note; TOIL earned is granted the same way.
- A decision on each pending request — approve or decline — and, when a worker asks to change a booking, the amendment.
- The period (day, week, month; year on the List), the category (All, Holiday, Absences, TOIL, Balances), the worker-type and status filters, and the search.
- A worker: their own request, with the dates and the type; TOIL they are asking to be credited.
Saral fills in
- Each worker's allowance, taken, remaining and TOIL pool for the leave year — from lib/hr/holiday-balances.ts, the one engine every leave figure reads.
- Bank holidays, company shutdowns and blackout periods, drawn on the Calendar and checked when a booking is made.
- Who approves each request, from Leave Approvers (personal row, then project, then company default), and the approver's name on every row.
- The absence summary — spells, days and the Bradford score per worker, in the company's own bands.
- The pending count on the tab, and the hatched pending bookings on the Calendar while Show pending is on.
It produces
- The leave report (PDF and Excel with totals by formula) and CSV exports of the period, the list or the holiday summary.
- Approved bookings the Site Register, the rota and the worker's own page all read; a paid holiday on an invoice where the worker's profile allows it.
- Emails to approvers (one, or every approver with something waiting) and the audit trail on each request.
What this page is for
Leave is one register for the whole group: holidays, absences and TOIL, booked by the worker or on their behalf, decided by the right approver and visible to everyone who plans the work. A manager with leave.view_all gets the full register; everyone else gets their own Time off page on the same route, with their balance, their requests and a button to ask for more. The Calendar, the Planner and the Site Register read the same approved bookings, so a day off is never recorded twice.
One balance, everywhere
Every figure that says how much holiday a worker has — the Summary tab, the worker's own tiles, the approver's view, the leave statement, the booking check — is produced by one engine (lib/hr/holiday-balances.ts). It reads the allowance, the leave year, carry-over, accrual from hours for irregular workers and TOIL, and returns one row per worker. Until it existed three arithmetics disagreed on purpose; now the admin side and the worker's portal show the same number because it is the same number.
Who may book, and who may be booked for
A worker books their own holiday and TOIL in the app only when Holiday & TOIL requests is on in their profile (HR → Workers → the worker → Admin tab); it is off until somebody turns it on, and absences can always be logged for them. Agency workers have no paid holiday here — absences only — unless that switch is on. An approver may book for the people they approve unless Can book for them is switched off on their personal row in Leave Approvers. A worker who also holds a staff role is never treated as a self-service worker by mistake: the gate reads the resolved role set.
From request to decision
A request goes to the approver Leave Approvers resolves — a personal row first, then the project's approver, then the company default, and to every Admin when none is set. The Pending tab is the queue, with a count on the tab and a chip per approver; the Calendar shows the same requests hatched. Approval reminders, a weekly digest and approving lapsed requests on the approver's behalf are policy switches, all off by default unless your account changed them. An amendment a worker asks for is decided the same way.
Absence, not just holiday
Absences are recorded as their own types (sickness, medical, unpaid and the company's own), and the Summary's Absence tab scores each worker's pattern with the Bradford Factor — spells squared times days — in the bands the policy sets, merging spells across days the worker was not due in. The Bradford Factor report under Reports is the same calculation with a longer window and an export.
Where the settings live
HR → Settings → Leave & Absence owns the leave year, hours in a leave day, carry-over, the accrual rate for irregular hours, which types need approval, the concurrent-leave limit, blackout periods, company shutdowns, cover rules, the Bradford bands and the leave-type names and colours. Who approves is on Leave Approvers. Whether a worker may request holiday and TOIL, and whether paid holiday goes on their invoice, is on the worker's profile.
Next screen: /hr/leave-approvers
Not what you needed? Inside Saral, ask Kuku (Alt+K) — if it cannot answer, “Ask a human” sends the question to Saral support with the chat attached.