Author: Mark Graylish, Senior Business Analyst
It certain industries, typically hospitality, work is allocated to employees based on fairness but subject to the employees’ availability. For instance, if all the employees are equally available, then they should be scheduled an equal amount of work. On the other hand, if an employee only makes themselves available two days a week, they should not be scheduled as favorably as an employee who makes themselves available 5 days a week.
In order to prevent accusations of scheduling favoritism, employers often schedule by rotation, and they maintain a strict sequence of employees who need to be scheduled in this way.
How does it work?
At the most basic level, employees are assigned a place in a sequence. Think of this as a list of employees typically arranged in seniority order. If you’re scheduling with a piece of paper, you’d then start at the top of the list and allocate the ‘first shift’ to the first (available) employee and work your way down the list. If any employee is not available, they would be skipped and ‘their’ shift would be allocated to the next employee on the list. The reasons for skipping an employee are many, but most typically they would be skipped due to a potential shift occurring on a regular day off or a vacation/PTO day.
If you run out of shifts before the end of the list, you’d start your next batch of shifts from the employee who just missed out of getting the last shift. On the other hand, if you have more shifts than employees, once you got to the bottom of the employee list, you would then start off back at the top of the employee list. Hence, you rotate through the employee list.
Part of the thought process above is determining which order the shifts should be processed in. After all, a smart employee could ask you to adjust the order of shifts are allocated out so there is a greater likelihood of them being assigned a shift or a more favorable shift. To prevent this type of favoritism, schedulers will apply a strict allocation order to shifts and this may be as simple as chronological order, with the earliest shifts being assigned out first and later shifts then processed subsequently.
What can Celayix do to help?
Working with our clients to understand their needs, we have added another tool to the existing suite of scheduling tools built into our Visual Scheduler. This will allow you to create multiple employee rotations targeting different groups of employees and shifts. Furthermore, each type of shift can have their own allocation, or sort order.
The tool also offers other options such as applying or skipping your shift qualification or overtime rules, restricting (or not) employees to one shift per day, and either skipping the employee if they are not available (as outlined above) or, used less commonly, assigning them the next shift which they can do.
The Autofill Rotation is one of several tools & techniques available in the Visual Scheduler and you can choose to use other tools either before or after you have used the Autofill Rotation, or use one technique for one pool of employees and another technique for a different pool.
Run through a typical example!
As this tool was developed with the hospitality industry in mind, let’s walk through an example of this industry’s typical scheduling considerations:
- The industry is often unionized and employees can be classified as full time or casual/on-call;
- For the full-time employees, seniority rules often apply which group employees into A & B categories;
- The casual/on-call employees are often classified as C category;
- Full time employees are typically scheduled first (A then B) with casual/on-call filling the gaps;
- Tips and gratuities are an important motivator for all these employees – as such, employees typically want to work as many shifts as possible and rewards are often ‘per event’ based rather than ‘per hour’;
- The scheduler typically requires shifts to be filled in a specific order. For instance, the shifts with the earliest start time are assigned before shifts with later start times. If two groups of shifts start at the same time, then those with the earliest shift end time may be assigned before those with later end times. This means shorter shifts are assigned first, allowing employees to work multiple shifts per day (i.e. a breakfast shift then a lunch shift and maybe even a dinner shift).
Based on the above, the first step would be to determine how many groupings and rotations are required. A typical large hotel, casino, or convention center would split the employees into two or three main groups (servers plus bartenders and maybe bar porters). Each group would then be split into A, B or C categories, meaning six or nine categories. Assuming the C category employees only ‘fill the gaps’, this would require four rotation patterns (or six, if bar porters are included) in the Autofill Rotation tool.
Each rotation pattern should be assigned a user-friendly name to differentiate it from the others. This will help the scheduler to know which batch of shifts will be processed, and which batch of employees will be used. So, once set up, the result would be something like “A-List Servers”, “B-List Servers”, A-List Bartenders” and “B-List Bartenders”. There is no practical limit of how many different rotation patterns can be set up within the database. Conversely, if your requirements are less complex, you may have only one rotation pattern.
There are two steps: Configuring the Rotation Pattern(s) and using the tool day-to-day
Let’s walk through the steps required to do this:
(1) First of all, name the rotation something meaningful as suggested above;
(2) Additional text can be added as a reminder of what this rotation is to be used for.
(3) Decide which business rules will apply. If all your employees are equally skilled and/or you don’t have any limitations on the number of hours the employees can work you can ignore these. Not Scheduled on this Date will prevent employees being assigned more than one shift per day (so if they are already scheduled, by whatever means, they won’t be allocated another shift on that day)
(4) Decide whether the employee should be skipped if they aren’t available (this is the default behavior) or whether to jump shifts to allocate the next available shift to the employee (who will still be processed in the original sequence)
(5) Don’t worry about this field to start off with. It will be set once the Autofill Rotation has actually been used to allocate shifts to employees. Later, you will be able to override this field if you need to re-set or just want to test.
(6) Switch to the employee tab and
(7) Choose which order the employees need to be sorted. This will be all of your employees so…
(8) …look through the list and use the Add (or Add All) button to move the employees over to the right hand side of the screen in the correct sequence
(9) In this example, this list is my A List Servers
(10) The green box indicates which employee is ‘Next’. As I’ve now added my employees, the initial employee is Gary Garcia and his name will now show in box (5) on the rotation pattern. As the tool is used, the sequence order on this screen remains the same but the green box will align to the ‘next’ employee. For instance, if I wanted to fill four server shifts with A-List servers, Gary, Fred, Dan & Charlie would be assigned in that order and the green box would display alongside Andy. Although you won’t need to do this regularly, you can come back to this screen at any time and review the sequence and maybe remove old employees and add new employees and people leave and are replaced (or promoted)
(11) Moving onto the Shift tab allows us to define which type of shifts are going to be filled and what order should the shifts be processed in
(12) Set up a Shift Filter to ensure only the correct type of shifts are processed. In my example of A & B list servers and bar tenders, there would be two different filters – one for servers and one for bar tenders
(13) Decide which order shifts need to be allocated. Choose from this list and…
(14) …use the add button and/or…
(15) …the Move Up and/or Move Down buttons to define the correct shift processing order. In my example, shifts should be processed in date order, then start time order then end time order.
(16) So Monday shifts would be processed before Tuesday shifts and if I had two groups of shifts on the same day, those starting earliest would be processed first (so Monday 8am shifts will be allocated before Monday 9am shift and both these groups will be processed before Tuesday 7am shifts)
(17) Using the A(sc)/D(esc) button will flip the sort order so if two groups of shifts started on Monday at 8am but one group of shifts finished at 2pm and one at 4pm, then the 4pm ending group would be processed before the 2pm ending group.
Repeat the above process for each rotation pattern you need and then, apart from occasionally adjusting the employee list in each rotation pattern, you should not need to visit this part of the program again.
Part 2 is actually using the program. All of the above assumes you do not know which employee should be allocated to each shift at the time you are planning the shift coverage requirements. Most clients in this industry will have varying scheduling requirements to match busy and slow periods. Shift coverage requirements may vary considerably from event to event and the number of guests being accommodated.
So, as your plans begin to solidify, you should start by creating the correct number of open shifts in the Visual Scheduler, with the correct dates, shift start and end times and shift services plus another other data you need to support your employee allocation rules and/or shift grouping/sorting rules. Once you have the correct number of open shifts defined, using the tool is a simple as selecting the relevant date or date range (18) and then choosing which batch of shifts to fill first by selecting the correct rotation pattern (19) then hitting the OK button (20)
At this point, the tool selects the correct set of shifts and arranges them into your chosen order, then selects the correct set of employees and arranges them in sequence order, identifies the ‘next’ employee and, one-by-one works through the list of shifts and checks whether the selected employee can be assigned to that shift based on your rules; if so, the employee is assigned and the tool moves onto the next shift in order, et voila!, that batch of shifts is allocated to the correct employees.
Once this batch of shifts has been allocated, choose the next rotation pattern in the list and carry one until you’re worked through all your shifts.
At the point when you’ve exhausted all the rotation patterns, you may or may not have some open shifts left to assign. In the hospitality industry, any remaining open shifts would typically be assigned to the casual/on-call employees, most often on a self-serve or self-scheduling basis. Of course, eTime Xpress can also do this type of shift assignment but that’s the subject of another blog post.