Include/Exclude certain dates from OnCall Schedules (for national holidays and vacations)

As an international team, we use multiple on-call schedules (per person) to manage our services and guarantee 24/7 coverage. Due to the way schedules and escalation policies work with PagerDuty, every user is part of multiple schedules.

For Example, “Joe” might have the following schedules:

  • Joe Workdays 09:00 - 18:00 (UTC)
  • Team X OnCall Night Shift (18:00 - 09:00 (UTC))
  • Team X OnCall Weekend Shift

Let’s say there is a national holiday where Joe lives and in that case, he should be off call and the on-call engineer in “Team X OnCall Weekend Shift” should take over the shift on that day. Overwrites alone are a bad and overly complicated solution to that problem, which has been stated for years in this forum. The same is true for vacation planning, which could be much easier.

I suggest the introduction of lists to define certain dates and/or time ranges. These lists include a list of times and dates which should be included or excluded in on-call schedules. As an example, here is how a list of national holidays could look like:

List Name - National Holidays:

  • 1 Jan 09:00 - 18:00 (UTC)
  • 6 Jan 09:00 - 18:00 (UTC)
  • 8 Mar 09:00 - 18:00 (UTC)
  • 7 Apr 09:00 - 18:00 (UTC)
  • 9 Apr 09:00 - 18:00 (UTC)
  • 10 Apr 09:00 - 18:00 (UTC)

Joe could then add the list with “Exclude times on the list from the schedule” to his “Joe Workdays 09:00 - 18:00 (UTC)” schedule to ensure he doesn’t get called on a national holiday. In order for these days not to go un-covered, he could add the list with “Include times on the list in the schedule” to “Team X OnCall Weekend Shift”.

The same would work for vacations where Joe could just define his vacation dates in a time list like this and then exclude it from his schedule and include into another schedule for coverage:

List Name - Joe Vacations:

  • 1 Feb 09:00 (UTC) - 7 Feb 18:00 (UTC)
  • 15 Jul 09:00 (UTC) - 1 Aug 18:00 (UTC)

Another advantage of this approach is that you just need to define the include/exclude feature for every on-call policy and list once and then you just need to update the list if something changes.

This is just one possible solution to this issue. Any solution would be much appreciated. From reading through the forum I am certain that a lot of your users have this problem and the lack of this feature causes a lot of pain. Please just bring us this feature ASAP!