Time-off requests that reach the right manager, with balances that follow the real policy
Staff request time off and see true balances, and each request goes to the person's actual manager instead of a shared inbox or a hallway conversation.
- 2leave types
- 4sources
- 27 of 29emails
Vacation earned weekly with a capped carryover, plus a flat allowance that does not carry over.
Website roster, org chart, HR census, and leaders' corrections, reconciled into one approval chain.
Pattern-guessed addresses that matched a real mailbox. The other two would have bounced.
The problem
The first version of the client's time-off tracker was a single web page that saved everything in the browser. It came with ten made-up employees and canned requests. That works for a demo and fails for a company: nothing was shared between computers, there was no real sign-in, and an approval never reached anyone.
The real rules lived elsewhere. Who approves whose time off was in an org chart. How much vacation each person gets, and how it accrues, was in an HR census document. Neither agreed completely with the other, and neither was in the app.
What we built
A real application with its own database and a login for every employee.
- Sign-in that finds you. On first sign-in, a person claims the roster entry that was loaded for them ahead of time, matched by email, so their title, manager, and history attach to them instead of a blank duplicate.
- Dashboard and balances. Vacation and PTO balances, a request form, and a list of your own requests.
- Approvals. Managers see a badge for waiting requests and can approve, deny, or edit them. Each request also emails the approver.
- Team calendar. Everyone signed in can see who is out, which is what makes coverage checks possible.
- Org chart. An interactive tree of the whole company that prints to PDF at full size, on a page sized to fit the chart.
- Team and profile pages. Managers edit anyone's title, department, role, and hire date. Everyone edits their own profile.
- A policy page that shows each person their own entitlement and how carryover works.
Database rules back all of it: you can only file requests for yourself, you can cancel your own, and only managers can decide on anyone else's.
How it works
Approvals follow the org chart. Your approver is your manager, and nobody can be their own manager. Getting that chart right was its own project. Four sources disagreed: the company's public team pages, screenshots of the official org chart, the HR census, and corrections from the leaders who run each business. The rule we settled on: the census wins on titles, hire dates, and entitlements, and the operating leaders win on who reports to whom. Every correction lives in its own database change, so re-running the census import can never quietly undo a leader's fix. People missing from the census (contractors and new hires) are flagged, never deleted, because deleting them would erase their history.
Balances follow the policy as written. Vacation is granted per person in weeks, earned weekly from the hire date, and resets on each work anniversary, carrying up to five unused days forward. PTO is a separate flat allowance that does not carry over. Requests count working days only, with company holidays observed, including a Saturday holiday moved to the Friday before. One catch along the way: the census listed a single weekly accrual rate for everyone, which is only correct for someone with two weeks of vacation. The app derives each person's rate from their own entitlement.
Approval emails needed real addresses, and the census had no email column. Addresses were first guessed from each person's first and last name, then checked against the company's Microsoft 365 user export. Twenty-seven of 29 guesses were right. The two that were wrong would have bounced approval emails. Every address now records how we know it: matched to a real mailbox, used to sign in, or still a guess.
The approval email carries one link. It does not approve anything on its own. It signs the manager in and opens that specific request inside the app, and the link is signed so a forwarded copy cannot be edited to point at someone else's request. A signed-in check reports whether outbound email is actually working (key present, sending domain verified) without ever showing a secret.
The result
The app has been live since the end of July. The first release was verified end to end in a browser: sign-in, balance math, a request saved and showing up in the manager's approval queue, and a team record edit. Since then it has grown from one real employee record to the full company roster, with the real approval chain and the real policy math.
The roster did more than run time off. When the company intranet was built, its staff directory and org chart were loaded from this app's org chart and verified email records, so both start from the same reporting lines.
Your turn
Same problem? Different industry?
We work with one client per vertical at a time. If your shape matches one of our dossiers, we’ll tell you straight.