Absence registration
Registers a daily entry for each ongoing open-ended absence so that yesterday’s day is recorded against the right activity.
How it works
When an employee starts an open-ended absence (for example, ongoing sickness with no fixed return date), the absence stays “active” until the employee returns. This job runs daily and registers an entry for yesterday against the activity linked to the absence:
- Finds active periods — employees whose time-off projection contains at least one open-ended absence in progress
- Registers yesterday — for each active period that started before yesterday, a registration event is created for yesterday’s date
- Idempotent — events use a deterministic ID based on employee, activity, and date, so re-running the job on the same day is a no-op
Registering yesterday (rather than today) gives the employee a window to come back to work and interrupt the absence before the day is consumed. The first day of the absence is handled by the request itself, and the closing handler covers the full range as a final safety net.
When it runs
The job runs automatically and only triggers on workspaces that have at least one active open-ended absence.
Parameters
This job has no parameters.
Job results
| Metric | Description |
|---|---|
entries_registered | Number of yesterday’s days that were newly registered |
errors | Number of failures during registration |
Troubleshooting
| Issue | Solution |
|---|---|
| Days missing on an open absence | Run the job manually with the run date set to the day after the missing one — the deterministic IDs make catch-up runs safe |
| Active period without an activity | The period skips registration. Verify the time-off policy attached to that absence has an activity configured |