The electronic service made life easier for tens of thousands of employees — and gave HR a clean, auditable workflow they actually want to use.
Before the service existed, an employee at Leroy Merlin who wanted to take vacation had to navigate a chain of approvals, paper forms and phone calls that could easily take two weeks. With thousands of staff across hundreds of stores, this meant HR teams were spending most of their week chasing signatures rather than doing actual HR work.
We were asked one simple thing: make this a five-minute task on a phone.
The problem we were solving
It's tempting to think a vacation request is just a form. It isn't. Behind every request sit:
- A team coverage schedule (someone needs to be in the store)
- Remaining vacation balance for the year
- Compliance with national labour code on minimum/maximum stretches
- Line manager approval (sometimes 2 levels up)
- Payroll integration so the days are correctly accounted for
None of this is visible to the employee, and none of it should be — but it all needs to happen, correctly, every single time.
Our approach
We designed the employee-facing app around three principles:
- Single screen for the happy path. Pick dates, see how many days remain, tap submit.
- Show consequences before commitment. If a request would leave the team short, the app says so immediately — it doesn't fail silently three days later.
- No surprises for managers. Their inbox shows the team coverage state, not just isolated requests.
"The fastest way to make HR efficient isn't to give HR more tools. It's to give the employees a tool that's good enough that HR doesn't need to be involved at all." — Engineering lead, True Engineering
The technical architecture
The service runs as a set of stateless microservices behind an API gateway, with a mobile-first PWA on the front and direct integrations to the existing HR core, payroll, and identity provider. We chose to make the calendar engine its own service from day one — it's the part of the system that has to be correct under all edge cases (leap years, partial days, statutory holidays, half-day rules), and isolating it kept the rest of the system simpler.
What we'd do differently
If we started over today, we'd invest earlier in the offline experience. A surprising number of in-store requests happen during quiet moments when network coverage in the back office is unreliable. The current app handles this gracefully now, but it took two iterations to get right.
Results, one year in
The service is now the default channel for vacation requests across the company. HR teams report they spend less than an hour a week on vacation administration — down from roughly three days. Employees rate the experience 4.7 out of 5, and the most common piece of feedback is the one we like most: they forget the service exists, because it just works.