This setup view is all about defining and managing the calendars.
When enabled in Administration > Application > Planning, Dime.Scheduler will visualize these calendars in the planning board to guide the users to plan within the business hours and avoid planning conflicts or overtime. Calendars are also used in Gantt charts to visualize non-working time and recalculate task duration.
Creating a calendar
To create a calendar, click the "Add" button and give your calendar a code (this can be any internal reference you want) and a name. To show it in your planning board as the standard company calendar, check the default checkbox.
It is possible to inherit from one calendar to another. The parent calendar will be used as the base and the child(ren) override it with anything you set up. There is no limit to the number of children. Here's a simple example of such nested calendars.
+-- Base calendar
| +-- Business hours
| +-- 08:00 - 12:00
| +-- 13:00 - 17:00
| +-- Holidays
| +-- December 25th
| +-- January 1st
| +-- May 1st
| +-- Child calendars
| +-- Region EAST calendar
| +-- Business hours
| +-- 09:00 - 13:00
| +-- 14:00 - 18:00
| +-- Holidays
| +-- June 25th
| +-- March 3rd
+-- Unrelated calendar
| +-- Business hours
| +-- 22:00 - 02:00
| +-- 04:00 - 08:00
| +-- Holidays
| +-- November 11th
| +-- May 30th
| +-- February 29th
There are three calendars: 'Base calendar', 'Unrelated calendar' an 'Region EAST' calendar. The latter inherits from the 'Base calendar', meaning that the holidays defined in that calendar also apply for this calendar. Business hours are ignored because each calendar by default has its own set of business hours defined.
The calendar view gives you an overview of adjustments by day, with colors explained in the legend on the right. When changing any calendar settings, you need to use the sync button to save changes. If you don't, your work will be lost.
|Weekends are work days||When checked, weekends will not be marked as non-working time|
|Weekend first day||Determines the first weekend day in your company (by default Saturday)|
|Weekend second day||Determines the second weekend day in your company (by default Sunday)|
|Days per month||This will not affect the actual days per month but is used to convert units of measure in the Gantt charts. E.g. when inserting 1 month for a Task duration a conversion is done to the corresponding number of days inserted in this field.|
|Days per week||This will not affect the actual days per week but is used to convert units of measure in the Gantt charts. E.g. when inserting 1 week for a Task duration a conversion is done to the corresponding number of days inserted in this field.|
|Hours per day||This will not affect the actual hours per day but is used to convert units of measure in the Gantt charts. E.g. when inserting 1 day for a Task duration a conversion is done to the corresponding number of hours inserted in this field.|
Add any number of time slots which are considered working time, for example 08:00 until 12:00 and 13:00 until 17:00.
Day overrides represents a certain date in the calendar, for example May the 23th 2019.
As with the other two override types, an override can either marked as a non-working day, a working day with different business hours or a default day (only available in the week overrides). By default a day override is marked as a non-working day.
Week days represents a certain week day in the calendar, for example - all Mondays. For example, some organizations allow their personnel to leave earlier on Friday afternoon to enjoy a well-deserved weekend. Because it recurs every week, a week day entity is a perfect candidate.
Week overrides or non-standard weeks represent week days within a certain time span. For example, all Mondays between July and Augustus 2020 are working days with a different set of business hours.
Note: a week override will only be saved when there is at least one non-standard week day. Otherwise, the week override would have no effect.
Calendars can be very powerful but can also become complex if it is not understood well. For example, What happens if there is a day override on a certain Friday when there's already a week day that specifies workers can leave the office at 4 PM on Fridays?
In essence, the following hierarchy is applied:
- Day overrides
- Week overrides
- Week days
- Business hours, weekend days
The concept of nested calendars does not alter this hierarchical system. The overrides of parent calendars will be inherited. It is as if the overrides are the calendar's own. In other words, there is no distinction between overrides of parents and children. In the end, it is the override type that will determine the priority and its place in the hierarchy. However, when there is a conflict between levels, the lowest level will get the upper hand. For example, when the parent calendar specifies Christmas is a non-working day but the "Holiday shift" calendar indicates that it is a working day, the latter's override will be used.
Let's put this to the test with the following example. Calendar "Base calendar 2020" defines a normal working day as two slots of four hours: 08:00-12:00 and 13:00-17:00. Weekends (non-working) are on Saturdays and Sundays. Next are the holidays such as Christmas and New Years day. These are good candidates for day overrides. Coincidentally, Christmas in 2020 is a Friday and New Years day is a Wednesday. Let's pick up the example from the previous section and assume employees may leave the office on Friday at 4 PM. As stated earlier, this is handled perfectly by a week day. Finally, before most employees go on their big summer holiday in July, they have to work a bit longer during the last week of June. Between 28 June and 5 July, employees have to come in every day except for Sunday. Working hours are 08:00-12:00 and 13:00-17:00 except for Saturday (08:00-12:00 and 13:00-15:00). This is summarized in the following table:
|Business Hours||08:00-12:00 and 13:00-18:00|
|Weekend||Saturday and Sunday|
|Day overrides||December 25th and January 1st|
|Week overrides||Between June 28th and July 5th: |
|Week days||Fridays are working days between 08:00-12:00 and 13:00-17:00|
A few conflicts arise. What will happen on:
- Friday the 3rd of July?
According to the hierarchy, week overrides trump week days, so employees will have to work between 08:00-12:00 and 13:00-18:00.
- Saturday the 4th of July?
The calendar indicates it's a non-working day but due to the week override, employees have to be available between 08:00-12:00 and 13:00-15:00.
- Friday the 25th of December?
Again, according to the hierarchy, day overrides trump week overrides and week days, so employees don't have to come in. Finally, suppose the company's boss gave his employees a day off on the 26th of June, what would happen? Well, nobody would have to come in as day overrides is evaluated before week overrides and week days.
- Wednesday the 1st of January
There are no conflicts here. Even though this is Wednesday, the normal business hours are interrupted by this day override, which marks it as a non-working day.
- Thursday the 2nd of January
Again, there are no conflicts here. In fact, there aren't even overrides, so business as usual is resumed. Employees are expected to be at work between 08:00-12:00 and 13:00-17:00.
If you have specific resources operating on another calendar than your default calendar, you can create a new calendar and assign it to a resource for a specific period. Simply create a new entry by clicking the Add button and choosing the resource, from and until date for that calendar for that resource. The until-date is not included.
You can add different calendars for different periods for the same resource.