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