Skip to main content
Configuration for schedule. In schedule(), the active registry always includes the built-in rules. Most schedules only need the high-level fields documented here.

Type Parameters

R

R extends readonly string[] = readonly string[]

S

S extends readonly string[] = readonly []

T

T extends Record<string, SemanticTimeEntry> = Record<string, SemanticTimeEntry>

TRuleRegistry

TRuleRegistry extends BuiltInRuleRegistry = BuiltInRuleRegistry

Properties

NoInfer<CoverageEntry<keyof T & string, R[number] | S[number]>>[]
required
Coverage requirements for named times.
dayOfWeek?: readonly [DayOfWeek, DayOfWeek]
Days of the week the business operates (inclusion filter).
members?: SchedulingMember[]
Team members (typically added via .with() at runtime).
R
required
Declared role IDs.
rules?: ScheduleRuleEntry<TRuleRegistry>[]
Scheduling rules and constraints.
ShiftPattern[]
required
Assignable shift options for satisfying coverage requirements and rules.
skillIds?: S
Declared skill IDs. When omitted, coverage targets can only be roles.
T
required
Time periods keyed by name that can be referenced by scheduling primitives.
weekStartsOn?: DayOfWeek
Which day starts the week for weekly rules. Defaults to "monday".