Q. How do I use the autoscheduling tool?

To give a conclusion:

* Auto scheduling V1 is a basic version and takes calculated guesses when assigning shifts.
* Auto scheduling V2 is more advanced and includes more checkups & customizable options. In this version it is very important to have a good referential schedule, in the days before your selection for auto scheduling. This way ClockIt can learn how to schedule the selected region. Read the details below to get familiarized on how ClockIt assigns shifts in both versions:

* Overall conclusion of V2: the smaller your auto scheduling selection, the better the result.

* Auto Scheduling V1 performs following actions to determine the available shifts for each employee on a given day.

First it checks whether the scheduling day is a Saturday or Sunday, if that is the case, some basic checks are performed to see if the employee can work on weekends (or specifically that weekend), if that's the case, a weekend is threated as a normal day in the week.

Next ClockIt checks whether the schedule day is an holiday and if so, checks if the employee is available for work.

Now ClockIt knows if the employee is assignable on that day and it will continue determine available shifts. For this, the total amount of worked hours in the current week or month (depending on your employee settings) are used to check whether a shift is assignable. (only shifts that are listed as available shifts for this employee are used). A shift may only be assigned if it's number of assignments that day are below the max occurrence setting for that day.

After these checkups, it is still possible that multiple shifts are qualified for assignment. In this case clockit chooses a random available shift.

The reason why two auto generated schedules for the same employees & days aren't - always - equal, is because of the random factor in both processing the selected days and finally assigning shifts.

* Auto Scheduling V2 is more advanced :

In this version, every auto scheduling selection is divided into weeks and processed accordingly.
Next for this selection auto scheduling V1 is called to retrieve all available shifts for an employee & day. Important here is that all assignable shifts are returned and not just one (as this is the output when using the stand-alone V1). We call this the first iteration.

Next ClockIt checks which shift is best assigned for an employee on a specific day.

(important) First ClockIt checks if the selection starts on the start day of the week.
If this is the case, ClockIt will look at assignments in the week before to determine the scheduling profile. (for instance if the employee works in alternating shifts)
Or when starting in the middle of the week (not on the start day of the week), ClockIt will look at all days in this week that aren't in your selection.

When this is processed, some shifts that where the result of the first iteration, may have been withhold. This is the second iteration.

Next, weekend work & day offs are set.
After this, it is still possible multiple shifts are available for this employee on that day. For this, a mathematical function was created that takes following into
account:

* number of employees that can work this shift (if only a small percentage of your employees can work a certain shift, this has a higher priority than a shift that can be assigned to anyone.
* number of times the shift is already assigned
* minimum number that a shift assignment has to occur per day (this is where the bottom left selections in the settings are used - see image)

After this, each employee has only one shift assignment.

Finally, ClockIt checks if a the maximum allowed working hours are met, if not it will assign 'days off' (blanc shifts) to compensate.
Afterwards some extra checks are done that result in additional iterations.

Because ClockIt uses previous assignments to build on, it is necessary to have a good starting schedule, either by using V1 on the days before your selection (perhaps multiple times until is fit your needs), or by assigning it manually. Conclusion here is, how smaller your selection for auto scheduling, and the better the surrounding shifts are assigned, the better ClockIt will do its assignment.