Understanding Oracle Advanced Scheduler

This chapter covers the following topics:

Overview of Oracle Advanced Scheduler

Oracle Advanced Scheduler provides comprehensive scheduling functionality for assigning tasks to qualified field service technicians. Advanced Scheduler uses cost calculations and configurable constraints to create optimized schedules. Efficient and accurate scheduling of field service technicians improves service while decreasing operational costs.

Advanced Scheduler handles two primary business scenarios. First, it can create service schedules for the break/fix service business model. This model typically applies when a customer discovers an unexpected problem, and calls the service organization to open a service request. In the break/fix scenario, quickly resolving service requests is often a priority. Second, Advanced Scheduler is also capable of addressing a planned work model, in which an organization identifies scheduled inspection and proactive and preventive maintenance needs. The planned work business model requires a tool that assigns qualified technicians to scheduled tasks according to business objectives, such as cost efficiency and service contract commitments that specify response time.

The driving principle of Advanced Scheduler functionality is that you can more effectively schedule task assignments to benefit your field service operation, either through reduced cost or increased customer satisfaction, if you have a carefully designed methodology and setups in place for selecting the best field service technician to handle a particular task.

Advanced Scheduler considers many parameters, such as overtime allowed, proximity to the customer site, possessing the necessary skill set or specific spare part, whether or not a technician is notated as "preferred resource" on the customer contract, and so on, and weighs these factors when creating scheduling options to best suit your business needs.

Advanced Scheduler can be configured to use geo-spatial data of the road network, to effectively schedule technicians with their trips better optimized for their travel time and travel distances. This will not only make the service organization more efficient, but also leads to significant cost savings in the long run.

Integration with Oracle Field Service, and especially the Spares Management module of Oracle Field Service, offers a unique and powerful scheduling solution. Integration with Spares Management offers schedule optimization based on spare parts availability.

Key Features of Advanced Scheduler

Oracle Advanced Scheduler supports the following features. However, all of these features are not used when scheduling tasks to third party resources. To understand which of the Scheduler features are used in third party scheduling, see Third Party Scheduling and Management.

Address Validation and Geo-Coding

To calculate the travel time and distance using geo-spatial data, the addresses of customer locations and technician's home are geo-coded by the location finder. Geo-coding is essentially determining the latitude and longitude of the location and associating the street segment details to the addresses. The Location Finder tries to geo-code the address to the accuracy level of street, postal code, or the city centroid, in that order. If the location finder fails to geo-code a specific address, it will stamp the address as invalid. All invalid addresses can be corrected and validated by using the Change Invalid Addresses user interface.

Change Invalid Address for Scheduling

When scheduling tasks, dispatchers sometimes encounter situations where the customer's address in the system is invalid. For example, a call center service representative enters an address incorrectly. As a result, the Advanced Scheduler automatic scheduling functionality cannot assign the task to a technician. The task remains unscheduled.

Field Service provides the Find Invalid Addresses concurrent program to identify invalid addresses and enables dispatchers to correct them. By identifying and correcting invalid addresses before they are called by Advanced Scheduler decreases the amount of time Advanced Scheduler needs to schedule tasks.

Note: This option is only applicable if you have geo-spatial data loaded.

Note: Advanced Scheduler proceeds with scheduling tasks that have an invalid address if you have set the Use Default Values for Invalid Addresses parameter to Yes.

For more information on identifying and changing invalid addresses, see the Managing Field Service Task Schedules chapter of the Oracle Field Service User Guide.

Commute Times in Technician's Shift

Customers have an option to consider the entire commute time from home to the first task or back home from the last task, either within or outside the technician's trip, or include only certain time of the total travel component within the trip, by setting the Commutes Position in Shift parameter.

This functionality is useful if you are including travel costs in the planning options.

Use Scheduler Rules to Schedule Tasks

Oracle Advanced Scheduler uses scheduler rules in place of profile values to schedule tasks to the field service technicians. A scheduler rule is a single configuration document containing all configurations including scheduler parameters, cost parameters, window to promise (WTP) parameters, and router configurations. Service Providers can configure few of the scheduling parameters at individual territory and technician level. They would also be allowed to configure all the cost parameters at individual territory levels too apart from the site Level. Advanced Scheduler generates the schedule plan options and cost values for a task based on the scheduler, router, and cost parameters defined in the applicable rules.

Schedule Tasks Longer Than Standard Shift Durations

Tasks related to planned work, such as preventive maintenance and scheduled inspections, typically span across multiple days. Advanced Scheduler has the capability to handle tasks longer than a standard work shift. When scheduling such tasks to resources that are not third party resources, Scheduler automatically splits the longer task (parent task) and creates related child tasks. Scheduler automatically splits the longer task (parent task) and creates related child tasks, which breaks the work into contiguous shifts. When scheduling to third party resources, only a parent task is created no matter the task duration.

The two scheduling modes that are compatible for scheduling tasks longer than a standard shift are the Assisted mode, and the Intelligent mode. The Window-to-Promise mode is designed to schedule tasks of smaller duration to fit into a technicians' standard shift and hence is not available for scheduling very long duration tasks.

When interactively scheduling a task, the Dispatch Center displays a scheduling option with all feasible shift options. Multiple options in the schedule appear, ranked by cost.

Note: Advanced Scheduler schedules all child tasks in contiguous time slots for a single technician initially. The tasks can be rescheduled to different technicians later on if needed.

Manage the Customer Confirmation Process

Some customers require confirmation of an appointment prior to scheduling it. This confirmation requirement can be created in preventive maintenance program details of Service Contract Coverage or manually entered when a "break/fix" service request or task is created in TeleService. The dispatcher can also add the confirmation from the Dispatch Center user interface. In all cases, Field Service and Advanced Scheduler products provide the ability to:

  1. Record the confirmation requirement.

  2. Schedule tasks with confirmation requirement.

  3. Record confirmation receipt.

  4. Release only confirmed tasks with confirmation requirement to the technician.

After a customer has confirmed a task assignment, any change in the task, such as appointment time, or assigned technician, must be reconfirmed by the customer. After a task has been confirmed, it can be executed. Tasks requiring confirmation that have not yet been confirmed are not released to the technicians. unless they are third party technicians. When scheduling tasks to third party resources, the dispatcher can commit the task and customer confirmation requirements are subsequently handled by third party administrators while rescheduling the task.

Scheduling With Access Hours and After Hour Requirements

Planned work at a customer site can sometimes be intrusive to a customer. Because of this customers need the ability to specify access hours for when a technician can perform a scheduled task. When access hours are indicated on the task, Advanced Scheduler considers this as a constraint when scheduling tasks interactively or through the background Autonomous Scheduler program except when scheduling to third party resources .

Customers can optionally specify instructions for accessing their site using after hours. After hours requirements are instructions that are textual in nature. Because of this, the Autonomous Scheduler concurrent program ignores these instructions letting dispatchers schedule these tasks interactively duly honoring the instructions if scheduling to internal resources. When scheduling to third party resources, third party administrators consider these constraints when rescheduling tasks assigned to their organization.

How Advanced Scheduler Functionality Works

This section describes the processes Advanced Scheduler uses to assign tasks to field service schedules.

Advanced Scheduler Process Flow

This section describes the processes Advanced Scheduler uses to assign tasks to field service schedules.

The Advanced Scheduler engine can be run as a batch process to schedule a high volume of tasks. Advanced Scheduler considers scheduler parameters and profile option settings during the background processing. The Advanced Scheduler engine is also invoked from the Schedule Task window, during interactive scheduling. Several preferences related to territories, contracts, Install Base preferred resources, skills, suggested resource, resource preference, standby resources, parts, routing, and the scheduling mode, are considered during interactive scheduling.

If Resource Preference is set to Prefer Internal Resources or Ignore Third Party Resources, the scheduling process uses the following criteria to find the plan options and schedule resources:

the picture is described in the document text

the picture is described in the document text

If Resource Preference is set to Prefer Third Party Organizations, then the Scheduler process flow is as follows:

Using Scheduler Rules

Oracle Advanced Scheduler uses scheduler rules that you create by configuring scheduler parameters, cost parameters, window to promise (WTP) parameters, and router details in a single page. Based on the parameter details in the applicable rule, Advanced Scheduler generates the schedule plan options and cost values for a task. You must set up the scheduler rules prior to scheduling tasks for the technicians.

Finding Candidate Technicians

The application finds technicians assigned to the customer's service territory. When the customer specifies a preferred technician as part of the contract definition, or a preferred technician is associated to an Install Base record, the application searches that technician's calendar for an available appointment time.

Qualifying Technicians

The application reviews the pool of candidate technician resources to identify which resources satisfy the constraints and requirements for a particular task.

Scheduler considers skill requirements and other constraints such as, territory qualifiers, contracted service level agreement, service parts availability, customer access hours, task duration, customer confirmation status, and the planned window while looking for schedule options to fit qualifying technicians.

Note: A planned window is the time between the Planned Start Date time and Planned End Date time. These times are typically the Earliest and Latest Planned Date times to start the work.

Identifying Schedule Options

Next, Advanced Scheduler compares available time slots appearing in the schedules for qualified service technicians to the customer-specified hours, and then generates a list of viable schedule options. This comprehensive list includes a separate option for each available time slot, for each service technician qualified to perform the task, driven by the planned date times:

See Scheduling Modes.

Calculating Incremental Schedule Option Costs

Advanced Scheduler calculates the cost of adding the task to each viable schedule option. The cost concept used here, is not taken in the sense of operating expense. Instead, these costs are a measure of how well the service schedules match the business rules and priorities. It is helpful to view these costs as penalty points associated with undesired outcomes, such as arriving late for a field service appointment, or traveling a great distance to a customer site.

Cost is applied to all options identified, depending upon the lowest cost to insert a task into a technician's trip, including moving other non committed (non released) tasks within the trips.

Advanced Scheduler's spatial component calculates travel times and distances to optimize the daily trips of each field service technician.

Costs parameter values (Cost Factors) are set up prior to scheduling to tune the Oracle Advanced Scheduler algorithm, so that the resulting schedules align with the specific business rules and priorities.

See Costing Schedule Options.

Scheduling a Task to a Technician

Finally, the task is scheduled to a particular technician either interactively, or by a background process. In the interactive method, the application provides the Schedule Task user interface to the dispatcher. The user interface displays each viable schedule option, sorted by the calculated cost associated with choosing that option. When the dispatcher chooses a particular option, that task is tied to the selected service technician's trip in the appointed time slot. Task details are updated and scheduled start and scheduled end date times are stamped. Activating the background method enables the Autonomous Scheduler to automatically assign the task to the lowest cost schedule option.

Scheduling Process

The scheduling process uses criteria based on preferred resources, resource calendar, territories, parts availability, and travel time and distance to select a qualified resource for a task. The following table lists the process elements that the scheduling process relies on.

Scheduling Process and Descriptions
Process Element Description
Preferred resource information A preferred resource is a single person or a resource group that is defined in Oracle Service Contracts or recommended from the Installed Base in Oracle Service for a customer. It can also be a third party organization.
Skill Skills are the field service technician's competencies. Skills fall into three major categories: technical product skills, other technical skills, and non technical skills, for example specific knowledge of a certain language. When scheduling each task, Advanced Scheduler matches the field service technician's skills to be equal or above the skills required to perform the task.
Skill level The skill level indicates the expertise scale of the field service technician's skill and Advanced Scheduler requires that the technician's skill level meet or exceed that which is required for the task.
Territory definition Technicians are identified and assigned to the territories based on the territory qualifiers. Territories are defined in the Territory Manager module. For more information, see Oracle Territory Manager User Guide.
Planned task effort information Task effort information (how long the task will take to complete) is essential for checking the availability of the resource and for designating a resource as unavailable in the resource's calendar after a task has been scheduled and assigned to the technician. Task effort information is the amount of effort Planned at creation of the task. Task effort information is needed to derive the Scheduled Start Date Time and Scheduled End Date Time.
Planned Start Window This is the time frame in which it has been determined that the task must begin. This is the Time window between the Planned Start Date Time and Planned End date Time.
Resource's availability information Availability of the resource is provided by the Calendar component in which a resources shifts and unavailability is defined.
Spare parts location and availability Spare part location and availability information is needed by Advanced Scheduler to make a reservation at task assignment if spares are to be considered. Spare part information is provided by Spares Management.
Road network for calculation of travel time and distance Geo-spatial data of road network is required for Advanced Scheduler to be able to calculate travel time and distance in between tasks and to optimize the technicians' schedules and trips. In the absence of spatial data, Advanced Scheduler can obtain the travel time and distance from the profile option values.

Scheduling Preferences

When scheduling field service tasks interactively, you can influence how the selection criteria are applied by making different filtering choices. When the field service tasks are scheduled automatically using the Autonomous Scheduler batch program, the selection criteria are set by the scheduler parameters and scheduler rules. The Resource Preference scheduler parameter takes precedence over the other parameters and rules.

The following table outlines how field service tasks are scheduled using various methods and modules and also displays how the criteria are used to select a qualified resource for a task.

Matching Attributes and Different Modules
Criteria Dispatch Center Window (Field Service) and Service Request Window (Task Tab) Autonomous Scheduling
Territory Matching Attributes When selected, used to retrieve all resources for the assignment from the qualified or winning territories, based on the matching attributes regardless of whether they are assigned to Contracts or Install Base. When selected, used to retrieve all resources for the assignment from the qualified or winning territories, based on the matching attributes regardless of whether they are assigned to Contracts or Install Base.
Contracts When selected, these resources are also considered. Contract Resources also considered.
Installed Base When selected, these resources are also considered. Installed Base Resources also considered.
Skills Technicians at or above the required skill level are considered. Technicians at or above the required skill level are considered.
Resource Type and Resource Suggestion If a resource name is suggested and is available for scheduling, then the task is scheduled to this resource and all other criteria are ignored. Not considered for autonomous scheduling
Resource Preference If third party resources are to be ignored, preferred, or considered if no suitable internal resource is found. Not considered for autonomous scheduling
Consider Standby Resources If standby resources are to be ignored or considered along with regular resources for scheduling. When selected, resources on standby shift are also considered along with resources on regular shift.
Resource Calendar The Resource Calendar and the availability of the resource are always considered. The Resource Calendar and the availability of the resource are always considered.
Overrule access hours When selected ignores the access hours constraints on the task. When selected ignores the access hours constraints on the task.
Spares A list of qualified resources based on the criteria above is passed on to Spares Management to check parts availability and parts location based on selected criteria, at the time of finding scheduling options. A list of the qualified resources based on the criteria above is passed on to Spares Management to check parts availability based on a predefined availability condition.
Time Zone and Routing Mode The travel time and distance for each plan option are calculated for the resources returned based on the time zone of the task location and routing mode selection. The travel time and distance for each plan option are calculated for the resources returned based on the time zone of the task location and routing mode selection.
Cost Related Constraints Predefined business driven constraints are applied to plan options of territory resources and suggested resource to produce the final list of qualified resources or available time slots. Predefined business driven constraints are applied to plan options of territory resources and suggested resource to produce the final list of qualified resources or available time slots.
Task Constraints These can be task dependencies, customer confirmation requirements, mandatory part requirements, and access hours and after hours constraints. If these exist, these are considered except when scheduling to third party resources.

Scheduling Modes Used by the Advanced Scheduler

The Advanced Scheduler has three scheduling modes that you can use when scheduling tasks.

Intelligent Mode

The Intelligent scheduling mode assigns tasks based upon predefined constraints and costs. This graphic illustrates how Oracle Advanced Scheduler creates schedules using the Intelligent scheduling mode.

the picture is described in the document text

Advanced Scheduler receives unassigned tasks created in either the Field Service Dispatch Center or the Customer Support Service Request window. The dispatcher selects a task to be scheduled.

Intelligent scheduling analyzes constraints and costs, and then displays a list of feasible schedule options, along with the technician, spare parts, service time, and calculated costs associated with adding the task to each schedule option. The dispatcher can then select a schedule option interactively from the display.

One task at a time is scheduled. Continuing this process creates a trip, which is a scheduled sequence of tasks, for each service technician. The dispatcher can optimize the technician's trip sequence later in the process, or manually reassign tasks before committing or releasing the schedule to the service technician.

Window-to-Promise Mode

The scheduling algorithms used in the Window-to-Promise scheduling mode are the same as those used in the Intelligent scheduling mode. One difference between the modes is the format for presenting the information on the user interface. Window-to-Promise displays schedule options and associated costs in a date and time slot format. This format addresses the situation where your customer wants to schedule an appointment for a field service visit to occur sometime during an agreed time slot, or window.

This graphic illustrates how Oracle Advanced Scheduler creates schedules using the Window-to-Promise mode.

the picture is described in the document text

Advanced Scheduler receives unassigned tasks, considers predefined constraints, availability of parts, and availability of technicians in the same manner as does Intelligent scheduling. The user interface shows date and time slots in technicians' calendars that remain available to promise to the customer. The dispatcher consults with the customer to select a time slot.

The outcome of scheduling with Window-to-Promise is a task and qualified service technician resource assigned to an agreed time slot during which the technician will visit the customer to perform a service task. The time slot is reserved for the specific customer on the service request.

One time slot can be reserved for multiple customers, assuming multiple resources are available to service the requests simultaneously. The dispatcher can modify a service technician's trip later in the process, before committing the schedule. The dispatcher can accept the suggested option, reassign a task, or determine whether it is beneficial to reschedule it. The Window-to-Promise mode schedules only one task at a time.

Assisted Mode

Use Assisted Mode if you want to find the best time slot with the least cost for the qualified resources to perform the task in the given planned start and end date and time. A list of resources appears in the Advice tab. You can filter this search for a single technician, in which case the system displays only the possible schedule options for that preferred resource. Assisted mode also takes costs into account.

Methods for Running Advanced Scheduler

You can run the Advanced Scheduler using several different methods. The methods for running the Advanced Scheduler are:

Autonomous Scheduler

You can run the Autonomous Scheduler concurrent program to automatically schedule tasks without user intervention or you can run the program semi-interactively from the Field Service Dispatch Center using the right-click Auto Schedule menu option.

The Autonomous Scheduler concurrent program accepts the Task Query set in the Autonomous Scheduler Default Query parameter or if scheduling semi-interactively from the Dispatch Center the group of tasks selected by the Dispatcher is as follows:

If:

then the task is automatically picked up by the Autonomous Scheduler concurrent program for scheduling.

Tip: To improve scheduling efficiency within the field service operation, identify as many potential task candidates for automatic scheduling as possible. This affords the dispatcher more time to schedule complex tasks and tasks with exceptions.

In addition, the Autonomous Scheduler and Auto Schedule process use the following parameters for scheduling tasks:

See Setting Up the Autonomous Scheduler in the Oracle Field Service Implementation Guide. When Oracle Advanced Scheduler is not able to schedule a task, the task is moved to a status as dictated by the Auto Reject Status – Others parameter and a log is generated. To view these logs, see the Working with Tasks Rejected by Autonomous Scheduler, Oracle Field Service User Guide.

Scheduling Based on Parts Availability

When Oracle Spares Management functionality is implemented, Advanced Scheduler also takes into account service parts requirements and availability. Spare parts requirements can be defined in these ways:

The availability of spare parts is an important consideration in making sure that the right technician possessing the required spare parts is assigned to the task. For this purpose, the Advanced Scheduler tightly integrates with the Spares Management module of the Field Service application. This integration ensures that parts availability across the field service supply chain is considered when tasks are assigned to technicians. An internal order is automatically created when the task is assigned to a technician who does not have the parts on hand. The integration includes a CSP: Initial Status of Internal Order profile option that determines whether the parts order that is created when the technician is assigned to the task is in Entered or Booked status. The Entered status of the order gives the technician an opportunity to review and change the Ship To Address and Shipping Method before the order is released for shipping. When the technician accepts the task, the order status is automatically changed to Booked.

Scheduling with the parts option is available when:

Spares integration, as it applies to Advanced Scheduler, is as follows:

  1. The Advanced Scheduler engine provides the Spares Management module with a list of resources qualified to resolve the task, required parts and the planned dates to resolve task.

    In interactive mode Advanced Scheduler can search for parts based following part search parameters:

    • Technician Inventory Only

    • Manned Warehouse Inventory Only

    • Both

    The availability condition represents the urgency for a part to be available to resolve the task, and is based on the likelihood that part is used to resolve a specific task. In Spares Management, a relationship between the problem definition of a task and the parts that are likely to be used to resolve the task is established. Frequently used parts are mapped to a high probability of being needed to resolve the task.

    The Scheduler uses the Spares Mandatory parameter value to consider parts availability while scheduling the tasks.

  2. You can schedule tasks with parts requirement even when the technicians do not have all the parts available (in the Trunk Stock or Warehouses or both). You can relax the parts constraint on the tasks to meet the service level agreements using the Spares Mandatory parameter. See: Configuring Scheduler Rules in Oracle Field Service Implementation Guide.

  3. While relaxing the parts availability constraint for a task, you can cost all options with missing parts and balance it against the other option costs like travel and service level agreements violation. Apart from relaxing the parts constraint while scheduling a task, you can still prefer technicians with parts. Additionally, you can schedule the technician with maximum number of available spare parts to the task. This increases the likelihood of the task being fixed during the technician's first visit to the customer site.

  4. To differentiate the technicians with varying parts availability, the Scheduler uses the cost factor - Parts Violation Cost, when you set the Spares Mandatory parameter to No. The Scheduler applies this cost factor while scheduling technicians interactively using the Schedule Tasks page. Additionally, the Autonomous Scheduler batch program for background scheduling and the Optimization across Trips concurrent program to optimize trips of technicians consider this cost factor.

    The cost value introduced through this cost factor is exclusive from the spares delivery cost that service providers setup in the Spares Management module.

  5. In situations where the required parts are mandatory to service the task, you can schedule a task to a technician possessing all the required parts. However, the Autonomous Scheduler and Optimization across Trips programs reject a task, if the program units fail to find any technician with the required parts. These programs change the task status of the rejected tasks to a value set for the Auto Reject Status - Spares Unavailability parameter. While scheduling such tasks interactively using the Schedule Tasks page, the Spares Management module will not return any options, if it fails to identify technicians with all the required parts.

    You can source the required parts (and search for availability of parts) either from the technicians' own trunk stock (usable sub inventory assigned to technician) and/or from the warehouse locations (with shipping networks defined to the technician's destination address or territory). The Spares Source parameter enables you to configure the preferred sourcing location. This parameter dictates the Advanced Scheduler to search within the preferred source for spares availability. The default value is Technician Trunk Stock. If the Spares Mandatory parameter has the value set to Yes, then the Autonomous Scheduler identifies technicians only with all the required task parts and the parts search is restricted to the sourcing options set in the Spares Source parameter. The Optimization across Trips program considers both these parameters while optimizing the tasks across technicians' trips.

  6. In Spares Management, based on the availability condition indicated, for each resource from the list, the part availability for a resource is checked for the time options given. Costs are calculated for each possible option, this might include shipping parts to a resource from another resource, from a warehouse, or from a secondary support location.

    When no feasible options are found, this will be prompted to the dispatcher. When scheduling automatically using the background process, a log is generated and the task is moved to the status dictated by the Auto Reject Status – Spares Unavailability parameter.

  7. A list of resources with a related spares availability date and relevant cost for shipping the parts is returned to the Scheduler.

  8. When a task is scheduled to a resource, a reservation is created automatically for the technician's on hand spare parts to ensure those parts are not considered as available for other task assignments. However, by giving consideration to other cost factors that influence scheduling options, it may be necessary to assign a task to a technician who does not have the necessary parts on-hand. If the spare part is available within the inventory organization (at different locations, with other technicians), then an internal order is created to get the part shipped to the technician being scheduled. For an internal order to be created the part needs to be an ATP (Available to Promise) part. A part is defined as an ATP part while creating the part in the system. Based on the value for the profile "CSP: Use ATP For Parts", Advanced Scheduler returns plan options for the task involving ATP parts. For scheduling tasks which include ATP parts, the profile can be set to either Always or Scheduler Only. When spare parts must be internally ordered, the Advanced Scheduler automatically creates an internal order in Entered or Booked status for the necessary parts, and considers the parts arrival dates and times when scheduling the task. Based on the value for the CSP: Initial Status of Internal Order profile option, the initial status of the parts order is determined.

    Advanced Scheduler also considers the costs for ordering the part and shipping it to the technician as part of costing the option. While suggesting the schedule start date time and the scheduled end date time, the Scheduler considers the defined shipping method and the lead time to ship the part to the technician. When a needed spare part is not available, the dispatcher can manually create a purchase requisition.

    If the task is canceled/unscheduled, and if the order has not yet been shipped, the system ensures cancellation of the created internal order. If the order has already been shipped, the part requirement is de-associated from the task. The technician can receive the order and add the part to the trunk stock. If for some reason, the task is rescheduled to the same technician then the reservation and internal orders are retained. When the task is rescheduled to a different technician then a new reservation and internal orders are generated. The same behavior is seen when a reservation is created for a part.

    A task may require multiple parts, which might create a reservation and internal orders when scheduling. For all the ATP items requested for the task a single internal order is created. For the other parts a reservation is created. The technician may use only a few parts among the many parts indicated to be utilized to perform the task. In those cases, the reservation and internal order is cancelled for those parts alone when the task is completed by the technician.

Calculating Travel Time and Distance

Managing travel time and distance traveled is often a key objective for field service organizations. Advanced Scheduler analyzes the location of the customer and the locations of the technicians to identify driving routes that reduce travel time. Advanced Scheduler uses spatial data related to road network data to create these routes and to estimate travel time and travel distance. There are three mapping options available:

Travel Time and Distance Calculations

The Time Distance Server component in Oracle Advanced Scheduler calculates travel time and distance. The Time Distance Server determines the distance between two locations and estimates the travel time between the two, based upon the appropriate road network. To calculate travel time and distance between two tasks, Scheduler requires the geo-coded location information for each task. The location finder derives location information from the site address, using street, road, city or zip code, and country.

Advanced Scheduler can also be configured to use historic traffic data while calculating the fastest route between two locations.

For more information on the travel time and distance calculations, see the Oracle Field Service Implementation Guide.

Costing Schedule Options

When more than one service technician can perform a task, the assignment decision depends on which service technician can perform the task the most cost effectively (lowest cost option). Costs are related to the organizations business priorities for planning and enable the cost mechanism to compare the alternative options for scheduling. Even though the default values are seeded for these cost factors, to enable the cost mechanism to work effectively, the values for each of the seeded constraints must be set by experimenting with different values, and comparing the schedule options generated.

The costs used here should not be considered strictly as monetary costs, but rather as "penalty points" that determine which is the most effective task assignment with respect to several business priorities such as, prompt customer service response, travel distance, and overtime. You can define cost parameter values as part of the setup process.

You can assign values to each of these cost parameters that act as "weights" to tune the Oracle Advanced Scheduler algorithm so that the resulting schedules align with the specific business rules and priorities. The cost related constraints are used for scheduling. These seeded constraints are applied to each schedule option Advanced Scheduler finds.

To set up cost parameters, see Configuring Scheduler Rules in the Oracle Field Service Implementation Guide.

Cost Factor: Preferred Resource Violation Cost
Description: The cost penalty for not assigning the defined customer preferred resource applies to all scheduling options utilizing non preferred resources.
Formula: For all schedule options that utilize non preferred resources, add the Cost Factor value to the total cost for the option.
Business Rule: Preferred resources, based on Service Contracts or Install Base setup, should be considered before assigning other resources. Schedule options that utilize preferred resources should rank higher in the presentation of options.
Business Justification: Increase customer satisfaction by assigning tasks to the preferred resources.
Cost Factor: Schedule Lag Cost
Description: The cost penalty for each day the task is scheduled after the day the request was logged.
Formula: For each day the scheduled start date is later than the earliest start date, add the Cost Factor value to the total cost for the option.
{ [ (Scheduled Start date, any time) - (Planned Start date, any time) ] * Cost factor value ] }
  • In the break/fix scenario, the task Planned Start date default value is the current date when the task was created in the Service Request user interface.

  • For planned work in the preventive maintenance scenario, the task Planned Start date is the earliest start date of the preventive maintenance schedule defined in the contract or fleet maintenance plan.


Business Rule: Schedule options that occur earlier should rank higher in the presentation of options.
Business Justification: In a break-fix scenario, improve customer service by scheduling the task as quickly as possible.
For preventive maintenance planned work, increase flexibility in planning and scheduling tasks. Scheduling tasks earlier in the maintenance schedule window increases flexibility for accommodating break-fix calls and unknown or unexpected work loads.
Cost Factor: Travel Distance Cost (per km)
Description: The cost penalty per kilometer for adding the travel distance associated with a task to a trip.
Formula: For each option,
Travel Distance in Kilometers * Cost factor value
Travel distance is calculated in these ways:
  • Using Default Values for Travel Time and Distance Calculation

    For information see, Using Default Values for Travel Time and Distance Calculation in the Oracle Field Service Implementation Guide.

  • Calculating Estimated Travel Time and Distance (Point-to-Point or As the Crow Flies)

    For information see, Calculating Estimated Travel Time and Distance (Point-to-Point or As the Crow Flies) in the Oracle Field Service Implementation Guide.

  • Calculating Actual Travel Time and Distance (Street Level Routing)

    For information see, Calculating Actual Travel Time and Distance (Street Level Routing) in the Oracle Field Service Implementation Guide.


Business Rule: Schedule options with shorter trip travel distance should rank higher in the presentation of options.
Business Justification: Optimize the travel distance a technician travels, from one task to another, during scheduling planned work. Reduce travel distance and expenses. More productive utilization of technicians time.
Cost Factor: Travel Time Cost (per minute)
Description: The cost penalty per minute for adding the travel time associated with a task to a trip.
Formula: For each option,
Travel Time in minutes * Cost factor value
Travel time is calculated differently for the following options:
  • Default, based on profile option

  • Point-to-Point estimate

  • Street level Routing


See Setting Up Advanced Scheduler and Time and Distance Calculations in the Oracle Field Service Implementation Guide.
Business Rule: Schedule options with shorter trip travel time should rank higher in the presentation of options.
Business Justification: Optimize the travel time a technician travels, from one task to another, during scheduling planned work. Reduce travel time and expenses. More productive utilization of technicians time.
Cost Factor: Overtime Cost (per minute)
Description: The cost penalty per minute for assigning tasks that end after the technicians standard work shift, as defined by the arrival task for the technician.
Formula: Overtime is the additional time the technician is scheduled to work beyond the shift end time. It is the positive time elapsed between the scheduled end of the last task and the end of the shift (arrival task).
[ (Scheduled End time of last task in a trip) - (Scheduled End time of arrival task), in minutes ] * Cost Factor value
Business Rule: Schedule options that require more overtime should rank lower in the presentation of options.
Business Justification: Reduce overtime expense.
Cost Factor: Too Early Cost (per minute)
Description: The cost penalty per minute for assigning tasks that cause the technician to arrive at the customer site earlier than the planned start time. This is applicable for scheduling planned work, and not applicable for a break-fix scenario.
Formula: If Scheduled Start time is earlier than Earliest Start time, then add the cost (calculated as follows) to the total cost of the option.
[ (Planned Start time) - (Scheduled Start time), in minutes ] * Cost Factor value
Business Rule: Avoid arriving early, if possible. Schedule options that cause the technician to arrive at the customer site earlier than the planned start time should rank lower in the presentation of options.
Business Justification: Starting earlier than planned may lead to some waste of a technicians time and customer dissatisfaction if a prior confirmation is already obtained.

Note: The Advanced Scheduler schedules within the plan window and hence, this cost factor is no longer needed.

Cost Factor: Too Late Cost (per minute)
Description: The cost penalty per minute for assigning tasks that cause the technician to arrive at the customer site later than the latest start time.
Formula: If Scheduled Start time is later than Latest Start time, then add the cost (calculated as follows) to the total cost of the option.
([ (Scheduled Start date time) - (Planned end date time), in minutes ] / Task Priority Importance Level) * Cost Factor value
  • In break/fix scenarios, the planned end date time is the 'Respond By' time.

  • In preventive maintenance scenarios, the planned end date time is the latest schedule date in a planned or preventive maintenance work schedule.


Business Rule: Avoid violation of promised service level agreements. Schedule options that cause the technician to arrive at the customer site later than the planned end date time should rank lower in the presentation of options.
Business Justification: Starting later than planned may waste some of the technicians time and decrease customer satisfaction if a prior confirmation is already obtained.
Cost Factor: Lag Cost for Parent Task
Description: The cost penalty per day for taking longer than the absolute minimum number of days to complete a task that has a duration longer than one shift. This factor will reduce jobs being scheduled across weekends.
Formula: When scheduling tasks longer than a standard shift, add the Cost Factor value to the total cost of options with a duration (elapsed time in days) greater than the shortest possible duration.
[ (Scheduling Option Duration, in Days) – 1 day ] * Cost Factor value
Where
Scheduling Option Duration in days = number of days between Scheduled Start Date and Scheduled End Date.
Business Rule: Schedule options with lower total elapsed time are preferable, and should rank higher in the presentation of options.
Business Justification: Improve customer service by scheduling tasks (that take longer than a shift) to ensure the least possible interruption to the customer and the least number of trips to the customer site.
Reducing total elapsed time of the job provides for a better customer experience and reduces the risk of not completing the task.
Avoid gaps due to weekends and holidays in the schedule.
Cost Factor: Excessive Children Cost
Description: The cost penalty per child task created that is greater than the absolute minimum number of child tasks required to complete a task that has a duration longer than one shift. There is a cost trade-off for working overtime to complete the task in one less day, thus avoiding another trip to the customer site. This factor tends to cause jobs to be completed by using overtime, rather than extending the task duration into the next work day.
Formula: Number of child tasks created times the cost per each additional task created more than absolutely required for a task longer than a shift.
(Number of excess site visits, as represented by the number of excess child tasks) * Cost Factor value
Where
Excess site visits = (Number of Child Tasks that would be created if the option is selected) - (Minimum number of Child Tasks required)
Minimum Child Tasks required = Task Planned Effort / Standard Shift Time.
Business Rule: Plan options with fewer visits to the customer site are preferable, and should rank higher in the presentation of options.
Business Justification: Improve customer service by scheduling tasks (that take longer than a shift) as early as possible, to ensure the least possible interruption to the customer and the least number of trips to the customer site. Scheduling options with fewer visits results in better customer service and less travel.
Cost Factor: Standby Shifts Usage Cost
Description: Enables the Scheduler to cost plan options while considering stand by shifts. This cost parameter provides a mechanism to have a greater control on balancing the priorities between service level agreements.
Formula: For all options with technicians identified from the stand by shifts, this cost will be simply added to the total cost of the option.
Business Rule: Technicians from regular shift should be considered first, if possible, during presentation of plan options.
Business Justification: Enables service providers to assess the cost of assigning a technician from a stand by shift.
Cost Factor: Skill Level Cost
Description: The Scheduler uses this cost factor to generate the cost of a plan option based on the technician's skill level.
Formula: Based on the technicians' skill level, the Scheduler adds this cost to the cost of the option.
Business Rule: The Scheduler considers this cost factor when the CSF: Skill Level Match profile option value is either 'Greater Than or Equal To' or 'Lesser than or Equal To'. If service providers want the Scheduler to give preference to the more highly skilled technicians, then they must set this cost as a positive number. Service providers that want lower skilled resource to be preferred must set this cost as a negative amount. If a task requires multiple skills, then the Scheduler applies this cost factor to each of the matching skill level on the technician's tasks.
Business Justification: Enables service providers to cost the technicians' tasks based on their skill levels.
Cost Factor: Technician visiting same site Cost
Description: This cost factor provides the cost of a technician's subsequent trips to the same site.
Formula: For the to-be-scheduled task plan option cost, the Scheduler will not add this cost if the same technician is assigned contiguously. The Scheduler will:
  • Add '1 * Defer Same Site Cost' for the to-be-scheduled task plan option cost, if the same technician is assigned non-contiguously.

  • Add '2 * Defer Same Site Cost' for the to-be-scheduled task plan option cost, if a different technician is assigned.


Business Rule: If the option being costed is for a technician who is already scheduled to work at the same customer site location, then the Scheduler adds this new cost factor value (default value is 50) only if it cannot be scheduled immediately before or after a task that the technician has for that customer site.
Business Justification: Enables service providers to schedule tasks at same customer site locations to a single technician, if cost effective.
Cost Factor: Parts unavailability Cost
Description: This cost factor will aid the Scheduler to differentiate the technicians with varying parts availability
Formula: Parts Not Available Cost * Number of missing Parts
Business Rule: While scheduling a task, service providers need the capability to prefer technicians with all parts to technicians with few parts,
Business Justification: This cost factor increases the likelihood of the task being fixed during the technician's first visit to the customer site.
Cost Factor: Task Priority Cost
Description: The cost associated with scheduling tasks with different task priorities.
Formula: Task Priority Cost Factor * Importance Level ) / Position in Trip
Business Rule: All other conditions being equal, low priority Tasks (with higher numeric Importance Level) should attract a higher cost for scheduling.
Business Justification: It would be expensive to dispatch a Technician to attend a Lower Priority Task as compared to a Higher Priority Task.
Cost Factor: Customer Importance Level Cost
Description: The cost factor that aids Scheduler to distinguish tasks based on the customer importance levels.
Formula: If Task is Critical : Cost parameter* Importance Level * Trip Position. This cost will be applied only to Tasks with critical flag set to YES.
If Task is non-critical : Cost parameter / Trip Position. This cost will be applied only to Tasks with critical flag set to NO.
Business Rule: All other conditions being equal, critical customer Tasks with higher importance level should attract low cost for scheduling. Higher the importance level more is the importance of Customer Task.
Business Justification: Customer with importance level 5 will be preferred over Customer with importance level 3.
Cost Factor: Resource Cost Weighting
Description: This cost factor will enable users to configure how much weightage should be given to Scheduler Resource Cost value. The computed cost value will be included as part of the overall plan option cost.
Formula: Scheduler Resource Cost * Resource Cost weighting
Business Rule: While scheduling a task, weighting must be given for Resource Cost value to determine the lowest cost option in order to ensure that low cost resources are utilized more than high cost resources.
Business Justification: It would be expensive to dispatch a higher cost ($) Technician when there is a lower cost ($) Technician available to perform the task.
When the Scheduling programs pick a winning Scheduling Option (Auto Scheduler, Optimizer, etc.) and there is more than one option with the lowest cost, the following logic is used to select the right resource: 1. Scheduling Option with earliest schedule start date will be selected 2. If schedule start time is also the same, any of the lowest cost Options will be picked.
Cost Factor: Load Balancing Cost
Description: A new cost factor to balance load in technicians trips based on current load and trip availability.
Formula: (Total Available Time/Total Trip Capacity) * Load Balancing Cost
Business Rule: Distribute tasks equally to eligible technicians by considering current load and trip availability.
Business Justification: Resources get equal load of tasks in their trips.

Releasing Work (Committing Tasks) to Technicians

Tasks scheduled to technicians can be released in these ways:

The Auto Commit program accepts the Task Query created in the Dispatch Center as a parameter. The Auto Commit program also accepts Territories to which technicians are assigned. Multiple concurrent programs can be initiated, using their individual queries run at different times to release different tasks.

For example, run Auto Commit at the end of the day to find and release (or commit) tasks with efforts greater than the standard work shift duration.

See Releasing Work to the Field - Concurrent Program, Oracle Field Service User Guide.

Task List Query

The Auto Commit program uses the Task List Query parameter to select tasks with the appropriate status to be automatically committed.

Tip: Keep the tasks in Planned Status to maintain flexibility to reschedule or make necessary adjustments. Tasks can be released (committed) to technicians as needed to utilize available resources.

To release work to the field interactively, see Releasing Work to the Field - Interactive Process, Oracle Field Service User Guide.

For information about Task Statuses, see Task Status and Task Assignment Status Flow, Oracle Field Service User Guide.

Territories

The Auto Commit program uses the Territories parameter to select tasks assigned to technicians belonging to specific territories to be automatically committed.

Inspection and Preventive Maintenance

You can define preventive maintenance programs for products that require planned inspection and maintenance. Preventive maintenance programs track customer products, installations, and usage. For an overview of the preventive maintenance process flow, see Preventive Maintenance Programs, Oracle Field Service User Guide.

You define preventive maintenance programs as either as usage-based or time-based. For usage-based programs, a usage forecast is required. To set up preventive maintenance programs, see Preventive Maintenance Setup Steps in the Oracle Field Service Implementation Guide.

How Advanced Scheduler Relates to the E-Business Suite

Advanced Scheduler integrates with several Oracle applications. This figure illustrates the integration between Advanced Scheduler and the following applications:

The major applications involved in this process and their relationship to each other are explained in more detail in the sections following the figure.

the picture is described in the document text

Advance Scheduler can create a task assignment and schedule from the Service Request or the Dispatch Center windows.

Field Service Dispatch Center

Advanced Scheduler tightly integrates with the Field Service Dispatch Center. You access the Advanced Scheduler from the Field Service Dispatch Center for task assignment and scheduling. From the Schedule Task window, you can set preferences for Advanced Scheduler to use when creating task assignments and also choose the method of scheduling.

Field Service provides a concurrent program that identifies invalid addresses associated with tasks. An address is considered invalid when it is not found in the spatial database. After invalid addresses are identified, a user can update them to the correct address through the Change Invalid Address functionality.

Service Request

Advanced Scheduler also integrates with the Service Request, which can directly access the Advanced Scheduler through its integration with the Schedule Task window for task assignment and scheduling.

Assignment Manager

The Assignment Manager is an E-Business Suite component that assists in assigning ownership of documents and tasks, and determining the availability of qualified resources needed to perform a task. The Assignment Manager searches for qualified resources from multiple sources, including Service Contracts, Installed Base, and the territory setup. The Assignment Manager sorts a set of territory resources based upon the absolute rank associated with the territory definition, rather than the territory identifier. Absolute ranks are derived from the setups entered by the user.

This sorted list of qualified resources is returned to the Advanced Scheduler. When scheduling tasks to technicians the Advanced Scheduler looks for plan options among the technicians returned by the Assignment Manager. The Advanced Scheduler uses the Schedule Task window for scheduling field service tasks.

The following applications have an indirect relationship with Advanced Scheduler:

This information is passed to the Advanced Scheduler.

For more information on Assignment Manager, see Oracle Common Application Calendar User Guide.

Spares Management

The Advanced Scheduler passes eligible resources and parts priority to Spares Management. From this information, Spares Management determines parts availability and locations for the task and for each resource (or technician). The list of technicians is sent back to the Advanced Scheduler with an arrival date, time, and cost for each part required by the task. Spares Management also evaluates multiple methods of shipment and provides these to the Advanced Scheduler as additional options.

Advanced Scheduler applies its predefined constraints, including travel time and distance, to this list of resources. When a task assignment is created, reservations for service parts are made if the technician has the parts on hand. If a service part item is not on hand, then an internal requisition is created based on the sourcing and available-to-promise set up for that item.