Setting up time off booking validations

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.

Validation rules can be added to default policies in time off types, or can be added to specific policies assigned to users.

Refer to the sections below for details on specific rule options.

Select these links for information about the starting policy rules, accrual rules, and limitation rules in time off policies.

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.

Overview of the validation rules

Rules that limit time off durations

Restrict booking duration

Checks that booking duration for working days falls within the duration requirements

Restrict booking duration in calendar days

Checks that booking duration for calendar days falls within the duration requirements

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

Booking must be exactly 14 calendar days

Checks that the booking is exactly 14 calendar days

Restrict booking by hours for the specified day

Checks that bookings on a specific date have a given duration

Rules that limit time off amounts over a period

Limit amount of time off taken

Checks that total time off for working days does not exceed the allowed maximum for the year

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

Limit time off allowed in a rolling period

Checks that time off doesn’t exceed the allowed maximum bookings/hours in a rolling period

Restrict multiple booking durations in leave year

Checks that up to 3 bookings meet duration and date range requirements

Rules that limit balance overdraw

Prevent balance overdraw

Checks that the balance will stay within the overdraw limit

Prevent overdraw at the end of year

Checks that the balance at of the end of the year is within the overdraw limit

Rules that ensure advance notice is given

Require advance notice for time off

Checks that the booking gives the required amount of advance notice

Require advance notice with dynamic threshold

Checks that the booking gives advance notice based on its duration x a threshold multiplier

Rules that prevent basic errors

Error for overlapping bookings

Checks that the booking doesn’t overlap with an existing booking

Prevent 0 hour bookings

Checks that the booking duration is greater than 0

Other rules

Require custom fields

Checks that all custom fields that appear on the booking are completed

Booking must Start on Specific Day of Week

Checks that bookings begin on the selected day of the week

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

Prevent use during probationary period

Checks that the booking doesn’t overlap with the user’s probationary period

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

Detailed descriptions of the validation rules

Rules that limit time off durations

Validation name

This validation…

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

This validation…

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 limit balance overdraw

      Validation name

      This validation…

      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

      This validation…

      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 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

      This validation…

      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.

      Other rules

      Validation name

      This validation…

      Require custom fields

      Checks that all custom fields that appear on the booking are completed

      Note

      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. This rule requires all custom fields available on the booking to be completed before the booking can be submitted.

      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.

      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.

      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 Adminstration > 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:

      1. The user has two time off types: Vacation and Flex Days.
      2. 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.
      3. The user is scheduled to work 7 hours.
      4. The user books 4 hours using the Vacation type. Because the amount of time off is less than 7 hours, the booking is successful.
      5. 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.
      6. 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.