The Holidays tool displays Australian public holidays sourced from the Nager.Date API. Holidays are filtered by Australian state based on organisation and user preferences.
- State filtering — Shows national holidays plus state-specific holidays for the configured state
- Year navigation — Browse holidays for any year with prev/next buttons
- Upcoming / Past split — Upcoming holidays shown prominently, past holidays shown muted
- Summary cards — Next holiday with countdown, total holidays count, remaining holidays count
- D1 caching — Holiday data cached for 24 hours to minimise external API calls
- Configurable — Organisation default state in Settings > Preferences, per-user override in Profile
The holiday state is resolved in this order:
- Query parameter (
?state=AU-VIC) — for direct links
- User preference — set in Profile > Regional Preferences
- Organisation default — set in Settings > Preferences (default: Victoria)
| Code | Label |
|---|
| AU-ACT | ACT |
| AU-NSW | NSW |
| AU-NT | NT |
| AU-QLD | QLD |
| AU-SA | SA |
| AU-TAS | Tasmania |
| AU-VIC | Victoria |
| AU-WA | WA |
| Access Level | View | Update | Manage |
|---|
| Executive | Yes | Yes | Yes |
| Head | Yes | No | No |
| Manager | Yes | No | No |
| Lead | Yes | No | No |
| Employee | Yes | No | No |
| Parameter | Type | Description |
|---|
year | number | Year to display (defaults to current year) |
Cached holiday data from the Nager.Date API.
| Column | Type | Description |
|---|
| id | TEXT PK | UUID |
| date | TEXT | Holiday date (YYYY-MM-DD) |
| local_name | TEXT | Holiday name |
| name | TEXT | International name |
| country_code | TEXT | Country code (AU) |
| is_global | INTEGER | 1 = national, 0 = state-specific |
| counties | TEXT | JSON array of state codes, or null for national |
| year | INTEGER | Year |
| fetched_at | TEXT | Cache timestamp |
| File | Purpose |
|---|
src/routes/holidays.tsx | Route definition with year search param |
src/components/holidays/holidays-page.tsx | Main page with summary cards, year nav, holiday tables |
src/hooks/use-holidays.ts | TanStack Query hooks |
worker/routes/holidays.ts | API endpoints |