A work schedule defines the work hours of the day for each day of the week. You can define special days such as holidays.
You can define multiple work schedules for a region. In particular, you can define different schedules for different locations to account for UTC deviations and Daylight Saving Time (DST). Each schedule has a unique name.
A workday can have multiple work intervals. These intervals are in chronological order and do not overlap.
Each workday has a cutoff time. By default, if no cutoff time is explicitly specified for a workday, the cutoff time is the last time of the last work interval.
Some functions have a parameter (use_cutoff_expr) that determines whether the explicitly set cutoff time is to be used. If the value of this parameter is false, the cutoff time becomes the default cutoff time (in effect). That is, it becomes the last time of the last work interval.
The cutoff time affects how a function adjusts the start time that is passed to the function (before the function uses the start time as part of a calculation). If the start time is after the cutoff time, the start time is adjusted to be the start of the first work interval for the next workday. If the start time is before the cutoff time, no adjustment is made to the start time if the start time is within a work interval. Otherwise, the start time is adjusted to be the beginning time of the next work interval after the start time.