ServiceNow SLA - Complex Business Hours, Holidays and Weekend Rules
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
an hour ago
Hi everyone,
I'm implementing SLAs for the Incident table in ServiceNow and I'm looking for the best practice for handling complex SLA calculations.
Our SLA rules depend on:
- Business service
- Priority
- Business hours
- Off-business hours
- Fridays
- Holidays
- Saturdays
- Variable end time for Saturday/Holiday (depending on the season)
One important requirement is that Holiday schedules cannot simply be excluded using a Schedule, because SLA time should sometimes continue counting during holidays.
For example:
- An Incident is opened on Holiday Eve at 3:30 PM.
- The SLA is 4 hours.
- The expected Due Date is 7:30 PM, even if the holiday starts at 4:00 PM.
On the other hand, for some services the requirement is different:
- If an Incident is opened between Friday 4:00 PM and Saturday holiday/weekend end, the SLA should start only after Saturday ends, and then count the required SLA hours.
Saturday ends at:
- April – October: 8:00 PM
- November – March: 6:00 PM
Some SLAs also have a target of End of the Next Working Day, where a working day is defined as any day that is not Saturday or a Holiday, ending at 6:00 PM.
Has anyone implemented a similar requirement?
Would you recommend:
- Multiple SLA Definitions?
- Relative Duration Scripts?
- Custom SLA Calculator / Script Include?
- Another best-practice approach?
Below is the business matrix we need to implement.
Business Service Ticket Type Priority Business Hours (07:00-18:00) Off Hours (18:00-07:00 / Saturday End → 07:00) Friday / Holiday Eve (07:00-16:00) Saturday / Holiday (From 16:00 until Saturday/Holiday End)
| Personal Computing | Incident | P1 | 3 Hours | 3 Hours | 3 Hours | 3 Hours |
| Personal Computing | Incident | P2 | 8 Hours | 8 Hours | 8 Hours | 8 Hours |
| Personal Computing | Incident | P3 | 12 Hours | 12 Hours | 12 Hours | 12 Hours |
| Multimedia | Incident | P1 | 4 Hours | 4 Hours | 4 Hours | 4 Hours from Saturday/Holiday End |
| Multimedia | Incident | P2 | 6 Hours | 6 Hours | 6 Hours | End of Next Working Day |
| Multimedia | Incident | P3 | 24 Hours | 24 Hours | End of Next Working Day | End of Next Working Day |
| Telephony | Incident | P1 | 3 Hours | 3 Hours | 3 Hours | 3 Hours from Saturday/Holiday End |
| Telephony | Incident | P2 | 8 Hours | 8 Hours | 8 Hours | 8 Hours |
| Telephony | Incident | P3 | 12 Hours | 12 Hours | 12 Hours | 12 Hours |
Notes:
- End of Next Working Day = the nearest working day that is not Saturday or a Holiday, ending at 6:00 PM.
- Saturday End:
- April – October: 8:00 PM
- November – March: 6:00 PM
I'd appreciate any recommendations or examples of how you would implement this in ServiceNow while following best practices.
Thank you!