Siebel Field Service Guide > Setting Up and Using Scheduling >

Running Contract Scheduling (End User)


This task is a step of Process of Scheduling Activities.

Contract Scheduling is a feature of the Optimizer that is designed for rapid scheduling of service appointments while maintaining the critical Optimizer requirements: enforcement of contractual deadlines and use of constraints when searching for solutions.

When Contract Scheduling is invoked, the Optimizer does not unschedule any other activities. However, it does attempt to see if it can create any slack before inserting an activity. For example, if there are two half-hour spaces within an employee's schedule and a user attempts to contract schedule a 45-minute appointment, the Optimizer attempts to slide the other appointments around to create a contiguous 45-minute space where the appointment can be placed.

The Optimizer is multithreaded, which means that it can take multiple requests at the same time. For example, two users can invoke Contract Scheduling at the same time. However, because the Optimizer can only process one request at a time, simultaneous requests are queued so that multiple users can submit requests to the Optimizer without any problems. When the Optimizer is performing optimization, users can still submit requests. The Optimizer queues those requests and processes them at the level set by the Optimizer - Save interval parameter or when optimization completes.

Companies with the following needs may use Contract Scheduling:

  • Same-day break/fix calls are a higher percentage of service calls.
  • Service contracts specify penalties for failing to meet response times (for example, free labor or free parts).
  • A large number of constraints must be respected.

Users can run Contract Scheduling from three locations in Field Service:

  • Insert Activity button in the Dispatch Board screen > Unscheduled Activities view. This sends a request to either the ABS or the Optimizer to schedule an appointment or insert the selected activity into the optimized schedule, depending on times relative to the horizons. See Insert Activity Button for more information.
  • Contract Schedule button in the Activities screen > Schedule view. This sends a request for scheduling the selected activity. See Contract Schedule Button for more information.
  • Load button in the Administration - Scheduling screen > Service Regions > Activities view. This is similar to the Insert Activity button in the Dispatch Board screen. See Load Button for more information.

Insert Activity Button

The Insert Activity button obtains, for a selected activity, either a confirmed appointment from the ABS or runs the Optimizer to schedule the activity. The Insert Activity button is similar to the Contract Schedule button in the Activities screen > Schedule view.

Before using this button, make sure the following conditions are met:

  • The service region is set in the Dispatch Board Gantt chart.
  • The activity is not repeating.
  • If the Lock Schedule flag is set (TRUE), then the Planned Start and Planned End values are not null.
  • If the Lock Assignment flag is set (TRUE), then the activity assignee is not null.

The choice of sending the Insert Activity request to the ABS or Optimizer depends on the Earliest Start and the Latest Start values. These values determine whether the activity falls within the ABS or the Optimizer horizon:

  • If the Latest Start value is null, sends the request to the ABS.
  • If the Latest Start value is in the Glued period, does not insert the activity, but returns an error message.
  • If the Latest Start value is less than the ABS start, sends the request to the Optimizer.

Contract Schedule Button

The Contract Schedule button has the same function as the Insert Activity button. See Insert Activity Button and Schedule View for more information.

Load Button

The Load button for activities is intended for synchronizing data in the cache if there have been manual changes to an activity.

The choice of sending the activity to the ABS or the Optimizer cache depends on these conditions:

  • If Planned Start and Planned End are specified, then the choice of the ABS or Optimizer depends on matching these values to the dates for either the ABS or the Optimizer horizon.
  • If Planned Start and Planned End are not specified, then the values for Earliest Start and Earliest End are used. If these values fall within the Optimizer horizon, then the activity goes to the Optimizer cache.
  • If neither of these conditions succeeds, an error message is returned.

See Loading Activities for Service Regions for more information.

Siebel Field Service Guide