| { |
| "entities": [ |
| { "name": "shift", "plural": "shifts", "label": "Shifts" } |
| ], |
| "facts": [ |
| { "name": "employee", "plural": "employees", "label": "Employees" } |
| ], |
| "constraints": [ |
| { "name": "Assigned shift", "type": "hard" }, |
| { "name": "Required skill", "type": "hard" }, |
| { "name": "Overlapping shift", "type": "hard" }, |
| { "name": "At least 10 hours between 2 shifts", "type": "hard" }, |
| { "name": "One shift per day", "type": "hard" }, |
| { "name": "Unavailable employee", "type": "hard" }, |
| { "name": "Undesired day for employee", "type": "soft" }, |
| { "name": "Desired day for employee", "type": "soft" }, |
| { "name": "Balance employee assignments", "type": "soft" } |
| ], |
| "views": [ |
| { |
| "id": "by-location", |
| "kind": "schedule-by-location", |
| "label": "By location", |
| "entity": "shift", |
| "entityPlural": "shifts", |
| "sourcePlural": "employees", |
| "variableField": "employeeIdx", |
| "allowsUnassigned": true |
| }, |
| { |
| "id": "by-employee", |
| "kind": "schedule-by-employee", |
| "label": "By employee", |
| "entity": "shift", |
| "entityPlural": "shifts", |
| "sourcePlural": "employees", |
| "variableField": "employeeIdx", |
| "allowsUnassigned": true |
| } |
| ] |
| } |
|
|