Schedule Work Tasks with Scheduling Engine

This description is divided into the following sections:

What is Scheduling Engine?

Scheduling Engine is a scalable optimization framework which conducts advanced mobile workforce scheduling. In Scheduling Engine there are different services for Dynamic Scheduling, Appointment Booking & Suggested Dispatch.

The Integration between Planning and Scheduling Optimization and IFS Cloud

The integration of Scheduling with IFS Cloud provides functionality for scheduling work tasks / request task to person resources in order to:

Resources (employees) and activities (work task / request task - resource demands) are sent from IFS Cloud to Scheduling engine where they are scheduled. The scheduling is conducted based on the following:

Once scheduled, an allocation plan is returned to IFS Cloud and work assignments for the work task / request task can be created through any of the following methods:

Both inbound and outbound integration use XML messages that are sent and received via standard IFS Connect functionality.

Note: In the Scheduling engine, permission groups define which users are allowed to view a set of resources and activities. These permission groups are called object groups. In the integration, object groups have the equivalence of sites in IFS Cloud. This means that in order for an Scheduling Workbench user to be able to view information like resources and activities belonging to a particular site, the user must be connected to the corresponding object group in the Scheduling Workbench (Workspace - Administration). The object groups for activities and resources are transferred automatically from IFS Cloud to Scheduling engine, but object groups for the users must be set up and granted to the users manually from the Scheduling Workbench (Workspace - Administration). In order for a user to be able to view a dataset, the user must also be granted to the dataset itself. This also can be done manually in the Scheduling Workbench.

Functional Dependencies

The following IFS Cloud components must be installed in order to use the Scheduling integration:

Scheduling Concepts

Data Setup in IFS Cloud

Employees

In order for resources to be available in the Scheduling engine, the following data must be defined (Also see Maintenance Resource Setup)

  1. The employee must be set up in IFS Human Resources. This employee should belong to the company that is to be scheduled and be employed within the scheduling period.
  2. The employee must be connected to a valid working hour schedule in order to determine the working time.
  3. The employee must be assigned to a valid maintenance organization and resource group in IFS Cloud.
  4. Valid geo-coordinates (using virtual map positions) must be connected to the employee's person address or to the company address on the maintenance organization.
  5. For following steps for the Resource setup in IFS Cloud see Maintenance Resource Setup

Note that the resource's allocations, such as, absences, training allocations, project allocations, breaks and lunches will be transferred for scheduling to scheduling.

Resource and Employee, Basic Data

The scheduling resource types which are used within a company must be defined and are Scheduling intergration specific data. Each resource type can be set up with information on the start and end locations for a work shift, maximum travel hours and costs such as scheduling cost per hour and scheduling cost per overtime hour.

If a resource is to be scheduled by the Planning and Scheduling Optimization, this resource must be set up as a scheduling resource and valid scheduling data must be entered for this resource. If scheduling data is not defined for a scheduling resource it will inherit the data from the connected scheduling resource type, for example, the start and end locations of a scheduling resource type's work shift and scheduling costs will be assigned to the scheduling resource. For the start and end locations the geo-coordinates of the map positions will also be transferred to Scheduling engine. The skills of a resource will also get transferred to Scheduling engine. The skills can be any of the following:

The scheduling data for a resource can be changed at any time, updates will be transferred to Scheduling engine through incremental updates. Generate Schedules and Capacity on the Resource Availability should be run before sending a Scheduling data load in order to transfer the Shift and Break related data.

Activity - Work Task / Request Task, Basic Data

Scheduling activity types should be defined. A scheduling activity type is defined with a connection to work types. The following scheduling information can be defined per activity type:

Weight criteria and weighting values should be defined. Weight criteria can be set up for the priority of the work task and the criticality of the actual equipment object that is connected to the work task. Weight criteria can also be set up for service contract types and will have an effect on the work tasks that are connected to service contracts. For each weight criteria define the weighting values that will be used as an input for activity base value calculations.

Appointment values need to be defined and will be used to calculate the base value for activities that are managed as appointments. The base value for an appointment activity, e.g. a work task / request task, is calculated by multiplying the base value for the appointment by the work task / request task activity duration and weightings.

Scheduling Type

Scheduling types should be set up with values, such as, the start and end proportions and curve shape, that will be used as an input when calculating scheduling SLAs in the Scheduling Engine. The scheduling SLA is used to calculate the urgency of an activity. Scheduling types are used when scheduling breaks and activities. Scheduling types when combined with the base value is used to determine the scheduling behavior of a break or an activity.

Predictive Durations

The option Adjust Duration enables an archiving service to automatically adjust the duration based on historical average durations. The archiving service calculate durations from completed tasks of the same dataset, activity type and location. The calculated duration is then used when the Adjust Duration option is enabled on tasks of the same dataset, location and work type. The Adjust Duration option is found in the Work Task page. The duration field is found on tasks in the Scheduling Information/Allocations tab. The value Yes or No in the field Adjusted Duration indicates if the value has been adjusted or not. The setting of the Adjust Duration can also be copied from the selected work type. Refer to Scheduling Activity Type page where the option Adjust Duration can be toggled On or Off. The setting will then be copied when the work type is added on a task.

These are the main steps:

Technical details about archiving service and examples of how to setup timetables are found the scheduling engine documentation. Refer to the PDF document Schedule Archive Guide and the section Predictive Durations.

Datasets

Datasets are used to transfer data to Scheduling engine. A dataset contains information on how data should be scheduled and the time horizon for the scheduling as well as in what time zone the data is to be scheduled. There are two types of scheduling that can be carried out, that is, dynamic scheduling or static scheduling. Static scheduling is generally used for long term rough scheduling (e.g., the resource capacity for a year) where data over several weeks can be loaded into Scheduling engine and scheduled for analysis. This type of scheduling is beneficial, for instance, when you need to identify resource shortfalls and over capacity. Dynamic scheduling is used for the short term detail scheduling (anything from 2 to 5 days) and focuses on optimizing the utilization of resources. This type of scheduling provides the best schedule at all times and is continuously scheduled by the DSE to incorporate any event changes in the field of operation. The window the DSE operates in is referred to as the Scheduling Work Days, and an additional window referred to as the Appointment Work Days may be defined. The activities in the appointment window will be scheduled using a less accurate algorithm than those in the scheduling window. Configuration ID field can be used to set up the Scheduling engine tenant to which the dataset should be directed to.

The time horizon for which the data should be transferred and scheduled is the number of days specified in Scheduling Work Days and Appointment Work Days according to the connected calendar. For instance, if the number of days is set to 5 in the Scheduling Work Days and 30 in the Appointment Work Days, the data that should be scheduled per company or site for the given time interval (5 days + 30 days) will be transferred and scheduled by the DSE. 5 days will be optimized using the scheduling algorithm and the 30 days will be optimized by using the appointment algorithm. The following is a list of the data transferred in an active dataset:

The time zone for each scheduling dataset can also be defined. The time zone defined on the dataset is the time where the data is to be scheduled in. An example would be the case of having one central installation for IFS Cloud but work is carried out by service technicians in different time zone regions. Each time zone region could then have a separate scheduling dataset with its specific time zone.

Default values for a work task / request task can be entered on the dataset. If a work task / request task is missing any of the required data, such as, the primary scheduling type or the activity type, the default values from the dataset will be assigned to the work task / request task. It is possible to set the lowest status from which work tasks in the dataset can be transferred for scheduling. The default values for HR activities should also be entered per dataset and will be used as an input when scheduling the relevant activities in the Scheduling engine.

Send Full Load

This is used to transfer all data to Scheduling engine. Once sent a background job will be posted. View Background Job on the page can be used to view the status of the Background Job.

Send Changes

This is used to transfer data changes to Scheduling engine. Once sent a background job will be posted. View Background Job on the page can be used to view the status of the Background Job.

Activate Dataset/Deactivate Dataset

This is used to activate or deactivate an entire Dataset in Scheduling engine.

Scheduling Configuration Parameters for Work Task Scheduling

For more information on the scheduling parameters related to the Scheduling engine Integration please refer to the activity Define Scheduling Configuration

Schedule Work Tasks with Planning and Scheduling Optimization

In order to schedule activities for a work task / request task, the task must be set to the transfer status or a higher status (where the transfer status is set per dataset in Scheduling Dataset/Work Task). Before setting the work task to this status however you need to make sure that all information required by the Scheduling engine is present in the work task. This also includes that Resource Demands must be specified for the work task / request task. Each resource demand equates to an activity in Scheduling engine.

Note: To view information about scheduling of linked activities see: About Linked Activities in Scheduling Engine

Once the activity/activities for a work task are transferred to Scheduling engine are scheduled, an allocation plan with the current scheduling status, resource assignment and activity start and finish dates is returned to IFS Cloud. Depending on the allocation type associated with the dataset, the following will occur:

Allocation Type Description
DSE If the work task / request task activity is allocated by the DSE, the DSE will produce a plan. You can choose to assign or unassign directly on the allocation record sent back to IFS Cloud. By assigning the suggested allocation this will create a work assignment for the work task / request task in IFS Cloud. If the suggested plan does not meet the requirements, you can choose to wait for the next broadcast of the plan or manually schedule the plan in the Scheduling Workbench. It is also possible to manually assign or unassign a work task / request task activity in the Scheduling Workbench.
SDS If the work task activity / request task is processed by the SDS, the SDS will propose to automatically assign (or unassign) work task activities already allocated by the DSE based on the stated rules for the SDS. The allocation suggestions that are returned are automatically creating a work assignment for the task in Assigned status and the Allocated To field on the work assignment is set to the suggested resource ID. If automatically unassigned the work assignment will be removed, or set to cancelled if it's status is higher than Assigned. If there are already transactions reported on the work assignment and it gets unassigned it will be set to Incomplete status The rules for the SDS are set up in an XML file and referenced in broadcast parameters.
iSWB If the work task / request task activity is manually updated in the Scheduling Workbench, IFS Cloud will be synchronized with the changes made to the data in the Scheduling Workbench, which is the web based user interface for Scheduling engine. In the Scheduling Workbench client, a work task / request task activity can be assign/unassigned, allocated to a resource, fixed to an employee and the start date can be fixed. This is only used to manage exceptions, the DSE and SDS normally deal with allocation and assignments automatically.
MANUAL If work task activity is processed by the MANUAL, no automatic scheduling will be performed. The activities and resources will be presented for manual scheduling in the Scheduling Workbench.

The work task / request task activities will be scheduled based on resource skills, cost of scheduling the resource, the preferred resource for the work, the location of the resource and activity, the importance (value) of the activity and the urgency (scheduling SLA) on the activity.

In order for a work task activity to be allocated to a resource the skills of the resource will have to match the skills required by the activity.

If the suggested plan is suitable, create a work assignment for the suggested resource for the work task by assigning the Scheduling engine suggested allocation.

If the suggested plan does not meet the requirements, wait for the next broadcast of the plan or manually change the plan in the Scheduling Workbench.

If the resource/resources that are assigned to the work task / request task by the work assignment cannot carry out the activity, it is possible to unassign the resource from the work task activity - work assignment. When unassigned, the work task / request task activity will be resent to Scheduling engine to be rescheduled by the DSE, and a new resource may be suggested in the allocation plan that is returned to IFS Applications. If a resource is unavailable for work, this should be notified via the HR system/Time Management so that Scheduling engine will receive the absences and will adjust the schedules accordingly.