Understanding Business Calendars and Holidays
When talking about calendars, notifications, and SLAs – questions around calendars and holidays often arise.
So lets explain how they work within Dovetail apps.
Business Calendars
Lets start with Business Calendars. They define the work hours.
For example I may have a business calendar named “M-F 9-5” with the following work hours:
- Monday 9:00 AM – Monday 5:00 PM
- Tuesday 9:00 AM – Tuesday 5:00 PM
- Wednesday 9:00 AM – Wednesday 5:00 PM
- Thursday 9:00 AM – Thursday 5:00 PM
- Friday 9:00 AM – Friday 5:00 PM
Pretty simple.
Business Calendars can be setup using Dovetail Admin.
Holidays
Now lets setup the Holidays.
Using Dovetail Agent, navigate to the Admin page, and click on the Holidays icon:
This takes us to the Manage Holidays page, where we can create, edit, and delete holidays.
Clicking the green plus icon allows us to create a new holiday
We can give the holiday a name, a start and end date, and also a group name.
A group name allows us to group holidays together, such as US Holidays, Canadian Holidays, Bankers Holidays, etc.
You can either pick an existing group, or type in a new group name.
Business Calendars and Sites
Now that we’ve setup our business calendars, holidays, and holiday groups, we can relate a site to a calendar and holiday group.
From the Site page, click on the Calendars tab. From here you can see the calendars for this site, and you can also click the green plus to add a new one to this site.
Pick a Calendar, a Holiday Group, set the Effective Date, and Save.
Effective Dates
Effective dates allow us to have different calendar periods.
For example, take a look at this site, which has 3 calendars with different effective dates:
Normal hours are Monday-Friday from 9-5.
But then in the summer, we get Fridays off. So starting June 1, the calendar switches to Monday-Thursday 9-5.
Then on September 1, we switch back to Monday-Friday 9-5.
Some companies have holiday hours, or tax-season hours, or summer hours. The effective date allows us to properly setup these types of work schedules.
So far we’ve done all the setup work for calendars, holidays, and sites. Now lets see how these get used.
Business Rules
When creating a business rule, we define an action to happen (such as notifying someone), and we define when we want that notification to happen, and using which schedule.
For example, we have an SLA that says all cases must be responded to within 4 hours. By default, this would be 4 hours of elapsed time.
So if a case gets created on Saturday at noon, then 4 hours of elapsed time would be 4:00 PM.
But, what if our SLA says all cases must be responded to within 4 business hours?
Assuming it’s our business hours (i.e. the business hours of the support center), then we can set up the business rule to support this.
Here’s the business rule action form. Notice the Using dropdown list.
By default, that value is Elapsed Time. But if we set that to Sppt Bus Hrs, then the rule will fire based on the business calendar (and holidays) of the Support center.
So if the business calendar of the site is M-F 9-5, and the case gets created on Saturday at noon, then 4 hours of business hours would be Monday at 1:00 PM.
And if Monday was a holiday, then 4 hours of business hours would be Tuesday at 1:00 PM.
To recap, if if a case gets created on Saturday at 12:00 PM,
Rule action setup | rule will fire at |
4 hours using elapsed time | Saturday 4:00 PM |
4 hours using support hours (M-F 9-5) | Monday 1:00 PM |
4 hours using support hours (M-F 9-5)with a Monday holiday | Tuesday 1:00 PM |
So depending on how your rule is setup, and what your calendars and holidays are, we can see that the firing time of the rule can be vastly different.
Business Rule Calendar Options
- Choose Elapsed Time if you want time to be measured in the standard 24-hour per day time periods. This is the default.
- Choose Customer Business Hours so the system measures time in terms of the customer site business hours.
For cases, the path to get from the case to the biz_cal_hdr is case_reporter2site:site2biz_cal_hdr:objid - Choose Support Business Hours if you want the system to measure time in terms of the business hours of the site providing support.
For cases, the path to get from the case to the biz_cal_hdr is case_owner2user:user2employee:supp_person_off2site:site2biz_cal_hdr:objid - Choose Customer Support Program Hours if you want the system to measure time in terms of the hours during which a customer is eligible for coverage under the specified support program. The Coverage ours are determined by a business calendar association. This option is applicable with the ClearContracts application only.
- Choose Internal Support Program Hours if you want the system to measure time in terms of the hours the supporting site provides coverage under the specified support program. This option is applicable with the ClearContracts application only.
If you’re using anything other than Elapsed Time, be sure your calendars and holidays are properly setup, and that your support site and customer sites have their calendars/holidays defined.
If a calendar can’t be found, then Rulemanager will fall back to Elapsed time. For example, if you say to use Customer Business Hours, but you don’t have a calendar set on the customer site, then Elapsed time will be used.
User-Defined Business Rule Calendars
You can also create your own user-defined Calendars (Using option).
The following resources may be useful.
This article explains how to create your own user-defined calendars:
https://github.com/gsherman/rulemanager/wiki/Creating-user-defined-calendars
This was also covered as part of a webinar on Advanced Business Rules:
http://www.slideshare.net/gsherman/advanced-business-rules-part2
This blog posts walks through a real-world example of creating and using a user-defined calendar to fire Business Rules based on the business hours of a queue:
https://clarify.dovetailsoftware.com/gsherman/2007/11/06/firing-business-rules-based-on-the-business-hours-of-a-queue/
Business Hour Calculations
Dovetail Rulemanager and Dovetail Carrier both know how to perform these time calculations, taking into account business calendars and holidays.
Rulemanager performs these time calculations for business rules. Carrier performs these time calculations for SLAs.
Support for business hours within these apps has been around forever.
Support for holidays is new, so you need to be running more recent versions to get holiday support:
- Dovetail Rulemanager 2.2
- Dovetail Carrier 2.3
Wrap Up
Hopefully all that explains a bit more about business calendars, holidays, and how they’re used in calculating firing times for business rules.
As always, if you have questions – feel free to leave a comment or reach out to me directly. I’m happy to help.
Rock on.
Dig This?
Sign up to get information like this delivered right to your inbox.