Calendars
Introduction to calendars in ConSol CM
Calendars define the business times, including working hours and holidays, for the business processes. They can be used to calculate escalation times based on the business hours, so that the time runs only when the users are at work. This avoids time triggers firing outside the business hours or on weekends or holidays.
Concepts, terms and definitions
Concept |
Other terms |
Definition |
---|---|---|
time trigger |
timer |
Workflow element which signals that a certain time has passed since a case has entered a scope or activity |
queue |
process |
Instance of the business process; links the used workflow to the stakeholders |
workflow |
|
Technical representation of the business process |
Usage example
The following example illustrates the different escalation times for a time trigger with or without a calendar. The time trigger is set to fire after 1 day. Without calendar is fires 24 hours later, i.e., at the same time on the next day. If there is a calendar which defines the working hours as Monday to Friday from 9am to 5pm, the trigger fires 24 business hours later.
-
Initialization on Monday, 10am
→ The trigger fires on Thursday, 10am. This is three working days later (24 hours / 8 working hours per day). -
Initialization on Friday, 10am
→ The trigger fires on Wednesday, 10am. This is three working days later (24 hours / 8 working hours per day) and the weekend is omitted.
The following figure shows an example of a calendar used to calculate SLA times.
Example with days of different length
The following calendar is used:
-
Monday to Thursday: 09:00 - 17:00
-
Friday: 09:00 - 15:00
The trigger should fire one day after its initialization.
Methods:
-
Determines the escalation date by business hours. An escalation after one day means 24 business hours later.
Date escalationDate = BusinessCalendarUtil.getEscalationTime(calendar.getTime(), calculateDueTime(0,0,1,0,0), businessCalendar);
-
Determine the escalation date by iterating over business days. An escalation after one day means the next business day at the same hour.
Date escalationDate = getBusinessDate(now(), 1)
Description |
Trigger initialization date |
Escalation date by business hours |
Escalation date by iteration over business days |
---|---|---|---|
Working day before business hours |
Monday 08:00 |
Thursday 09:00 |
Tuesday 09:00 |
Working date inside business hours |
Monday 10:00 |
Thursday 10:00 |
Tuesday 10:00 |
Working day after business hours |
Monday 18:00 |
Friday 09:00 |
Wednesday 09:00 |
Working day before business hours |
Wednesday 08:00 |
Monday 11:00 |
Thursday 09:00 |
Working day inside business hours |
Wednesday 10:00 |
Monday 12:00 |
Thursday 10:00 |
Working day after business hours |
Wednesday 18:00 |
Tuesday 11:00 |
Friday 09:00 |
Working day before business hours |
Friday 08:00 |
Wednesday 11:00 |
Monday 09:00 |
Working day inside business hours |
Friday 10:00 |
Wednesday 12:00 |
Monday 10:00 |
Working day after business hours |
Friday 18:00 |
Thursday 09:00 |
Tuesday 09:00 |
Non-working day |
Saturday 10:00 |
Thursday 09:00 |
Tuesday 09:00 |
Available settings for calendars
The settings for calendars are grouped in three tabs.
The Basic tab contains the basic settings of the calendar:
-
Name: The internal name of the calendar.
-
Time zone: Select the time zone for the calendar. This time zone is used for calculating escalation times regardless of the time zone of the ConSol CM server or the clients.
-
Used in queues: Select queues to assign the calendar to them, see Queues.
The Business hours tab contains a list with the defined working hours. For each entry, the following information is provided:
-
Day of the week: The day of the week which the business hours refer to.
-
Start time: The time when the business hours start.
-
End time: The time when the business hours finish.
The Holidays tab contains a list with the defined holidays. For each entry, the following information is provided:
-
Name: The name of the holiday, for informational purposes.
-
Date: The date of the holiday.
-
End date (multi-day): The end date of the holiday, only needed for holidays which last several days.
Basic tasks
Managing calendars
Calendars are managed on the Calendars page of the System settings menu of the Web Admin Suite. The following actions are available:
-
Create a new calendar
Click the New calendar button or duplicate an existing calendar by clicking the Duplicate icon of a calendar, and enter a name and time zone, see Available settings for calendars. -
Edit a calendar
Click the Edit icon or calendar’s row and update the desired data, see Available settings for calendars. -
Assign a calendar to a queue
Select the desired queues in the Used in queues field of the Basic tab. -
Add business hours
Click the New business hours button in the Business hours tab, and select the day of the week and the start and end time in the details panel on the right. -
Remove business hours
In the Business hours tab, click the Delete icon of the row with the business hours which you want to remove. -
Add holiday
Click the New holiday button in the Holidays tab, enter a name for the holiday and select the date. If the holiday spans several days, you can select an end date. -
Import holidays
Click the Import button in the Holidays tab and select a CSV file which contains the holidays. In the confirmation window, you can choose whether the existing holidays should be removed or not. See Creating a CSV file with holidays for information about the file format. -
Remove holidays
In the Holidays tab, click the Delete icon of the row with the holiday which you want to remove. -
Delete a calendar
Click the Delete icon. Only calendars which are not assigned to any queue can be deleted.
Using calendars for time triggers
You need to perform the following steps to use a calendar for time triggers:
-
Create the calendar on the Calendar page and configure the required business times.
-
Assign the calendar to the desired queues. This can be done either in the Used in queues field of the Basic tab of the Calendar page, or on the Queues page.
-
Select the checkbox Use calendar in the time triggers which should calculate the escalation time based on the calendar on the Workflows page.
Advanced tasks
Creating a CSV file with holidays
You can import holidays from a CSV file. The file needs to contain one row for each holiday. Each row needs to contain a comma-separated list with the name of the holiday, the start date and the end date. The required format for the dates is DD/MM/YYYY.
Example entry:
New year,01/01/2022,01/01/2022