This topic applies to our new time off system only. The TimeAttend and TimeOff products include similar validations, but many of them are automatically applied.
Time off booking validation rules specify which requirements a booking must meet before it can be submitted.
For example, you can prevent a user from booking more vacation time than is available to them. If the booking doesn’t meet the requirements, when the user attempts to submit it they will see an error and the booking will remain unsubmitted.
Unlike timesheet validation rules – which can be set to either block timesheet submission, or to serve just as a warning – booking validation rules, when triggered, always prevent submission of the booking.
If you have purchased an Enterprise-level product, we can work with you to create fully customized accrual rules. Contact your Customer Success Manager for more information.
end of day
Restrict a user from booking a Time Off at the end of the day. Please note that this validation will only run if:
1. The Time Off Type is configured to allow a booking duration setting for less than a “Full Day”
2. The Time Off Type is configure where the “Require Start/End Time” is set as mandatory
3. There are actual work hours entered on the Timesheet
start of day
Restrict a user from booking a Time Off at the start of the day. Please note that this validation will only run if:
1. The Time Off Type is configured to allow a booking duration setting for less than a “Full Day”
2. The Time Off Type is configure where the “Require Start/End Time” is set as mandatory
3. There are actual work hours entered on the Timesheet
Prevent any time off bookings that start earlier than the dynamic period as defined by the validation rule's parameters and the required date entered by the user on the time off booking window.
Require that each booking segment includes all calendar days apart from holidays and company rest days up until the next scheduled work day for the user. Only applies when using the expandable multi-day booking dialog.
Checks that the booked hours each day, including days off, is less than the user’s scheduled hours
Detailed descriptions of the validation rules
Rules that limit time off durations
Validation name
Description
Restrict booking duration
Checks that booking duration for working days falls within the duration requirements
Parameters
You can set these parameters for each time off type or policy:
Allow:Exact Duration, Minimum Duration, Maximum Duration
Of: The required exact, minimum, or maximum duration value of the booking, depending on the Allow parameter selected
Example
If you want to set a maximum total vacation duration of 40 hours, and the user works 8 hour days, you can set the parameters as follows:
Allow: Maximum Duration
Of: 40 hours
Because the user’s hours per day is 8 (based on their office schedule), they won’t be able to submit a booking that is longer than 5 working days.
Restrict booking duration in calendar days
Checks that booking duration for calendar days falls within the duration requirements
Parameters
You can set these parameters for each time off type or policy:
Allow:Exact Duration, Minimum Duration, Maximum Duration
Of: The required exact, minimum, or maximum duration value of the booking, depending on the Allow parameter selected
Example
If you set a minimum duration of 5 days, users won’t be able to submit bookings of less than 5 calendar days.
Error for booking more than scheduled hours
Checks that each day’s time off doesn’t exceed the user’s office schedule hours for that day
Example
If a user with an office schedule is scheduled to work 7 hours per day tries to book 8 hours off on a single day, the booking will be prevented.
Note
This validation does not take into account shift schedules. It should not be used with shift workers as it will prevent them from submitting any time off.
If a user is not scheduled to work, either because there are no hours in their office schedule or the day is a holiday, a booking can’t be submitted for that day.
We recommend adding this validation for all time off types assigned to workers with office schedules, except for the holiday bookings time off type; assigning this validation would block creation of holiday bookings.
Booking must be exactly 14 calendar days
Checks that the booking is exactly 14 calendar days
When would this rule be useful?
Some jurisdictions require certain vacations to be exactly 14 days.
Restrict booking by hours for the specified day
Checks that bookings on a specific date have a given duration
Parameters
You can set these parameters for each time off type or policy:
Reason:Date:Hours: The date and duration required for the booking, in this format: <Event type>:YYYY/MM/DD:<duration in hours>. The event type isn’t validated, it’s just there for your reference.
Booking should be at: Defines where in the day the booking must appear: at the Start or End of the shift, or at Any time
Example
If you give employees 4 hours off on Christmas Eve, and they can take it any time on that day, you’d configure these settings: Christmas Eve:2021/12/24:4 and Any. Users can take anything up to the duration specified (i.e. in this example, they could book off 3 hours).
When would this rule be useful?
This rule is useful for time-restricted types of time off, such as voting time. For example, in New York state employers must allow employees up to 3 hours of paid time off for voting. In this case, you’d set the maximum duration to 3 hours on election day.
Rules that limit time off amounts over a period
Validation name
Description
Limit amount of time off taken
Checks that total time off for working days does not exceed the allowed maximum for the year
Parameters
You can set these parameters for each time off type or policy:
Maximum Allowed: The upper limit of total time off allowed
Year Starts Month: The first month of the year that will be checked. You can base this on the calendar year, your fiscal year, or the employee’s anniversary, using the Anniversary Month option.
Year Starts Day: The day of the selected month when the validation year begins. Includes Last Day Of Month and Anniversary Day options.
Example
To prevent users from taking more than 40 hours of sick time in the calendar year, set the Maximum Allowed to 40, Year Starts Month to January, and Year Starts Day to 1st.
Can employees accrue more than the limit?
Yes. Any remaining accrued amounts can be carried over to the next year.
Why would we use this, rather than capping accruals?
This rule is useful in states that let employers limit how much sick time employees can take in a year, if accruals are based on hours worked or paid (e.g. worker accrues 1 hour of sick time per 30 hours worked), since you can’t put an absolute cap on accruals in that scenario.
Restrict booking duration in leave year
Checks that time off for either one booking or every booking falls within the duration and date range requirements Parameters
You can set these parameters for each time off type or policy:
Allow: Exact Duration, Minimum Duration, or Maximum Duration
Of: The required exact, minimum, or maximum duration value of the booking, depending on the Allow parameter selected
Days Defined As: The type of day this rule validates: Calendar Day, or Workday
Leave Year Starts: Date when the validation year begins
Period Start and Period End: If you’re using the Once per Leave Year option, you can use these fields to define the date range the single validated booking must fall within. You must still include a starting date for the leave year.
Leave Year Extends: Extends the validation year by 0 Days, 5 Days, or 10 Days, allowing the user more opportunity to make a valid booking, if needed
Validate:
Every Booking - every booking the user makes must match the duration requirements. So, if you require bookings to be no more than 10 days, every booking must be less than 11 days.
Once per Leave Year - the user must submit a booking that meets the duration requirements before they can submit any other bookings, within the defined year. So, if you require at least one 14 day booking, the user will need to make that booking before they can make a shorter booking.
Example
If a user is required to take a vacation of exactly 14 consecutive calendar days, between June 1 and Sept 30, you’d configure hte rule as follows:
Allow: Exact Duration
Of: 14 days
Days Defined As: Calendar Day
Leave Year Starts: Jan 1
Period Start and Period End: June 1 and Sept 30
Validate: Once per Leave Year
When would this rule be useful?
This rule is useful in countries like Switzerland, Hungary, and Romania which enforce minimum consecutive time off (e.g. employees must take at least 2 consecutive weeks off each year).
Limit time off allowed in a rolling period
Checks that time off doesn’t exceed the allowed maximum bookings/hours in a rolling period
Parameters
You can set these parameters for each time off type or policy:
Months in Period: The number of months you want to validate bookings against
Maximum Bookings: The maximum bookings that can be made in each period
Maximum Allowed: The maximum total booked off hours allowed in each period
Days Defined As: The type of day this rule validates: Calendar Day, or Workday
Example
You could set 4 maximum of bookings, and 24 maximum hours, in a 6 month period; the validation is triggered if a user exceeds either of these maximums in any 6 month period (i.e. one beginning on any day).
When would this rule be useful?
This sort of rule is useful in places like Norway that allow for limiting bookings in this way.
Restrict multiple booking durations in leave year
Checks that up to 3 bookings meet duration and date range requirements
Parameters
You can set these parameters for each time off type or policy:
Days Defined As: The type of day this rule validates: Calendar Day, or Workday
Booking <1, 2, and 3> Duration Requirement:Minimum Duration, Maximum Duration, Exact Duration, or No Requirement
Booking 1; Booking 2; Booking 3 Days Required: The required duration value of each booking, to which the corresponding duration requirement is applied. The order of bookings must match the duration booking order. You can use either commas or semi-colons to separate values. If you’ve specified No Requirement, give 0 as the duration for the booking.
Booking 1; Booking 2; Booking 3 Period Start or End: These dates define the period over which each booking will be validated, in this format: Day Mon, Day Mon, Day Mon. The order of bookings must match the duration booking order. You can use either commas or semi-colons to separate values. If you’ve specified No Requirement, give 0 as the duration for the booking.
Example
In Brazil, workers must spread their vacation over three bookings: The first must be at least 14 calendar days, while the others must be at least 5 days each. In this case, you could set up the following:
Days Defined As: Calendar Day
Booking <1, 2, and 3> Duration Requirement: Minimum Duration
Booking 1; Booking 2; Booking 3 Days Required: 14,5,5
Booking 1; Booking 2; Booking 3 Period Start: 1 Jan, 1 Jan, 1 Jan
Booking 1; Booking 2; Booking 3 Period End: 31 Dec, 31 Dec, 31 Dec
When would this rule be useful?
This rule allows you to define the duration and time frame for multiple vacation bookings, for use in places like Brazil or Serbia.
Note
If you only need to define requirements for 2 bookings, select No Requirement, and give 0 for the duration and dates of the booking.
Rules that prevent booking within a defined range
Validation name
Description
Booking must not extend beyond a specific period
Prevent any time off bookings that extend beyond a configurable period counted from today’s present date.
Parameters
You can set these parameters for each time off type or policy:
Period Type:Calendar Days, Workdays, Weeks, Months
Period Value: Employees can create a booking that spans the number of the repetitions of the period type specified. This value cannot exceed 730 calendar days, 365 workdays, 104 weeks, or 24 months.
Example
In a sabbatical leave policy, you could allow an employee to create a booking that doesn't exceed 12 months.
Prevent bookings beyond a date-based period
Prevent any time off bookings that start later than the dynamic period as defined by the validation rule's parameters and the required date entered by the user on the time off booking window.
Parameters
You'll need to create a text-type dynamic custom field within the time off type, where the employee will enter the reference date within the booking dialog. You'll also need to set these parameters for each time off type or policy:
Period Type:Calendar Days, Workdays, Weeks, Months
Period Value: Employees can create a booking that spans the number of the repetitions of the period type specified. This value cannot exceed 730 calendar days, 365 workdays, 104 weeks, or 24 months.
Date format: The date format required for the Time Off Type Field Name for Date Entry field.
Time Off Type Field Name for Date Entry: The name of the dynamic custom field available in the booking dialog where the employee enters the reference date for the rule.
When would this rule be useful?
This sort of rule is sometimes used to define the range when maternity leave can be booked off.
Example
If the maternity leave period must begin within 56 days of an employee's due date, you could set up this rule in the maternity leave policy, with a 56 calendar day period type and value, and a Due Date field where the employee must enter the due date.
Prevent bookings prior to date-based period
Prevent any time off bookings that start earlier than the dynamic period as defined by the validation rule's parameters and the required date entered by the user on the time off booking window.
Parameters
You'll need to create a text-type dynamic custom field within the time off type, where the employee will enter the reference date within the booking dialog. You'll also need to set these parameters for each time off type or policy:
Period Type:Calendar Days, Workdays, Weeks, Months
Period Value: Employees can create a booking that spans the number of the repetitions of the period type specified. This value cannot exceed 730 calendar days, 365 workdays, 104 weeks, or 24 months.
Date format: The date format required for the Time Off Type Field Name for Date Entry field.
Time Off Type Field Name for Date Entry: The name of the dynamic custom field available in the booking dialog where the employee enters the reference date for the rule.
When would this rule be useful?
This sort of rule is sometimes used to define the range when maternity leave can be booked off.
Example
If the maternity leave period must begin within 56 days of an employee's due date, you could set up this rule in the maternity leave policy, with a 56 calendar day period type and value, and a Due Date field where the employee must enter the due date.
Rules that limit balance overdraw
Validation name
Description
Prevent balance overdraw
Checks that the balance will stay within the overdraw limit
Parameters
You can set this parameter for each time off type or policy:
Overdraw Amount: The amount of time in excess of the time off balance a user is allowed to book off
Example
If a user has 4 hours in their Personal Leave balance, and Personal Leave has an overdraw amount of 4 hours, they can book off up to 8 hours of Personal Leave. If they try to book off more, the booking will be prevented.
Note
You can set the overdraw amount to 0 to prevent users from overdrawing any amount. If you don’t specify an overdraw limit, users to can overdraw their balance as much as they want, within the boundaries of any other rules assigned.
Prevent overdraw at the end of year
Checks that the balance at of the end of the year is within the overdraw limit
Parameters
You can set these parameters for each time off type or policy:
Year End Month: The month the end of the validation year falls in
Year End Day: The last day of the validation year
Overdraw Amount: The duration in excess of their time off balance a user can have booked off at the end of the validation year
Example
Imagine a company that lets its users overdraw their vacation balance as much as they like, as long as they’re within their set overdraw limit of 2 days at the end of the year.
To enforce this, they set this rule to check the calendar year, with an overdraw amount set to 2 days. They set users to accrue one day off on the first of each month.
If one of their users has a balance of 5 vacation days on Oct 15, and on that day tries to book off 10 days, the booking will be prevented. This is because after the booking, they’d have a balance of -3 days as of the end of the year, which exceeds their overdraw limit. (5 days balance + 2 days monthly accrual - 10 days booked off = -3).
Note that it doesn’t matter that they’ll accrue a day off on Jan 1; the required balance must be effective at the end of Dec 31.
When would this rule be useful?
This rule is useful in companies that allow employees to overdraw their current time off balance, but limit overdraw of their yearly entitlement.
Note
You can set the overdraw amount to 0 to prevent users from overdrawing any amount at the end of the year. If you don’t specify an overdraw limit, users to can overdraw their balance as much as they want, within the boundaries of any other rules assigned.
Rules that ensure advance notice is given
Validation name
Description
Require advance notice for time off
Checks that the booking gives the required amount of advance notice
Parameters
You can set these parameters for each time off type or policy:
Minimum Notice: The minimum number of days the booking must be submitted ahead of the booking start date
Days Defined As: The type of day this rule validates: Calendar Day, or Workday
Example
If you set the Minimum Notice to 5 calendar days, and a user wants to book July 10th off, they’d have to submit the booking by the end of July 5th.
Require advance notice with dynamic threshold
Checks that the booking gives advance notice based on its duration x a threshold multiplier
Parameters
You can set these parameters for each time off type or policy:
Advance Notice Threshold: This factor, multiplied by the duration of the booking, is the amount of time the booking must be submitted ahead of the booking start date
Days Defined As: The type of day this rule validates: Calendar Day, or Workday
Example
If you set the Advance Notice Threshold to 3 calendar days, and a user wants to book 5 days off, they’ll need to submit the booking 15 days ahead of the booking’s start date: 5 days off x factor of 3 = 15 days notice.
When would this rule be useful?
This rule is designed to help meet compliance requirements in the U.K., that specify annual leave time off should be booked with an advance notice of at least twice the duration of the booking.
Rules that prevent basic errors
Validation name
Description
Error for overlapping bookings
Checks that the booking doesn’t overlap with an existing booking
When would this rule be useful?
We recommend adding this validation for all time off types, to avoid issues caused by overlapping time off.
Note
This rule applies to overlapping full day or partial day bookings.
Prevent 0 hour bookings
Checks that the booking duration is greater than 0
When would this rule be useful?
When a user is allowed to submit partial-day bookings, they can accidentally leave the duration at 0. This validation prevents incorrect data from being saved.
Prevent bookings prior to policy effective date
Note
If a time off type has multiple policies, this rule considers the earliest policy effective date of any policy, even if the rule is not configured for that policy.
Rules that restrict when time off can be used
Validation name
Description
Booking must Start on Specific Day of Week
Checks that bookings begin on the selected day of the week Parameters
You can set this parameter for each time off type or policy:
Booking Start Day: Day of the week when the booking must start
When would this rule be useful?
This rule is useful in countries such as Argentina, where annual leave must start on a Monday.
Require other time off balance to be used first
Checks that other time off types don’t have a balance that must be used first
Parameters
You can set this parameter for each time off type or policy:
Time Off To Be Used: List of time off types whose balance must be used before this booking can be submitted. Separate the names of types with a comma: E.g. Vacation, Flex Time
When would this rule be useful?
For example, if the laws of your jurisdiction allow it, this rule can be used to prevent employees from using accumulated time off in lieu (TOIL) if vacation time off is available.
Note
If time off for another type is unavailable due to the time off type’s minimum increment, the booking may still be submittable.
For example, say I want to book off half a day of TOIL, but Vacation time must be used first. The minimum increment for Vacation time is full days. In this case, the TOIL booking will be submittable since I can’t book half a day of Vacation time.
Prevent use during probationary period
Checks that the booking doesn’t overlap with the user’s probationary period
Parameters
You can set this parameter for each time off type or policy:
Probationary Period: The length of the user’s probationary period
When would this rule be useful?
For example, this rule would be useful in companies that allow sick time to accrue from an employee’s first day, but don’t allow employees to use sick time for the first 90 days.
Note
Time off can still accrue during the probationary period, and the employee can still book future time off that falls after the probationary period.
Restrict from booking at the end of the day
Example
If a shift worker’s work day ends at 5 p.m., they won’t be able to submit a 1 p.m.-5 p.m. time off booking, but they could submit one from 1 p.m.-4:59 p.m.
Note
This validation will only run if there are actual work hours entered on the timesheet.
Plus, the time off type must be configured as follows:
The Minimum Increment for Bookings field is set to a partial day increment (Half Day, Quarter Day, Full Hour, or None)
The Require Start/End Times for Partial Day Bookings field is enabled
Restrict from booking at the start of the day
Example
If a shift worker’s work day begins at 8 a.m., they won’t be able to submit a 8 a.m.-12 p.m. time off booking, but they could submit one from 8:01 a.m.-12 p.m.
Note
This validation will only run if there are actual work hours entered on the timesheet.
Plus, the time off type must be configured as follows:
The Minimum Increment for Bookings field is set to a partial day increment (Half Day, Quarter Day, Full Hour, or None)
The Require Start/End Times for Partial Day Bookings field is enabled
Other rules
Validation name
Description
Booking must extend until next scheduled day
For multi-day dialog bookings only, require that each booking segment includes all calendar days apart from holidays and company rest days up until the next scheduled work day for the user.
Parameters
You can set these parameters for each time off type or policy:
Company designated rest day(s): Define the company rest days, separated by commas
Day start time: Only for those using office schedules
Note
This rule only applies to our beta expandable multi-day booking dialog, not the standard booking dialog.
When would this rule be useful?
This rule supports certain leave requirements for part time workers in France.
Enforce min/max character on booking comments
Parameters
Parameters for this rule are defined at: Administration > Time Off > Time Off Booking Validation Rules.
You can choose one configuration for these parameters that applies to ALL time off types and policies:
Require mandatory comments: Set to ON to require the user to include comments
Enforce minimum characters: Set to ON to require at least the defined minimum number of characters be entered in the comment field
Minimum characters: The minimum number of characters a comment must include. This parameter is ignored if Enforce minimum characters is set to off.
Enforce maximum characters: Set to ON to allow no more that the defined maximum number of characters be entered in the comment field
Maximum characters: The maximum number of characters a comment must include. This parameter is ignored if Enforce maximum characters is set to off.
Ensure start/end times match duration
For multi-day dialog bookings only, checks that each day’s duration matches the duration between its start and end times
When would this rule be useful?
We recommend enabling this rule if you’re using the expandable multi-day dialog to prevent data errors.
Note
This rule only applies to our beta expandable multi-day booking dialog, not the standard booking dialog.
Require custom fields
Checks that all custom fields that appear on the booking are completed
When would this rule be useful?
Use this rule if you want to require require all custom fields defined for a time off type be completed when booking; if instead you want to require only certain custom fields, use the Require specific custom fields rule.
Notes
You can define custom fields for the time off type using the Additional Fields section on the time off type’s add or edit page.
Require specific custom fields
Checks that all submitted if any of the specified custom fields are completed.
Parameters
You can set this parameter for each time off type or policy:
Required Custom Fields: List names of fields required before submission, separated by commas or a semi-colon
When would this rule be useful?
Use this rule if you want to require only certain fields; if instead you want to require all custom fields for a time off type, use the Require custom fields rule.
Notes
You can define custom fields for the time off type using the Additional Fields section on the time off type’s add or edit page.
Restrict Booking to Leave Year
Checks that time off booking is within the defined leave year period.
Parameters
You can set this parameter for each time off type or policy, to define the leave year period:
Example
Define the parameters as follows to set a leave year period from Jan 1 to Dec 31.
1st
January
31st
December
Validate above scheduled hours for calendar days
Example
If a user is scheduled for 8 hours each day on Monday and Tuesday, and they try to book off 9 hours on Monday and 8 hours on Tuesday, they won’t be able to submit the booking.
FAQs
Why are there two places to add validations to a time off type?
You can assign the rule under Add Request Validations that acts as a default, then define variations at the policy under the Define Default Accrual Policy section.
Can I edit a validation rule globally?
No. You can view the rules from Administration > Time Off > Time Off Booking Validation Rules, but parameters can only be set per time off type.
How does validation work when multiple bookings are made on the same day?
Any validation you assign to a time off type is only checked when you submit a booking for that type. If the validation is not assigned to other time off types, you may not see the desired results when users create multiple bookings on a single day.
Consider this example:
The user has two time off types: Vacation and Flex Days.
The Vacation type has a validation to prevent bookings that are more than the user’s scheduled hours, but the Flex Days type does not.
The user is scheduled to work 7 hours.
The user books 4 hours using the Vacation type. Because the amount of time off is less than 7 hours, the booking is successful.
The user now books 4 hours using the Flex Days type. Because there is no validation assigned to the Flex Days type, the booking is successful, even though the user has booked more time off than they are scheduled to work.
If the user had booked the Flex Days time off first, and then the Vacation time off, they would have been prevented from booking the Vacation time.
If you allow users to book partial days off and are using either of the following validations, we recommend adding the validation to all of the user’s assigned time off types.
Error for booking more than scheduled hours
Error for overlapping bookings
If I add a validation, are existing bookings affected?
Validations are checked when a booking is submitted. Existing bookings won’t be affected unless someone edits and resubmits them. Then the booking will need to meet the assigned validations.
What validations are available in TimeAttend and TimeOff?
Many similar validations are available in the TimeAttend and TimeOff products. If you have either of these products, time off bookings are automatically validated to:
Prevent users from booking more than their scheduled hours
Prevent overlapping bookings
You can also prevent users from overdrawing their balance using the Maximum Overdraw option in the time off policy.