Breaking Changes
Request Level
| Deprecated | Replacement | Notes |
|---|---|---|
contracts | rules | Define constraints using the new Rule system |
Employee Changes
| Deprecated | Replacement | Notes |
|---|---|---|
periodRules | rules | Use global rules with employee filtering |
contract | rules | Reference rules instead of contracts |
Shift Changes
| Deprecated | Replacement | Notes |
|---|---|---|
value | min and max | Specify exact staffing range |
critical | min and max | Use min for required staffing |
employees | assignments | Pre-assign with Assignment objects |
locked | assignments | Set locked: true in Assignment |
blacklist | blocklist | Renamed for inclusive terminology |
New field
tags added to shifts for grouping in rules (e.g., EARLY, NIGHT).New Features
Rules
Rules replace period rules and contracts with a more flexible system for counters and sequences.Patterns
Define preferred or prohibited sequences of shifts across single or multiple days.Pattern Example
Demands
Specify staffing requirements independent of shift structure, allowing flexible coverage optimization.Demand Example
Assignments
Granularly specify pre-defined shift assignments with optional locking.Assignment Example
Migration Checklist
1
Update shift definitions
Replace
value with min and max properties:2
Convert contracts to rules
Migrate contract-based constraints to the new Rule format with
constraint and type fields.3
Update employee references
Remove
contract and periodRules from employees. Define rules at the request level instead.4
Rename blacklist to blocklist
Update any
blacklist fields on shifts to blocklist.5
Convert locked shifts to assignments
Replace
employees and locked on shifts with the assignments array.