File size: 1,558 Bytes
ea74628
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
{
  "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,
      "scalarHooks": {}
    },
    {
      "id": "by-employee",
      "kind": "schedule-by-employee",
      "label": "By employee",
      "entity": "shift",
      "entityPlural": "shifts",
      "sourcePlural": "employees",
      "variableField": "employeeIdx",
      "allowsUnassigned": true,
      "scalarHooks": {}
    }
  ],
  "scalarGroups": [],
  "conflictRepairs": []
}