Introducing multiple recurrence support for the work hour calendar in Universal Resource Scheduling (URS)

The work hour calendar multiple recurrence feature is a new URS functionality that allows you to create and manage work hour calendars with more flexibility and efficiency. You can now define multiple recurrence patterns for your work hour calendar events, such as daily, weekly or monthly, and specify different start and end dates for each pattern. This way, you can easily accommodate different work schedules, holidays, and special events in your organization.

The new multiple recurrence feature in the upcoming V2 work hour calendar can help you to:

  • Add multiple recurrences within a single day, to represent different instances of recurring shift work e.g. morning, afternoon and evening shifts in a single day with different recurrences
  • Have overlapping recurrences within a week e.g. A recurrence for Mon and Wed, and a recurrence for Tues. Previously the Tuesday recurrence would have deleted the Mon and Wed entries; now they can coexist alongside each other.
  • Input work hour events in different timezones, which is helpful for workers who travel. Previously, the calendar supports only one timezone across all work hour calendar events.

What are work hour calendar events and why are they needed?

Work hour events define when a resource is available to perform work, and they exist as 2 types:

  • Occurrences (one-time events) are work hour events that happen only once on a specific date and time. Occurrences always take priority over Recurrences. E.g. team cohesion days, seminars or emergencies.
  • Recurrences (repeating events) are work hour events that repeat on a regular basis according to a pattern and frequency. E.g. rotational shift work, weekly cadences, monthly client visits

Occurrences and recurrences can be used today in URS to define different types of work hours, such as working hours, non-working hours, breaks and time off.

How did URS handle work hour events before (V1 work hour calendar)?

Before this update, only 1 recurrence event is supported per calendar day, for a given date span.

Scenario 1, Jane is a doctor who does shift work at various clinics:

  • Recurrence 1 (morning shifts): 7am-12pm UTC, repeats Mon, Tues, Wed
  • Recurrence 2 (afternoon shifts): 1pm-5pm UTC, repeats Tues, Wed, Thu
  • Recurrence 3 (night shifts): 7pm-11pm UTC, repeats Wed, Thu and Fri

The old work hour calendar does not support more than 1 work hour event per calendar day, so this scenario would not be supported

Scenario 2, John is a utilities engineer with different work hours on alternating days:

  • Recurrence 1: 8am-5pm UTC, repeats Mon, Wed and Fri
  • Recurrence 2: 6am-8pm UTC, repeats Tues and Thu

Adding both recurrences was not supported in the old work hour calendar; Recurrence 2 would have deleted the Mon, Wed and Fri entries from Recurrence 1 for a given date span.

Scenario 3, Becca is a travelling salesperson who works in both Seattle and Singapore:

  • Recurrence 1 (work in Seattle): 8am-5pm PT, repeats all days of the week
  • Recurrence 2 (work in Singapore): 8am-5pm SGT, repeats all days of the week

Adding both recurrences of different timezones was not supported in the old work hour calendar.

How does URS handle work hour events now (V2 work hour calendar)?

The new V2 work hours calendar now follows the following logic:

  • Occurrences have a higher priority than Recurrence rules for a given calendar day. So if there were two rules (one occurrence and one recurrence) on the same day, the daily occurrence or time-off occurrence will take the priority over the weekly recurrence for the entire calendar day.(Unchanged from previous)
  • When there are multiple recurrences within the same date span:
    • If the times do not intersect, they will both remain on the calendar
    • If the times conflict, the rule that was most recently created/modified will be the one that is considered for the resource’s calendar. All other conflicting rules in the date span will be removed. In the event that some recurrences have conflicts on some dates but not on others, the rule will be spliced to retain the non-conflicting events, while removing the events on dates that do have conflicts.

Scenario 1, Jane is a doctor who does shift work at various clinics:

  • Recurrence 1 (morning shifts): 7am-12pm UTC, repeats Mon, Tues, Wed
  • Recurrence 2 (afternoon shifts): 1pm-5pm UTC, repeats Tues, Wed, Thu
  • Recurrence 3 (night shifts): 7pm-11pm UTC, repeats Wed, Thu and Fri

Create Recurrence 1, Recurrence 2, then Recurrence 3 in succession. All will now show up on the calendar as seen below

table

Scenario 2, John is a utilities engineer with different work hours on alternating days:

  • Recurrence 1: 8am-5pm UTC, repeats Mon, Wed and Fri
  • Recurrence 2: 6am-8pm UTC, repeats Tues and Thu

Create Recurrence 1, then create Recurrence 2 in succession. Both will now show up on the calendar as seen below:

Scenario 3, Becca is a travelling salesperson who works in both Seattle and Singapore:

  • Recurrence 1 (work in Seattle): 8am-5pm PT, repeats all days of the week
  • Recurrence 2 (work in Singapore): 8am-5pm SGT, repeats all days of the week
graphical user interface, application

As seen above both Seattle and Singapore work hours are both easily expressed on the V2 work hours calendar. Note that the Singapore work hours are shifted to match the dispatcher’s Timezone i.e. Pacific Time – the timezone of the calendar itself is visible at the bottom left of the calendar, and the dispatcher can be altered this in <Personalization Settings>.

What else has changed/remains unchanged?

Previously in the V1 Work Hour Calendar, only 1 recurrence is allowed per calendar day, thus adding any new recurrences will completely override the work hour events for that calendar day.

With the V2 Work Hour Calendar, the previous work hour events will only be overridden if there is a direct conflict in time between the 2 recurrences.

For instance, Joel is an equipment technician with the following work hours:

  • Recurrence 1 (regular work hours): 9am-5pm PT, repeats all days of the week
  • Recurrence 2 (temporary work hours): 1-9pm PT, only from Jul 10-14

Create Recurrence 1, then create Recurrence 2 in succession. As seen below, Recurrence 2 overrides Recurrence 1 for the Jul 10-14 period because there is a direct conflict between the recurrences. All other work hour events remain.

The following dialogue will now appear whenever a new work hour event is added, in order to remind users of this behavior:

graphical user interface, text, application, email

Occurrences remain unchanged from the previous V1 calendar i.e. Occurrences always take priority over Recurrences and will override recurrences for the entire day.

For instance, Duke is an equipment technician with the following work hours:

  • Recurrence 1 (regular work hours): 9am-5pm PT, repeats all days of the week
  • Occurrence 1 (team cohesion): 6-9pm PT, only on Aug 1

Create Recurrence 1, then create Occurrence 1 in succession. As seen below, Occurrence 1 completely overrides all other work hours events for the Aug 1 calendar day even if there is no direct collision between the Recurrence and the Occurrence.

When will the V2 Work Hour Calendar be available, and how can I get my hands on it?

The V2 Work Hour Calendar will be available early-September 2023 in our Early Adoption Wave 2 update. You can opt in through Power Platform Admin Center, as seen below:

graphical user interface

How can I find out more?

If you want to learn more about the new work hour calendar multiple recurrence feature, you can:

Read the documentation here: Edit work hour calendars by using APIs in Dynamics 365 Field Service – Dynamics 365 Field Service | Microsoft Learn

Join the community forum here: https://community.dynamics.com/

Contact the support team here: https://support.microsoft.com/en-us/contactus/

We hope you enjoy the new work hour calendar multiple recurrence feature and find it useful for your business needs. We appreciate your feedback and suggestions on how to improve our products and services. Thank you for choosing Dynamics 365!