Getting Started
Introduction
What Who's OOO is, how it works, and what it can do for your team
What is Who's OOO?
Who's OOO is an open-source leave management application built for small to mid-sized teams. It provides a central place for employees to request time off and for managers to review and approve requests — all with minimal configuration and no vendor lock-in.
Built with Symfony and Docker, the application runs entirely on your own infrastructure, keeps all data under your control, and ships under the Apache 2.0 licence.
Core Concepts
Leave requests are submitted by team members and follow an Approve / Reject workflow. Each request includes a date range, leave type, and an optional note. Managers can act on requests from the web interface or directly from Slack using approval buttons.
Leave types are configurable — vacation, sick days, parental leave, and anything else your organisation uses. Each type can carry its own rules around approval, balance tracking, and visibility.
Public holidays are imported per country and year. They are subtracted from workday calculations automatically — if a public holiday falls within a leave request, that day is not counted against the employee's balance.
The team calendar gives everyone a read-only view of who is away and when, reducing the need to ask around before scheduling meetings.
How the Data Flows
- An employee submits a leave request through the web interface.
- Managers are notified — the request is posted to the Slack approval channel (with Approve / Reject buttons) and the user's manager receives an email notification.
- The approver reviews and accepts or declines the request in one click.
- The calendar and balance counters update automatically.
- The employee receives a personal Slack DM confirming the decision.
- Approved leave appears in the employee's iCal feed, syncing to Google Calendar, Apple Calendar, or Outlook.
What It Is Not
Who's OOO is focused on leave management. It is not a general HR platform, a payroll tool, or a time-tracking system. If you need those, you will want to integrate a dedicated tool alongside it.