This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Example configurations

Examples of how to configure Schedules

Using basic and nested schedules, it is possible to create almost any configuration of on-call schedule that you require as demonstrated by the examples below.

If none of these examples meet your needs, and you need help creating a schedule to match your requirements, please get in touch.

1 - Weekly Shift

Demonstrates a simple schedule changing between members once a week at a specified date and time.

While this is a common rotation pattern for many teams, the full benefits of On-Call Optimizer will not be experienced in this configuration due to the limited number of shifts available to be matched to team member constraints and preferences.

It is recommended that you consider migrating to one of the later examples in the configuration library which provide more flexibility to schedule around team member constraints and preferences.

Shift Configuration Entries

Day:Hour:Minute:Primary:Secondary:
Mon1000BEST_MEMBER[Not assigned]

Sample Assignment

2023-07-24 10:00 person2@example.com
2023-07-31 10:00 person3@example.com
2023-08-07 10:00 person1@example.com
2023-08-14 10:00 person3@example.com

Return to the list of other examples

2 - Daily Shift

Demonstrates a simple schedule changing between members at 9am every day.

Shift Configuration Entries

Day:Hour:Minute:Primary:Secondary:
Daily0900BEST_MEMBER[Not assigned]

Sample Assignment

2023-07-24 10:00 member2@example.com    # Mon
2023-07-25 10:00 member1@example.com    # Tue
2023-07-26 10:00 member3@example.com    # Wed
2023-07-27 10:00 member4@example.com    # Thu
2023-07-28 10:00 member3@example.com    # Fri
2023-07-29 10:00 member4@example.com    # Sat
2023-07-30 10:00 member1@example.com    # Sun
2023-07-31 10:00 member2@example.com    # Mon

Return to the list of other examples

3 - Business hours only shifts (schedule contains gaps)

Demonstrates a schedule assigning members only during business hours with gaps in between the shifts.

In situations where out-of-hours coverage is not required, you can create a schedule which only assigns members during particular time periods, leaving gaps with no assignee(s) scheduled at all other times.

The following example demonstrates a shift configuration that will create shifts covering Mon-Fri 9am-5pm in the schedule’s time zone. No shift or assignee will be available outside those times.

Shift Configuration Entries

Day:Hour:Minute:Primary:Secondary:
Weekdays0900BEST_MEMBER[Not assigned]
Weekdays1700[Not assigned][Not assigned]

Sample Assignment

2023-07-24 09:00 person2@example.com    # Mon
# 2023-07-24 17:00 NO_ASSIGNEE
2023-07-25 09:00 person1@example.com    # Tue
# 2023-07-25 17:00 NO_ASSIGNEE
2023-07-26 09:00 person5@example.com    # Wed
# 2023-07-26 17:00 NO_ASSIGNEE
2023-07-27 09:00 person4@example.com    # Thu
# 2023-07-27 17:00 NO_ASSIGNEE
2023-07-28 09:00 person3@example.com    # Fri
# 2023-07-28 17:00 NO_ASSIGNEE
2023-07-31 09:00 person5@example.com    # Mon
# 2023-07-31 17:00 NO_ASSIGNEE

Return to the list of other examples

4 - Separate business and after-hours shifts (within team)

Demonstrates a schedule with different business and after-hours shifts every day.

A common motivation for using a schedule configuration of this type would be to avoid having any team member scheduled for a consecutive 24hr period.

Shift Configuration Entries

Day:Hour:Minute:Primary:Secondary:
Daily0900BEST_MEMBER[Not assigned]
Daily1700BEST_MEMBER[Not assigned]

Sample Assignment

2023-07-24 09:00 person2@example.com    # Mon
2023-07-24 17:00 person5@example.com
2023-07-25 09:00 person1@example.com    # Tue
2023-07-25 17:00 person4@example.com
2023-07-26 09:00 person5@example.com    # Wed
2023-07-26 17:00 person3@example.com
2023-07-27 09:00 person4@example.com    # Thu
2023-07-27 17:00 person2@example.com
2023-07-28 09:00 person3@example.com    # Fri
2023-07-28 17:00 person1@example.com
2023-07-29 09:00 person5@example.com    # Sat
2023-07-29 17:00 person2@example.com

Return to the list of other examples

5 - Separate business and after-hours shifts (delegated to a partner team)

Demonstrates a schedule with after-hours shifts handled by a different partner team.

This schedule configuration is commonly used when two teams in different time-zones are able to provide coverage during different hours of the day.

Note how (unlike the basic after hours) example where every day of the week is treated the same, this example also demonstrates the use of the Weekdays wildcard in the shift configuration to achieve the result of having Saturday and Sunday also treated as after-hours and assigned to the partner team for the full 48-hour period.

Shift Configuration Entries

Day:Hour:Minute:Primary:Secondary:
Weekdays0900BEST_MEMBER[Not assigned]
Weekdays1700partner-rotation[Not assigned]

Sample Assignment for the main schedule

2023-07-24 09:00 person2@example.com    # Mon
2023-07-24 17:00 partner-rotation
2023-07-25 09:00 person1@example.com    # Tue
2023-07-25 17:00 partner-rotation
2023-07-26 09:00 person3@example.com    # Wed
2023-07-26 17:00 partner-rotation
2023-07-27 09:00 person2@example.com    # Thu
2023-07-27 17:00 partner-rotation
2023-07-28 09:00 person3@example.com    # Fri
2023-07-28 17:00 partner-rotation
2023-07-31 09:00 person1@example.com    # Mon

Partner Team Schedule

The partner team can use any rotation configuration they like, independently of any scheduling choices made in the the main schedule. For simplicitly this example shows shifts generated as if the partner team was using the Simple Daily Rotation configuration which assigns a single shift per day.

Fully Rendered Schedule

When viewed in the On-Call Optimizer web UI, or exported to an on-call products the “fully rendered” schedule combining the above two rotations will be as follows:

2023-07-24 09:00 person2@example.com    # Mon
2023-07-24 17:00 member2@example.com    # Mon 10:00 in partner-rotation America/Los_Angeles
2023-07-25 09:00 person1@example.com    # Tue
2023-07-25 17:00 member1@example.com    # Tue 10:00 in partner-rotation America/Los_Angeles
2023-07-26 09:00 person3@example.com    # Wed
2023-07-26 17:00 member3@example.com    # Wed 10:00 in partner-rotation America/Los_Angeles
2023-07-27 09:00 person2@example.com    # Thu
2023-07-27 17:00 member2@example.com    # Thu 10:00 in partner-rotation America/Los_Angeles
2023-07-28 09:00 person3@example.com    # Fri
2023-07-28 17:00 member3@example.com    # Fri 10:00 in partner-rotation America/Los_Angeles
2023-07-29 17:00 member3@example.com    # Sat 10:00 in partner-rotation America/Los_Angeles
2023-07-30 17:00 member1@example.com    # Sun 10:00 in partner-rotation America/Los_Angeles
2023-07-31 09:00 person1@example.com    # Mon
2023-07-31 17:00 member2@example.com    # Mon 10:00 in partner-rotation America/Los_Angeles

Return to the list of other examples

6 - Follow the sun (2 locations)

Demonstrates a schedule balancing two 12-hour shifts between a UK and US west coast pair of teams.

This schedule configuration enables each team to have the majority of their on-call hours within typical day/waking hours. It involves 3 separate schedules, one for each of the local teams and a third schedule which is then used to co-ordinate and join the local schedules together.

Main Schedule Shift Configuration Entries

The main schedule is configured in the America/Los_Angeles time zone and uses a simple shift configuration pattern that rotates between a nested schedule for each team at the appropriate time each day.

Day:Hour:Minute:Primary:Secondary:
Weekdays1000sfo-team[Not assigned]
Weekdays2200lon-team[Not assigned]

Sample shifts

2023-07-24 10:00 sfo-team
2023-07-24 22:00 lon-team
2023-07-25 10:00 sfo-team
2023-07-25 22:00 lon-team
2023-07-26 10:00 sfo-team
2023-07-26 22:00 lon-team
2023-07-27 10:00 sfo-team
2023-07-27 22:00 lon-team
2023-07-28 10:00 sfo-team
2023-07-28 22:00 lon-team
2023-07-31 10:00 sfo-team

London Team Shift Configuration Entries

The London team’s schedule is configured in the GMT time zone and the team has chosen to schedule themselves using a 4 day/3 day split across the week.

Day:Hour:Minute:Primary:Secondary:
Mon0600BEST_MEMBER[Not assigned]
Fri0600BEST_MEMBER[Not assigned]

The 06:00 UTC shift start time is selected to match the 22:00 America/Los_Angeles shift start time in the main schedule.

Sample shifts

2023-07-24 06:00 london-member1@example.com    # Mon
2023-07-28 06:00 london-member3@example.com    # Fri
2023-07-31 06:00 london-member2@example.com    # Mon
2023-08-04 06:00 london-member4@example.com    # Fri
2023-08-07 06:00 london-member3@example.com    # Mon
2023-08-11 06:00 london-member1@example.com    # Fri
2023-08-14 06:00 london-member4@example.com    # Mon
2023-08-18 06:00 london-member2@example.com    # Fri

US Team

The US team uses a simple daily rotation (specifically the Simple Daily Rotation example ).

Sample shifts

2023-07-24 10:00 member2@example.com    # Mon
2023-07-25 10:00 member1@example.com    # Tue
2023-07-26 10:00 member3@example.com    # Wed
2023-07-27 10:00 member4@example.com    # Thu
2023-07-28 10:00 member3@example.com    # Fri
2023-07-29 10:00 member4@example.com    # Sat
2023-07-30 10:00 member1@example.com    # Sun
2023-07-31 10:00 member2@example.com    # Mon

Fully Rendered Schedule

When viewed in the On-Call Optimizer web UI, or exported to an on-call products the “fully rendered” schedule combining combining all of the above configuration will result in the following shifts:

# Rendered in UTC
2023-07-24 05:00 london-member1@example.com    # Mon 6am LON / 10pm Sun SFO
2023-07-24 17:00 member2@example.com           # Mon 6pm LON / 10am Mon SFO
2023-07-25 05:00 london-member1@example.com    # Tue 6am LON / 10pm Mon SFO
2023-07-25 17:00 member1@example.com           # Tue 6pm LON / 10am Tue SFO
2023-07-26 05:00 london-member1@example.com    # Wed 6am LON / 10pm Tue SFO
2023-07-26 17:00 member3@example.com           # Wed 6pm LON / 10am Wed SFO
2023-07-27 05:00 london-member1@example.com    # Thu 6am LON / 10pm Wed SFO
2023-07-27 17:00 member4@example.com           # Thu 6pm LON / 10am Thu SFO
2023-07-28 05:00 london-member3@example.com    # Fri 6am LON / 10pm Thu SFO
2023-07-28 17:00 member3@example.com           # Fri 6pm LON / 10am Fri SFO
2023-07-29 05:00 london-member3@example.com    # Sat 6am LON / 10pm Fri SFO
2023-07-29 17:00 member4@example.com           # Sat 6pm LON / 10am Sat SFO
2023-07-30 05:00 london-member3@example.com    # Sun 6am LON / 10pm Sat SFO
2023-07-30 17:00 member1@example.com           # Sun 6pm LON / 10am Sun SFO
2023-07-31 05:00 london-member2@example.com    # Mon 6am LON / 10pm Sun SFO
2023-07-31 17:00 member2@example.com           # Mon 6pm LON / 10am Mon SFO

Return to the list of other examples

7 - Follow the sun (multiple locations)

Demonstrates a schedule balancing three 8-hour shifts that follow the sun around the globe.

In this example there are 3 teams, one in London, one in Sydney and one in San Francisco, who work together to provide an overall on-call schedule. The London and San Francisco teams are equally sized and participate every day of the week, while the Sydney team with fewer people only participates during their week days, with the weekend shifts covered only from London and San Francisco.

As with the more basic follow the sun example this example is constructed with one schedule per team, combined with a fourth co-ordinating schedule that is used to provide the overall schedule.

Main Schedule Shift Configuration Entries

The main schedule is configured in the Australia/Sydney time zone in order to easily highlight the shift start times that relate to weekend coverage being provded in London and San Francisco.

The first 3 shift configurations follow a simple repeating pattern for each of the weekdays, while the final 3 shift configuration entries deal with the slightly more complex set of shifts required to implement the different shift lengths for London and San Francisco that are required to provide the desired weekend coverage.

Day:Hour:Minute:Primary:Secondary:
Weekdays1000syd-team[Not assigned]
Weekdays1800lon-team[Not assigned]
Weekdays0200sfo-team[Not assigned]
Sat1002sfo-team[Not assigned]
Sun,Mon0300sfo-team[Not assigned]
Weekends1500lon-team[Not assigned]

Sample shifts

2023-07-24 03:00 sfo-team
2023-07-24 10:00 syd-team
2023-07-24 18:00 lon-team
2023-07-25 02:00 sfo-team
2023-07-25 10:00 syd-team
2023-07-25 18:00 lon-team
2023-07-26 02:00 sfo-team
2023-07-26 10:00 syd-team
2023-07-26 18:00 lon-team
2023-07-27 02:00 sfo-team
2023-07-27 10:00 syd-team
2023-07-27 18:00 lon-team
2023-07-28 02:00 sfo-team
2023-07-28 10:00 syd-team
2023-07-28 18:00 lon-team
2023-07-29 02:00 sfo-team
2023-07-29 15:00 lon-team
2023-07-30 03:00 sfo-team
2023-07-30 15:00 lon-team
2023-07-31 03:00 sfo-team
2023-07-31 10:00 syd-team
2023-07-31 18:00 lon-team

London Team Shift Configuration Entries

The London team schedule (configured in the GMT time zone) uses the same 4 day/3 day split as seen in the previous follow the sun example.

Day:Hour:Minute:Primary:Secondary:
Mon0600BEST_MEMBER[Not assigned]
Fri0600BEST_MEMBER[Not assigned]

The 06:00 UTC shift start time is selected to match the 22:00 America/Los_Angeles shift start time in the main schedule.

Sample shifts

2023-07-24 06:00 london-member1@example.com    # Mon
2023-07-28 06:00 london-member3@example.com    # Fri
2023-07-31 06:00 london-member2@example.com    # Mon
2023-08-04 06:00 london-member4@example.com    # Fri
2023-08-07 06:00 london-member3@example.com    # Mon
2023-08-11 06:00 london-member1@example.com    # Fri
2023-08-14 06:00 london-member4@example.com    # Mon
2023-08-18 06:00 london-member2@example.com    # Fri

US Team

The US team uses a simple daily rotation (specifically the Simple Daily Rotation example ).

Sample shifts

2023-07-24 10:00 member2@example.com    # Mon
2023-07-25 10:00 member1@example.com    # Tue
2023-07-26 10:00 member3@example.com    # Wed
2023-07-27 10:00 member4@example.com    # Thu
2023-07-28 10:00 member3@example.com    # Fri
2023-07-29 10:00 member4@example.com    # Sat
2023-07-30 10:00 member1@example.com    # Sun
2023-07-31 10:00 member2@example.com    # Mon

Sydney Team

The small Sydney team uses basic week long rotations.

2023-07-24 10:00 person2@example.com
2023-07-31 10:00 person3@example.com
2023-08-07 10:00 person1@example.com
2023-08-14 10:00 person3@example.com

Fully Rendered Schedule

When viewed in the On-Call Optimizer web UI, or exported to an on-call products the “fully rendered” schedule combining all the individual shifts will be as follows:

# Rendered in UTC
2023-07-24 00:00 person2@example.com           # Mon 10am SYD / Sun 5pm SFO / Mon 1am LON
2023-07-24 08:00 london-member1@example.com    # Mon 6pm SYD / Mon 1am SFO / Mon 9am LON
2023-07-24 16:00 member2@example.com           # Tue 2am SYD / Mon 9am SFO / Mon 5pm LON
2023-07-25 00:00 person2@example.com           # Tue 10am SYD / Mon 5pm SFO / Tue 1am LON
2023-07-25 08:00 london-member1@example.com    # Tue 6pm SYD / Tue 1am SFO / Tue 9am LON
2023-07-25 16:00 member1@example.com           # Wed 2am SYD / Tue 9am SFO / Tue 5pm LON
2023-07-26 00:00 person2@example.com           # Wed 10am SYD / Tue 5pm SFO / Wed 1am LON
2023-07-26 08:00 london-member1@example.com    # Wed 6pm SYD / Wed 1am SFO / Wed 9am LON
2023-07-26 16:00 member3@example.com           # Thu 2am SYD / Wed 9am SFO / Wed 5pm LON
2023-07-27 00:00 person2@example.com           # Thu 10am SYD / Wed 5pm SFO / Thu 1am LON
2023-07-27 08:00 london-member1@example.com    # Thu 6pm SYD / Thu 1am SFO / Thu 9am LON
2023-07-27 16:00 member4@example.com           # Fri 2am SYD / Thu 9am SFO / Thu 5pm LON
2023-07-28 00:00 person2@example.com           # Fri 10am SYD / Thu 5pm SFO / Fri 1am LON
2023-07-28 08:00 london-member3@example.com    # Fri 6pm SYD / Fri 1am SFO / Fri 9am LON
2023-07-28 16:00 member3@example.com           # Sat 2am SYD / Fri 9am SFO / Fri 5pm LON
2023-07-29 05:00 london-member3@example.com    # Sat 3pm SYD / Fri 10pm SFO / Sat 6am LON
2023-07-29 17:00 member4@example.com           # Sun 3am SYD / Sat 10am SFO / Sat 6pm LON
2023-07-30 05:00 london-member3@example.com    # Sun 3pm SYD / Sat 10pm SFO / Sun 6am LON
2023-07-30 17:00 member1@example.com           # Mon 3am SYD / Sun 10am SFO / Sat 6pm LON
2023-07-31 00:00 person3@example.com           # Mon 10am SYD / Sun 5pm SFO / Mon 1am LON

Return to the list of other examples