A non-transitory computer readable recording medium having stored thereon a program for on-call scheduling, comprising computer executable instructions that when executed by one or more processing units cause the one or more processing units to:
- generate for a display, a design time graphical user interface (GUI) configured to define one or more escalation paths for an on-call schedule;
- receive, via a first window of the design time GUI, first inputs from a user defining a first escalation path for incidents of a first level of priority, wherein the first escalation path comprises a first escalation step and a second escalation step, wherein the first inputs comprise:
- a selection of a first recipient to be notified for the first escalation step;
- a first number of reminders for the first escalation step or a first period of time between reminders for the first escalation step, or both;
- a first wait duration for the first escalation step, comprising a first amount of time to wait before escalating to the second escalation step;
- a selection of a second recipient to be notified for the second escalation step;
- and
- a second number of reminders for the second escalation step or a second period of time between reminders for the second escalation step, or both;
- display, via a second window of the design time GUI, based on the first inputs, scheduling information for each of a plurality of shifts of the on-call schedule, the scheduling information including a first escalation path graphical outline associated with the first escalation path and a second escalation path graphical outline associated with a second escalation path for incidents of a second level of priority, wherein the first escalation path graphical outline comprises:
- a first escalation step element corresponding to the first escalation step;
- a first corresponding wait duration element corresponding to the first escalation step;
- a second escalation step element corresponding to the second escalation step;
- a second corresponding wait duration element corresponding to the second escalation step;
- and
- receive, via the second window of the design time GUI, second inputs adding a sub-step element corresponding to a respective escalation step element of the first escalation path graphical outline, wherein the sub-step element comprises a reminder element and a delay element respectively identifying a number of notification attempts to be made to an on-call user before notifying a next on-call user corresponding to a next escalation step element, and a delay time period, wherein the delay time period defines an elapsed time before a next notification attempt is made to the on-call user;
- receive an incident and an indication whether the incident is of the first level of priority or the second level of priority;
- select an escalation path from the first escalation path and the second escalation path based on whether the incident is of the first level of priority or the second level of priority;
- execute the selected escalation path associated with a current one of the plurality of shifts of the on-call schedule at run-time;
- and
- transmit a notification to a computing device associated with the on-call user associated with the current one of the plurality of shifts based on the selected escalation path, wherein the selected escalation path is configured to make a first notification attempt to notify the on-call user based on a first attempt contact preference selected by the on-call user, and make a second notification attempt to notify the on-call user based on a second attempt contact preference selected by the on-call user.