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