Request Structure
Top-Level Fields
Skill requirements across shifts. See Requirement.
Workload distribution groups. See FairnessBucket.
Pre-assigned employee-shift pairs. See Assignment.
Webhook URL for completion notification.
Shift
Shifts represent time slots that need employees assigned.Unique identifier for the shift.
Shift start time (ISO 8601 format).
Shift end time (ISO 8601 format).
Required skill references. Employees must have matching skills.
Minimum employees required for this shift.
Maximum employees allowed for this shift.
Shift importance.
1 = highest priority, 10 = lowest.Employee names that cannot be assigned to this shift.
Financial cost for assigning this shift. Minimized in partial planning.
ShiftTag
Tag identifier used in rules and patterns.
Employee
Employees are the workforce available for shift assignments.Unique identifier for the employee.
Employee capabilities with optional proficiency levels.
Available time ranges (ISO 8601 interval format).
Preferred shift names.
Last rest date before the planning period.
Rule
Rules define labor constraints using counters or sequences.Rule type:
COUNTER or SEQUENCE.What to measure:
DAYS_WORKED, DAYS_IDLE, WEEKENDS_WORKED, WEEKENDS_IDLE, SHIFT_TYPES_WORKED, SHIFT_TYPES_HOURS_WORKED, HOURS_WORKED.Minimum count or sequence length.
Maximum count or sequence length.
Time scope with
from/to or rolling duration.Filter to specific shift tags.
Conditional rule triggered when threshold exceeded.
Requirement
Skill requirements across multiple shifts.Shift names this requirement applies to.
Required skill name.
Number of employees with this skill required.
FairnessBucket
Groups for equitable workload distribution.Employees in this fairness group.
Shifts to distribute fairly.
Evaluation period with
from and to dates.Target workload per employee.
Pattern
Shift sequence preferences or restrictions.SINGLE_DAY or MULTI_DAY.PREFERRED, UNPREFERRED, or PROHIBITED.Sequence elements with
type (ON/OFF) and tags (tag list).Priority weight for preferred patterns.
Demand
Coverage requirements independent of shifts.Unique demand identifier.
Demand period start.
Demand period end.
Required skills for this demand period.
Minimum employees required.
Maximum employees allowed.
Assignment
Pre-defined employee-shift pairings.Shift name to assign.
Employee name to assign.
If
true, the solver cannot change this assignment.Options
Solver configuration settings.Enforce availability as hard constraint.
Enforce skill matching as hard constraint.
Enforce blocklist as hard constraint.
Allow unfilled shifts in solution.
Penalize employees with no assignments.
Explanation settings. See ExplanationOptions.
Weekend definition. See IdleWeekendDefinition.
ExplanationOptions
Enable alternative generation.
Exclude infeasible alternatives from response.
IdleWeekendDefinition
Weekend start day.
Weekend start time (HH:mm:ss).
Weekend end day.
Weekend end time (HH:mm:ss).
Minimum consecutive rest for idle weekend.
Rest
Rest period constraints.Shift tags that trigger this rest.
Shift tags excluded from rest calculation.
AFTER or BEFORE the triggering shift.Fixed period for periodic rest rules.
Rolling period:
WEEKLY, DAILY.Minimum total rest.
Minimum uninterrupted rest.
Maximum rest occurrences.