Skip to main content
Configuration for ModelBuilder.

Example

const config: ModelBuilderConfig = {
  employees: [...],
  shiftPatterns: [...],
  coverage: [...],
  schedulingPeriod: {
    dateRange: { start: '2025-02-03', end: '2025-02-09' },
    daysOfWeek: ['wednesday', 'thursday', 'friday', 'saturday', 'sunday'],
  },
};

Extends

Properties

coverage
CoverageRequirement[]
required
employees
SchedulingEmployee[]
required
Team members available for scheduling.
reporter
ValidationReporter
Optional validation reporter for diagnostics.
ruleConfigs
CpsatRuleConfigEntry[]
Named rule configurations that will be compiled using the provided rule factories.
ruleFactories
CpsatRuleFactories
Rule factories to use when compiling ruleConfigs. Defaults to built-in CP-SAT rules.
rules
CompilationRule[]
Pre-compiled rules; use this for custom rules that are not part of the registry.
schedulingPeriod
SchedulingPeriod
required
Defines when scheduling should occur as a date range with optional daysOfWeek and dates filters that compose to narrow which days are included.
shiftPatterns
ShiftPattern[]
required
Available shift patterns (time slots) that employees can be assigned to.