Shift Swaps

Simple, automated assistance to resolve unexpected changes in availability

Unexpected changes in member availability are an inevitable fact of life. On-Call Optimizer assists schedule members to handle these events by co-ordinating the process of reassigning a future shift that the requesting member is no longer able to perform.

Members simply specify the shift they are unable to perform and then get back to other work.

In the background On-Call Optimizer takes care of notifying and checking with each other member of the schedule to determine whether they are willing and able to take the shift, and then when a willing member is found the schedule is automatically updated.

Benefits

  • Eliminates significant time that would previously have been needed to manually arrange and configure the swap.

  • The members most likely to be able to accept the swap request are notified first as On-Call Optimizer is able to integrate the information already held for each member, including their blocks, preferences and the overall balance of the schedule, into the planning of the swap request.

  • Members can choose to simply take the requested shift without needing to swap one of their existing shifts in return, providing greater choice and flexibilty in how requests are resolved.

    On-Call Optimizer ensures balance across the schedule is maintained by assigning fewer shifts to any member who has performed more than the expected share of shifts in future assignments.

The end result is simple, straightforward shift swaps with minimal time or hassle required from any member.

Requesting a Shift Swap

To initiate a request to swap a future shift, click the swap icon shown to the right of the shift when viewing the assignments for a schedule.

Before confirming the request you will have the opportunity to supply a short note which you can use to describe any information or details that will help other members determine whether they are able to accept the request as well as a deadline by which you would like to receive an answer to the swap request by.

Request Processing Details

Once you confirm the details of your swap request On-Call Optimizer will begin assembling an ordered list of members who are candidates for the swap.

When determining the ordering of members, On-Call Optimizer considers the same set of factors and weights as used in the automatic assignment algorithm including member availability, schedule balance and the distance between shifts for a member.

Members will be given a time window within which they can respond to the request. The length of time given to each member defaults to 8 working hours, but will be reduced as necessary in order to ensure that all remaining candidates can be given an opportunity to respond prior to the specified deadline.

When reducing the available response time window, On-Call Optimizer will not reduce the window below 4 working hours, but will instead increase the number of members allowed to have outstanding notifications to achieve the goal of giving all members an opportunity to respond prior to the specified deadline.

If no response has been received at the end of the time window allocated to a member, On-Call Optimizer will move on and notify further members of the schedule to request their response. Members who did not respond within their original time window are still able to respond at any point up until the request has been completed.

Once a response that causes the request to enter the accepted state is received (e.g. a Swap or Take action) no further members are notified. In cases where all members defer their response, or no response has been received and the deadline is approaching the request will enter a last chance state (described further below) in which all members are re-notified.

Responding to a Swap Request

To respond to a swap request, the responding member must choose one of four available actions:

  1. Take the shift, without swapping an existing shift. The requested shift will be reassigned to the member accepting the request. If this results in any imbalance between members in the schedule, it will be addressed by On-Call Optimizer assigning more/fewer shifts to the appropriate members in subsequent assignments.

  2. Swap an existing shift. The responding member will be able to choose from a subset of their assigned future shifts that match the availability information of the requesting member (e.g. any assigned shifts that fall within a blocked time period will be unavailable as a swap target).

    This option may be unavailable when the responding member has no assigned future shifts, all their assigned future shifts conflict with the requesting members availability, or none of their assigned shifts are considered equivalent to the partial shift being swapped.

  3. Defer their response until all other members have responded. Indicating that they may consider taking the shift as a last resort, but would prefer another solution to be found if possible. On-Call Optimizer will re-notify members who deferred their response when the request enters into the last chance state. This option cannot be selected once the last chance state itself has been reached.

    On-Call Optimizer will automatically select this option for any member whose availability information contains a block matching the requested shift. In this case, the member will not be notified of the request until it enters the last chance state in the case that all other members respond with a decline or defer response.

  4. Decline the request. Indicating that they are unable to take the requested shift.

After selecting the desired action, an optional note to explain the response can also be provided.

Once you are happy with your selection and any note, click the Confirm Response button.

The first member to respond with a “Take” or “Swap” action will cause the request to be marked as accepted.

Partial Shifts

On-Call Optimizer supports swapping part of a larger shift. To use this functionality click on the Edit start/end time button to the right of the Shift to Swap line when creating or editing a swap request and select the desired start/end time (which must be within the original shift selected) for the swap request.

Responders will Other than the selection of candidate shifts for responders to swap described below, all other processing of partial swap requests is unchanged.

Response options for a partial swap request

When responding to a swap request for a partial shift members will be presented with a list of equivalent partial shifts assigned to them that could be swapped with the requesting member. Depending on the details of the partial swap requested only a subset of the shifts assigned to the responding member may be considered equivalent and able to be swapped based on the criteria below.

If none of the member’s assigned shifts are considered equivalent to the the partial swap request the Swap response will be unavailable, however the responding member can still choose to Take the shift without a swap.

Identifying equivalent shifts

An assigned shift for a member is considered to be equivalent for a partial swap if it starts at the same shift configuration day and time and has the same duration as the base shift which the partial swap request originates from.

If the duration of the partial swap is less than 24 hours, weekdays are considered equivalent to each other when matching the start day between the requested partial swap and each potential equivalent shift assigned to the responder.

Examples

  • An assigned shift for Wednesday 9am to Thursday 9am, would match a partial swap request for Monday 9am-5pm period of a base shift covering 9am Monday to 9am Tuesday.
  • An assigned shift for Wednesday 9am to Thursday 9am, would not match a partial swap request for Monday 9am-5pm period of a base shift covering 9am Monday to 9am the following Monday (e.g. one week).

Swapping the current shift

On-Call Optimizer supports swap requests that change the shift that is currently occuring which can arise in two ways:

  1. The current on-caller initiates the swap request after the start time of the shift.
  2. A prior swap request does not receive a response prior to the start time of the shift being swapped.

When swapping the current shift On-Call Optimizer will immediately enter the last chance mode of processing and request an immediate response from all members of the schedule. When a member accepts the request the swap will begin from the next minute to allow time for synchronization with any configured destinations.

Swap Request State Reference

Each swap request passes through the following states

Pending

The request has been received and is being processed by On-Call Optimizer. Notifications to each candidate member will be sent in turn and all response actions are available to be chosen by any candidate member (including those who have not yet been notified, who may notice the request in the UI, etc).

Accepted

Either a swap or an agreement to take the shift has been found and On-Call Optimizer is currently processing the required update(s) to the assignments of the schedule. Once a request has moved into the accepted state it cannot be changed. Other members are unable to respond in any way and the action cannot be reversed unless a subsequent swap request for the same shift is made after the current request reaches the completed state.

Completed

The requested shift (and the shift being swapped to if present) have been successfully reassigned in the current assignment of the schedule. The request and the swap are final. If future changes to the shift are required they must be made via further swap requests or custom assignments of the schedule.

Last Chance

The last chance state is entered when any of the following conditions are met:

  • All candidate members have provided a response without any member acceepting the request, but at least one member has deferred their response.
  • The deadline for the request is in 4 working hours or less (in the time zone of the schedule) and one or more candidate members has yet to respond, or has deferred their response.
  • The shift being swapped is the currently active shift!

When the last chance state is entered all members who have not explicitly declined the shift will be re-notified with the information that no-one has yet accepted the shift and their further response is now required.

Overdue

If no responses are received during the last chance state, the request will become overdue once the deadline has passed. In this state, all members will have received at least one prior notification, but no member has accepted the request, and at least one member has not yet provided a response.

The request will remain in this state until it expires with On-Call Optimizer periodically reminding any members have not yet responded (including those that initially deferred their response) that the requesting member is still awaiting an answer.

Infeasible / Expired

These terminal states indicate that the request was unable to be completed, either because all candidate members explicitly declined the shift (Infeasible), or the start time of the shift was reached before any member accepted the shift (Expired).


Last updated August 28, 2024