TriblockHR Help Center
← All modules
Admin Guide

Time Off Requests

The full lifecycle: the coverage board, what an approver is shown before they decide, denials that can be counted, and the two-step cancellation of approved leave.

The coverage board

Timeoffs opens on a board rather than a list, because the question an approver actually has is "can we spare them?" rather than "what came in?". It has three parts:

PartWhat it answers
The decision bandAcross the top: "1 request needs your decision — approve or deny them from the queue on the right", with three counters — how many are out today of your headcount, how many are awaiting you, and how many are away in the month on screen.
The main panelThree views, each at its own address so you can link or bookmark one: Calendar (a month of Who's Out, each day counting how many are away and naming any public holiday), Timeline (the same range as one scrolling row per person), and Requests (the filterable table). An old /timeoffs link lands on the calendar. Your filters and search apply to all three, not just the table. Clicking a calendar day opens a peek listing who is away, and a legend runs underneath — a colour per leave type, plus Pending and Public holiday.
The right-hand railYour balances as rings — remaining against the entitlement, "as of today" — then Awaiting your approval with Approve / Deny / View details on each row, then Your upcoming time off. Each panel scrolls on its own, so reading the queue never means scrolling a month of calendar first.

The board counts pending as well as approved leave — pending days are outlined rather than filled. An approver deciding on next Tuesday needs to see what is already provisionally booked for it, not only what has been signed off. The panel states its own scope: "2 of 278 people have leave booked in September 2026. Showing only the people you have permission to see."

With nothing waiting on you the queue says so — "Nothing needs your decision" — rather than showing an empty table. Employees who approve nothing get the same board framed around their own leave instead.

Needs Attention lists up to eight requests with their hours and status, and tells you it is "Showing X of N". View All deliberately lists only what waits on you, so the link and its count agree.

Two things the board leaves out on purpose Terminated people are hidden from every view and every count unless your Terminated Users setting says otherwise — so a leaver's old requests don't inflate today's numbers. And a row whose owner you are not permitted to see reads Out of Office with no colour and no buttons, rather than being hidden entirely, so the coverage count stays honest without disclosing who it is.

Lengths read in hours on the board ("40 hours"), and leave-type lists follow your account's configured display order rather than alphabetical.

The coverage board
🖼 Image placeholder

The coverage board

Screenshot from a demo admin account: /timeoffs with the board side by side — balance rings, the Who's Out calendar, and the right-hand rail showing Awaiting your approval. App viewport only, 1520px wide. Captured 2026-09-07, replacing the pre-September flat-table shot. Worth improving on the next reseed: the current seed has only one pending request and two people away all month, so every day reads "1 out" and no public holiday falls inside the month — a seed with several pending requests across different people, and a month containing a holiday, would show the coverage story the page is describing.

Save as: admin-guide__time__time-off__shot1.png

Filtering all requests

The Requests tab carries two rows of controls. Quick filters — All, Pending, Approved, Denied, Mine — and an employment filter bar: Department, Work Title, Employment Level, Division. The employment filters narrow the calendar and the headcount as well as the table, so "2 of 6 people away" stays a true statement about the slice you are looking at rather than about the whole company.

Copy calendar link hands you a signed subscription URL to paste into Google Calendar or Apple Calendar. It is personal to you and shows what you are permitted to see — treat it as a credential, not a share link.

Request statuses

StatusMeaning
PendingSubmitted, awaiting a decision. Already deducted from the balance the screens show.
ApprovedGranted. Days are on the timesheet; balance is committed.
DeniedRejected, with a recorded reason and — usually — a reason code.
Cancel RequestedEmployee asked to cancel an approved request; awaiting sign-off.
CancelledCancellation signed off. Timesheet entries removed, balance restored.
A pending request is already spent Balances everywhere in TriblockHR exclude only cancelled and denied leave, so a pending request has already come off the figure you are reading. Approving it changes the balance by nothing; denying it is what puts the days back. That is why the approval screen names both numbers rather than one.

The request form

A request (created by the employee, or by an admin on their behalf with Request Time Off) is a three-step wizard on its own page: Type & dates, Details, Review. Continue validates only the step you are on, and only the last step can submit — with Send request, or Send for extra approval where the request goes over balance.

FieldBehavior
TypeGrouped by the category the type belongs to and searchable (Search leave types). The type's configuration drives everything below.
All DayYes: pick a range on a calendar — click the start, click the end. No: a single Date plus Hours, from 15 minutes up to 8 hours.
Days selectedFor multi-day requests, work-schedule days are pre-selected automatically (when the type uses work schedules); individual days can be unticked. Weekends and payable holidays are already excluded from the count.
Supporting DocumentRequired when the type demands it (e.g., sick notes). Accepts images, Word documents, and PDFs. Checked on the Details step rather than at submit, so nobody gets through Review only to be refused.
Note for your approverOptional — anything they should know about cover.
Payment advanceShown for types configured for lump-sum payment — pays the leave out in advance rather than period by period.
Back payAdmin-only, for types that allow back-dating — treats past-dated leave as catch-up pay.
Payment in lieuAdmin-only — pays out the leave at the ordinary rate and hides it from the time-off calendar.

Two rails sit beside the wizard. The policy rail quotes the chosen type's own policy lines and the notice it asks for, headed with the type's name. The balance outcome panel says what the request does to the balance and how payroll will treat the days — "Payroll treats these days as paid at full rate", "…as unpaid, so that period's gross pay drops", or "Whether these days are paid is confirmed at approval", depending on the type's pay treatment.

Blackout dates are enforced at selection time: if the type follows blackout dates, an overlapping range is refused with the dates named.

Asking for more days than the balance holds

What happens depends entirely on the type's configuration — see Time-Off Configuration:

Paying in full is the default again For a stretch in late 2026 an over-balance request could be split into paid and unpaid days without anyone choosing that. It no longer is: every negative-balance type was put back onto paid-in-full, and stored splits were cleared so those requests pay in full. Requests an approved or published payroll had already paid keep their original split, so payslips still agree with them. The split only happens where somebody has deliberately chosen it.
Where a split is chosen, payroll does not yet act on it The paid and unpaid day counts are recorded on the request at the moment it was agreed — deliberately, since accruals and other leave move the balance before payroll runs. But that split is a record for the approver and requester; it does not by itself reduce what the pay run pays. If you rely on unpaid overage days, check the pay run's time-off lines before approving.

Editing a request

An edit is measured against the balance only on a leave type that allows a negative balance and is set to block or split the overage — so editing cannot be used to get around that choice. On every other type an edit saves as it always did. A zero-hour edit is refused on every type.

Unpaid time off can be edited in any status. Leave that has already been paid is a different matter — see cancelling below.

What an approver sees before deciding

Opening a request no longer shows just the dates and a balance. A strip across the top gives Type, Dates, Length and — the new one — Balance after, the figure that actually answers "can they afford this?". Beside it an Impact panel carries the findings: every row is something that could make the decision go the other way, each with a verdict shown as a tick (clear), a warning (something to weigh) or a neutral dot (cannot be computed).

RowWhat it says
Coverage"Nobody else is away", or "4 other people are away in these dates" with "At worst 5 of 22 are off on the same day, counting this request." The two figures measure different things and each line says which.
NoticeWorking days of notice given, against what the type asks for — "7 working days of notice, as asked" or "Only 2 working days". Counted in working days, not calendar days, so a Friday request for a Monday start is one day of notice.
Balance"Balance stays healthy" or "This takes the balance negative", with both numbers: what is left with the request standing, and what you would restore by denying it.
Supporting documentOnly shown for types that require one — attached, or conspicuously not.
Payroll"These days have missed their payroll" — paid leave filed after the run that should have carried it went out, with back pay off. Approving as it stands pays nothing.
RetrospectiveLeave already in the past with back pay off, so nothing tells payroll to reach back for it.
AdvanceA lump sum asked for on a type that is not set up to pay one.
ConflictsBack-dating on a type that forbids it; over balance on a type that does not permit it; blackout days inside the range; public holidays in the range (not a warning — it is why the day count looks low); and the requester's own overlapping leave, which would book them off twice.

Beside it, Also away lists who else is off on those dates, and the approval trail shows the life of the request: its submission, every status change, and every workflow stage approved along the way — each naming the person who acted and when.

The trail records what happened, not what is pending Stages nobody has actioned yet are deliberately left out. A workflow stage can be assigned to a whole group — "the department manager" — so a pending entry could not name who it was waiting on, and read as noise. Unlike the paginated Timeoff Logs, the trail always shows the request's beginning.
Approval impact on a request
🖼 Image placeholder

Approval impact on a request

Screenshot from a demo admin account: an open pending request at /timeoffs/{id}, with the Impact panel as the subject. Captured 2026-09-07. Worth re-taking: the seeded request is all-clear, so the panel shows two ticks and one neutral dot and no warning row at all — which undersells the feature. A better shot needs a request that trips several at once: 2 working days of notice on a type asking for 5, dates overlapping colleagues' approved leave, and a public holiday inside the range. The approval trail also sits below the fold here and should be in frame.

Save as: admin-guide__time__time-off__shot2.png

Approving and denying

Pending requests show Approve and Deny to anyone with time-off handling rights, plus Edit Timeoff. You can decide from three places: the queue on the board, the request itself, and the person's own Time Off tab.

The server decides which buttons you see Since the October 2026 redesign, a button appears only when the action would actually be accepted from you, now. Approve needs the request to be pending, you to hold a handling role and be able to see the owner, and the workflow to accept an approval from you at this point (or no workflow to be pending). So somebody later in a chain sees no Approve button until their stage opens — the chain is enforced, not advisory. A separate Workflows button gives View Workflow Status and Run Workflow to anyone who may run workflows. See Approval Workflows.

Approving asks you to confirm

Approve opens a confirmation dialog, the same as Deny and Sign Off. Confirm and it is sent; the decision is recorded, the employee notified and any automations run.

There is no undo An earlier version of this screen held the approval for a few seconds behind an Undo toast. That was dropped in the October 2026 redesign in favour of the confirm dialog, so confirming is final. If you approve something by mistake, the route back is a cancellation — see Cancelling approved time off — not an undo.

Denials that can be counted

Denying still requires words — a Deny Reason the employee reads, quoted verbatim in the notification. On top of that you can pick a reason code, which is what makes denials reportable:

CodeSuggested wording
Coverage"We would not have enough cover on these dates."
Notice too short"This does not give us enough notice for these dates."
Blackout period"These dates fall inside a blackout period."
Balance too low"You do not have enough balance left for these dates."

The deny screen is Deny Timeoff Request, with Deny request and Keep pending as its two exits. Picking a code drops its suggested wording into the box — but only when the box is empty or still holds another untouched suggestion. Once you have written your own words, picking a different chip changes the code and leaves your text alone. The code is optional, and denials made without one are recorded as unclassified rather than as "other".

Approving does real work downstream

  1. The days are written onto the employee's open timesheets for the covered period (marked as time-off lines, so they can't be casually edited).
  2. The employee is notified.
  3. The balance commits — which, per the note above, usually means the figure does not move.
Approve before the timesheet exists, and the days still land — but not the reverse Auto-placement writes to the employee's open timesheet — one whose pay run is still draft or pending. (Advances also reach future periods within your account's lookahead.) A timesheet created after the approval is not a problem: it starts with those days already on it. What auto-placement cannot do is add days to a period whose run is already approved or published. Recall an approved run to reopen it, then pull the days in with Select Time Off Days in the timesheet editor. Details in Payroll → Timesheets.

Who sees which button

The server works this out per viewer, per request, from the same rules that accept or refuse the action — so a button you can see is one that will work. A handling role below means administrator, HR admin, payroll admin, HR clerk, or an employee holding handle_timeoffs.

ButtonShown when
ApprovePending, handling role, owner visible, and the workflow accepts an approval from you now (or no workflow is pending).
DenyPending, handling role, owner visible, nobody else's stage is open, and the workflow accepts a failure from you.
Cancel RequestPending, and you are the owner or hold a handling role.
Request to CancelApproved, not yet paid, and you are the owner or hold a handling role.
Sign OffCancel requested, not paid, and you hold a handling role. Owners cannot sign off their own cancellation without one.
Edit Time OffNot paid, and you pass the update rules. Editing is refused on a terminated person's request, and on a request whose leave type is masked from you.
Delete Time OffDenied or cancelled, and you may use the delete route — HR and payroll administrators can clear these out.
LogsAdministrators, HR and payroll administrators, and anyone with direct reports.
Payment closes the door on edits and cancellations Once an approved pay run has paid a request's hours it reads Completely Paid: Yes, and from that point Edit Time Off and Request to Cancel disappear, and signing off a cancellation is refused. Corrections then belong in payroll, not here. Payment History on the request links to the pay runs that paid it, for anyone who may open them.

Cancelling approved time off

Plans change. A pending request can simply be cancelled by its owner. An approved request takes two steps:

  1. The employee (or admin) opens the request and clicks Request to Cancel, providing a Cancel Reason. Status moves to Cancel Requested.
  2. An approver opens the request and clicks Sign Off. Status moves to Cancelled, the timesheet entries are removed automatically, and the balance is restored.

Approved time off that has already been fully paid can no longer be cancelled this way — the Request to Cancel button disappears. Handle corrections through payroll instead. A cancellation waiting on you appears in the queue alongside requests, and the held-approve window applies to signing one off too.

Approve, deny, and the cancel flow (4–5 min)
▶ Video placeholder

Approve, deny, and the cancel flow (4–5 min)

Screen recording with two browser windows side by side (employee and manager): employee submits a request, manager approves it, show the timesheet lines appear; then employee requests cancellation, manager signs off, show the lines disappear and the balance restore. The two-window format makes the handoffs obvious. Re-record note: this predates the rebuilt board and the impact panel — the manager's half should now start on the board's queue and open the request to read the impact rows. Do not demonstrate an undo window: approving now opens a confirm dialog and there is no undo.

Save as: admin-guide__time__time-off__vid1.mp4

Reading approval impact before you decide (3–4 min)
▶ Video placeholder

Reading approval impact before you decide (3–4 min)

Demo admin account, single window. Open a deliberately awkward pending request — short notice, two colleagues already off, a public holiday in the range — and walk the impact rows one at a time, saying what each would change about the decision. Then deny it with the Coverage chip, showing that the suggested wording can be replaced. Close on the approval trail. Calm, teaching tone; this is the page approvers will actually be sent to.

Save as: admin-guide__time__time-off__vid2.mp4

Privacy: what other people can see

The board and the person's Time Off tab both answer to your account's calendar privacy setting (Time-Off Configuration):

Two rules sit on top of the account setting. Nobody is masked from their own record — reading your own leave is not a disclosure. And on Who's Out, an employee never sees a colleague's leave type at any privacy level, including Public: why somebody is away is as often medical or bereavement as it is a holiday. The person tab is the exception, because it answers to a supervisor who has been given that person to look after.

Where a panel is missing because of masking, the page says so rather than rendering blank — an absent balance would read as "this person holds none", which is a different and wrong statement about them.

Audit trail

Every request keeps a log (Timeoff Logs on the request view) of who did what and when — submissions, edits, decisions, and cancellations. The approval trail above it is the readable summary of the same record, and unlike the paginated log it always shows the request's beginning.