OAASRequest Class

Represents the request sent in the OAAS.Optimize() method. This class contains all the details of a global optimization call.

Namespace 

FSL

OAASRequest Properties 

OAASRequest contains the following properties.

allTasksMode 

If true, all service appointments within the time frame are considered during optimization. If false, only unscheduled appointments are considered, and scheduled appointments are pinned (unmovable).

Signature 

public Boolean allTasksMode {get; set;}

Property Value 

Type: Boolean

filterFieldAPIName 

The API name of a Boolean field on the ServiceAppointment object. Only service appointments on which the Boolean field is set to true are optimized.

Signature 

public String filterFieldAPIName {get; set;}

Property Value 

Type: String

start 

The start of the time frame in which the optimization process considers data for scheduling.

Signature 

public Datetime start {get; set;}

Property Value 

Type: Datetime

finish 

The end of the time frame in which the optimization process considers data for scheduling.

Signature 

public Datetime finish {get; set;}

Property Value 

Type: Datetime

includeServicesWithEmptyLocation 

If true, service appointments both with and without an associated service territory are considered during optimization. If false, only appointments with an associated service territory are considered.

Signature 

public Boolean includeServicesWithEmptyLocation {get; set;}

Property Value 

Type: Boolean

keepApptScheduled (Beta) 

The API name of a Boolean field on the ServiceAppointment object. Only service appointments on which the Boolean field is set to true are never dropped from the schedule after global or in-day optimization. keepApptScheduledis only available for Enhanced Scheduling and Optimization.

Signature 

public String keepApptScheduled {get; set;}

Property Value 

Type: String

Usage 

Use this property to ensure that appointments are optimized but not removed from the schedule. They can be moved to another resource or time slot.

There are four possible property value options:

  • Valid field name: the field name is a valid Boolean field on the ServiceAppointment object Service appointments that are marked as “Keep Scheduled” won’t be dropped from the schedule after global or in-day optimization.
  • Invalid field name: the field doesn’t exist on the Service Appointment object or isn’t a Boolean type. An error message appears.
  • Null: Service appointments are marked “Keep Scheduled” based on the org-level defaults defined in the global or in-day optimization settings.+
  • NO_KEEP_APPT_SCHEDULED: Service appointments aren’t marked as “Keep Scheduled”.

locations 

A list of IDs of service territories for which optimization will run.

Signature 

public List<Id> locations {get; set;}

Property Value 

Type: List<Id>

numberOfServicesToSchedule 

Not currently in use. Leave as null.

Signature 

public Integer numberOfServicesToSchedule {get; set;}

Property Value 

Type: Integer

schedulingPolicyId 

The record ID of the scheduling policy that is used to schedule the service appointment.

Signature 

public Id schedulingPolicyId {get; set;}

Property Value 

Type: Id