Shift Assignment Solver
Optimize employee shift assignments with skill matching, contract compliance, and fair distribution. Perfect for healthcare, retail, manufacturing, and security scheduling.
Key Features
Skill-Based Assignment
Match employees to shifts based on required skills and qualifications
Contract Compliance
Ensure working hours and consecutive day limits are respected
Fair Distribution
Balance workload across employees and ensure fair shift distribution
Time Window Constraints
Respect shift start/end times and rest period requirements
Preference Optimization
Consider employee shift preferences when possible
Cost Optimization
Minimize total labor costs while meeting all requirements
Use Cases
Healthcare
Hospital staff scheduling with nursing skills and emergency coverage
Retail
Store employee scheduling with customer service skills
Manufacturing
Production line staffing with technical skills
Security
Guard scheduling with security clearances and patrol requirements
API Parameters
Parameter | Type | Description | Required | Example |
---|---|---|---|---|
employees | array | Array of employees with their skills, availability, and contract constraints | Required | [{ "name": "Alice", "contract": "FULL_TIME", "skills": ["nursing"], "availability": ["2024-01-15"] }] |
shifts | array | Array of shifts that need to be staffed with time windows and requirements | Required | [{ "name": "morning_shift", "from": "2024-01-15T06:00:00", "to": "2024-01-15T14:00:00", "skills": ["nursing", "patient_care"], "value": 3 }] |
contracts | array | Contract definitions with working hour limits and constraints | Required | [{ "name": "FULL_TIME", "max": "PT40H", "min": "PT32H", "maxConsecutiveWorkDays": 5 }] |
options | object | Solver configuration options like time limits and iterations | Optional | { "timeLimit": 300, "maxIterations": 1000 } |
weights | object | Constraint weights to customize optimization priorities | Optional | { "requiredSkills": 1000, "workingHours": 1000, "shiftPreferences": 100 } |
fairness | object | Fairness rules for shift distribution among employee groups | Optional | { "fairnessBuckets": [{ "employees": ["Alice", "Bob"], "shifts": ["night_shift"] }] } |
API Endpoints
Method | Endpoint | Description |
---|---|---|
POST | /api/shift/solve | Submit a shift assignment optimization request |
GET | /api/shift/solve/{jobId} | Check the status of an optimization job |
GET | /api/shift/solve/{jobId}/result | Retrieve the completed optimization results |
GET | /api/shift/solve/{jobId}/analyze | Analyze the optimization results |
Ready to Get Started?
Follow our quick start guide to create your first shift assignment optimization, or explore our SDK documentation for detailed integration examples.