Planning and Scheduling Optimization (PSO) is a scalable optimization framework which conducts advanced workforce scheduling. It comprises a number of separate calculation and optimization engines - one of which is the Appointment Booking Engine (ABE).
The ABE receives Appointment Requests, and then rapidly returns a set of Appointment Offers - time slots that are currently suitable for the work to be performed. Once a particular slot has been selected, the Appointment can be confirmed, and the reservations on the remaining unused slots are released.
The integration of ABE with IFS Cloud provides functionality to book appointments for Work Tasks / Request Tasks.
An Activity (for a Work Tasks / Request Task) is sent from IFS Cloud to the Appointment Booking Engine using an Appointment Request.
The appointment booking engine will return offers with respective slot values, where the value is calculated by subtracting the resource and travel costs from the value of the activity. If the value is negative, no appointment offer will be made for that particular slot.
The ‘values’ are returned to IFS Cloud, with the slots, and are then displayed to the user to assist them in choosing an appointment that will suit the customer.
Offers will be returned for the period defined in the dataset (Appointment Window Days + Scheduling Window Days), or a shorter period, defined by the Period Start/End dates. There are indicators in the Appointment Booking page, to distinguish for each offer whether it meets the required SLA or not.
The following IFS Cloud components must be installed in order to use the Planning and Scheduling Optimization integration:
An appointment request is a message from IFS Cloud to the ABE, detailing the activity to be booked, and the possible time slots that should be considered.
An appointment offer is sent from the ABE to IFS Cloud, detailing per slot whether it can be offered or not. For each slot, the proposed appointment start/end time is defined. When an offer is made, all the offered slots are reserved to avoid other activities also being booked for the same times and resources. The offers have a timeout and the reservation will automatically be released after the timeout. The default timeout setting is 10 minutes.
Once an offer is accepted, all other slots are unreserved.
When declining an appointment offer, the ABE will unreserve all the offered slots.
Scheduling activity types should be defined. The following scheduling information should be defined per activity type, for use with the appointment booking process:
An availability per activity type. The availability defines the default parameters that will be used by an appointment booking session.
The Dataset has two time periods set against it. The Scheduling Window which is the time period used by the DSE to schedule activities and the Appointment Window which is the time period used for appointments. The Appointment Window period is calculated from the end of the Scheduling Window.
If the ABE is to be used, it is mandatory to define an Appointment Window and the Process Type must be set to ‘Appointment’.
Availability is defined in Basic Data for Scheduling as a template, that can be attached to Activity Types. The purpose of the Availability is to hold the key data that defines the appointment parameters. The Availability defines the default period (Period Start Offset - the number of days from today, that the bookings can commence, and the Period Length - number of days over which to ask for booking offers), the type of Appointment (Appointment to Start/Appointment to Complete), the default for Slot Availability (all slots are initially Available, or Not Available) and the auto request option (initiate a request to ABE immediately after opening the appointment booking page). An Availability template has one or more Slot templates linked to it. One Slot template is the default. Each linked slot has a Calendar.
Appointment Slots are defined in Basic Data for Scheduling and are used by the Appointment Availability. Appointment slots define how the Appointment Booking Engine (ABE) returns available slots. Slot Length (Hours) is the time period in which a booking will be requested, Slot Window (Hours) is the time period offered by ABE. The slot window is always within the slot length.
Slot length |
4 hours |
4 hours |
Slot window |
<not set> |
2 hours |
Sample slot |
8:00-12:00 |
8:00-12:00 |
Appointment
offer |
Same as slot,
i.e.
8:00-12:00 |
Best 2-hour
window in the 4-hour slot.
Could be e.g.
9:15-11:15 |
For more information on the scheduling parameters related to the Planning and Scheduling Optimization Integration please refer to the activity Define Scheduling Configuration.
In order to book an appointment for a Work Task/ Request Task, the task must be set to a status less than Work Started.
For a work task / request task to be appointment booked, it must
The Appointment session follows a workflow
Status | Description |
Preliminary | An Appointment Booking is started in Preliminary status. The default parameters are loaded from the Availability, linked to the Work Task (via the Work Type). |
Slots Generated | If a valid set of Availability/Slot parameters exist for the work task / request task, then the parameters are used to generate appointment slots, and the session is automatically changed to status Slots Generated. The slots are shown in the table/calendar. |
Request Sent | Once slots have been generated, the Request button is activated. Selecting the Request button sets the status to Request Sent. A message is sent to the ABE and while this is in progress, the booking form fields cannot be changed. |
Offer Received | When a set of offers is received from the ABE, the details of the offers are updated against each slot, and the status changes to Offer Received. When a slot has an offer, the offer value, offer rank, and offer times are displayed. The offers can be Declined and the status returns to Slots Generated, allowing the parameters to be edited, and a new request to be made. |
Offer Accepted | Once an offer is Accepted, the appointment booking form will automatically close. The details about the appointment mode booked and the dates of the appointment for the work task will be set in Work Task/Scheduling/General and for Request Task, Work Task- Scheduling & Allocation/PSO Scheduling Info). |
The Availability parameters can be edited, in states Preliminary and Slots Generated.
It is possible to select a Slot ID, which controls the Slot Length and Slot Window.
The Period Start and End dates default from the Availability (calculated using the Period Start Offset and Period Length) but can be edited.
The Appointment mode is set from the Availability, but can be edited. “Appointment to Start” means that only the start time needs to be in the selected slot. “Appointment to Complete” requires the entire activity to fit into the slot, which requires the slot to be longer than the activity duration.
The Slots are generated based on the Slot Length, and the Availability calendar, for the period defined by the start and end dates. Slots are only generated for working hours. Slots Availability is controlled by the Appointment Availability settings.
All of the parameters can be edited, either directly, or by choosing a different Slot ID. Once a change has been made, the Apply button is selected to save the changes. The original defaults can be reset, by using the Default button.
Once offers have been received, the only fields that can be edited, are the Slot Value Factor and Slot Available.
An appointment can also be rebooked. No change to the existing appointment is made until a new offer is accepted.
If a rebooking is made then a work order journal entry is registered to assist with analysis of bookings and ensure that a full record of changes is maintained.
If an offer is accepted, that is outside the Primary SLA period then a reason code is required.
In the appointment booking window the option Override Appointment is available as an option to book an appointment outside the given slot-times. In the Override Appointment dialogue it is possible to manually create the appointment slot for the work. The user can freely enter a start and end time for the appointment slot which will be applied for the work task / request task.
Note: When overriding an appointment and creating it manually through the Override Appointment page it will not be sent as an appointment request to the scheduling engine. This means that an appointment slot entered as an override appointment will not consider if there are available resources during the time-slot booked, or if the constraints for the work task / request task activity can be fulfilled during this time-slot.
When the appointment slot is created as an Override Appointment the scheduling type for the work task / request task will be set as the defined scheduling type used for appointments. The appointment mode will be set from the appointment mode defined when overriding the appointment. The start and end date of the appointment slot will also be set. The work task / request task is now considered appointment booked and will be sent to the scheduling engine to be scheduled.
Appointment Availability
Appointment Booking
Appointment Reason
Appointment Slots
Appointment Value
Location
Location Addresses
Location Region
Location Type
Locations
Modelling Dataset
Prepare Work Order
Resource Region
Scheduling Activity Type
Scheduling Broadcast
Scheduling Configuration
Scheduling Dataset
Scheduling Resource Type
Scheduling Resources
Scheduling Type
Travel Cost Model
Travel Profile
Weighting
Work Task
Work Task - Scheduling & Allocation
Work Types
BDR for Scheduling Integration
Book Appointment
Cancel Appointment