--- alias: user-guide-shift-plan-index description: "This documentation outlines a system for scheduling employees across workgroups and calendar days" --- # Shift Plan :lock: ShiftPlan.**Show** !!! info Shift Plans are part of Labor Management which is a Critical Manufacturing optional module. ## Overview A **Shift Plan** organizes a set of **Resources** and **Employees** into Workgroups and allows the planner to schedule each **Employee** for a particular Workgroup and Position for each *Calendar Day*. It provides the following functionality: * Allows the planner to distribute the pool of **Employees** to different **Teams** and Workgroups. * Allows the planner to check for a period of time whether there is a shortage of excess of personnel for a particular *Calendar Day* and whether there are working hour rules that are violated. * Allows the planner to temporarily assign an **Employee** to a particular Workgroup and Position. * Allows each **Employee** to check on his work **Calendar**, that is, for each *Calendar Day* to know whether he/she must come to work and in which *Shift* In order to display some colors and codes, and to list the available non-working day types, the system relies on the generic table *CalendarDayType*. The table contains a list of system entries which must no be modified in order for the system to work correctly. The table below contains the default records for the table. In these records, the following columns with an asterisk in the title are system-managed and cannot be modified. New lines can be added for non-working days, and the cells belonging to the columns other than the ones marked with an asterisk can be modified as desired. | Type | IsWorkingDay | Code | IsSystem | | ------------------- | ------------ | ------------------------------------------------------------------------------------------ | -------- | | CalendarNonWorking | No |       | Yes | | CalendarWorking | Yes |       | Yes | | EmployeeNonWorking | No |       | Yes | | EmployeeWorking | Yes |       | Yes | | Pool | Yes |   P   | Yes | | TemporaryAssignment | Yes |   T   | Yes | | AvailableToWork | No |   W   | Yes | | Error | Yes |   E   | Yes | | Warning | Yes |   W   | Yes | Table: Calendar Day types ## Tying Everything Together ```mermaid graph LR N1[Calendar Day] --- L1[Employee Calendar Day] N1 --- A1[Shift Definition] --- A2[Calendar] --- A3[Team] N1 --- A2 A2 --- Main[Shift Plan] A4[Employee] --- L1 A2 --- L1 L1 --- L2[Workgroup] Main === L2 L2 --- L3[Workgroup Resource] --- A5[Resource] L2 --- L4[Workgroup Step] --- A6[Step] L2 --- L5[Workgroup Personnel Requirements] --- A7[Certification] classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200; classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden; classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%; classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%; classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%; classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%; classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%; classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5; class Main mermaid_entity class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14 mermaid_businessdata class L1,L2,L3,L4,L5,L6,L7 mermaid_entitylinked class C1,C2,C3,C4,C5,C6 mermaid_context class N1,N2,N3,N4,N5,N6 mermaid_nonbusinessdata click Main "../../business-data/shift-plan" click A1 "../../business-data/shift-definition" click A2 "../../business-data/calendar" click A3 "../../business-data/team" click A4 "../../business-data/employee" click A5 "../../business-data/resource" click A6 "../../business-data/step" click A7 "../../business-data/certification" ``` ## Sequence Of Steps The necessary steps for correctly creating and using a **Shift Plan** are: 1. Configure the Generic *CalendarDayType* with the intended codes, colors and non-working days. 2. Create a Calendar. 3. Generate Calendar Days for the Calendar. 4. Create the necessary Workgroup Personnel Requirement Certifications. 5. Optionally, create the Resources to be associated with the Workgroups. 6. Create the Shift Plan. 7. Assign Employees to Teams and Position using the Manage Employee Teams and Workgroups. 8. Generate Shift Plan Calendar Days to generate individual Employee Calendar Days. {{ generate_index() }}