Granularity

The Granularity plugin controls the minimum time unit that can be requested. Use it to restrict time off to full days, half days, or allow any duration.
When to use
Use this plugin when:
- Company policy only allows full-day vacation requests
- You want to permit half-day requests but not smaller increments
- Different time-off types have different granularity rules
Parameters
| Parameter | Description | Default |
|---|---|---|
| Granularity | The minimum requestable unit: full_day, half_day, or any. | Required |
Granularity options
Full Day
Full Day only allows requests in whole-day increments.
Examples of valid requests:
- 1 day, 2 days, 5 days
Examples of blocked requests:
- 0.5 days (half day)
- 1.5 days
- 2 hours
Best for: Traditional vacation policies where partial days are not tracked.
Half Day
Half Day allows requests in half-day or full-day increments.
Examples of valid requests:
- 0.5 days, 1 day, 1.5 days, 2 days
Examples of blocked requests:
- 0.25 days (quarter day)
- 3 hours
Best for: Policies that allow morning or afternoon off, but not arbitrary time periods.
Any
Any places no restrictions on request duration. Employees can request any amount of time.
Best for: Flexible policies, time-based accounts (hours/minutes), or when combined with presence-based time tracking.
How it works
When an employee submits a request:
- The plugin checks the requested amount against the configured granularity
- For day-based accounts, it verifies the amount is divisible by the appropriate unit
- For time-based accounts, it uses the employee’s daily work hours to determine what constitutes a “day”
Examples
Vacation: full days only
Standard vacation that must be taken in full days:
- Add the Granularity plugin to your vacation policy
- Set Granularity to Full Day
Personal time: half days allowed
Personal time off that can be taken in half-day increments:
- Add the Granularity plugin
- Set Granularity to Half Day
Comp time: any duration
Compensatory time that can be used flexibly:
- Add the Granularity plugin
- Set Granularity to Any
Error messages
When a request doesn’t match the required granularity, employees see a message indicating:
- The required granularity (full days or half days)
- The amount they requested