Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space SCHUD and version 9.3
Panel

Most of the Integration ServiceOptimizer SOAP APIs contain ‘options’ fields, which allow particular options specific to that interface to be passed to ServiceOptimizer. If a particular option is required it should be supplied, with a Boolean value of true. If the option is not required it should be omitted from the call.


 

Offer/Book Options

These options are used on ApptOfferRequest, ApptBookRequest, JobBookRequest and variances of these interfacesfor the Request Appointments SOAP API, Integration ServiceOptimizer Request Multi-Job Appointments SOAP APIBook Appointment SOAP API, Book Non-Appointment Job SOAP API and the Update Non-Appointment Job SOAP API.

Note

Not all options are available for all interfaces and the relevant sections should be referred to for the valid listing.

WebService NameWeb Service

Type

Definition

AllowEmpOT

allowEmpOT
boolean

The employees’ maximum allowed overtime should be included when making appointment offers.

CalltoFix

offerTextEmpID

The ID of the operative notionally given the job will be returned in the offer. However it should be remember if using this that ServiceOptimizer may optimize it to another operative at any time.

dupUseEmpIDboolean

This option specifies that the job’s ETF will be used instead of its ETA to calculate its lateness (using its Service Hours), and will be used as well as its ETA to determine if it’s outside its access hours.

ConsecShift

boolean

This option requests the use of only consecutive shifts for splitting long duration jobs.

ContigShift

boolean 

This option requests the use of only contiguous shift time splits for long duration jobs.

DupUseEmpID

boolean

When offerEmpID is also supplied, that offers for different EmpIDs but that are otherwise identical may be returned.

If this option isn’t set, even though offerEmpID is supplied, offers that are for different EmpIDs but are otherwise identical are considered to be duplicates and only the lowest cost one may be returned.

If dupUseEmpID is set but offerEmpID isn’t, then dupUseEmpID is ignored.

spareIgnVanStock

ThespareIgnVanStock option indicates to ServiceOptimizer that vehicle stock should be ignored when generating appointments. Any ReqSpares data supplied as part of the offer request will still be read in by ServiceOptimizer, but SP_SPAREID_INVALID (111) will not be returned if any of the supplied ReqSpares is not in the ServiceOptimizer database. If spareIgnVanStock is set then the SpareForceGo (see ForceOptions) flag will be ignored.reqConfirm

FixtoEmp

boolean

This option will cause the chosen operative to effectively become mandatory.

NonConsecShift

boolean

Allows the use of non-consecutive shifts for splitting long duration jobs.

OfferBestOnlyPerEmp

boolean

If supplied, then only the best set of offers for each available employee will be returned. The best offer is the earliest one whose PromType matches the supplied NumReqType. If not set, more than one set of offers for each employee can be returned.

OfferTextCost

boolean

Requests that the cost of the offer be returned as part of the OfferText. The cost returned will be the difference in travel cost between the job being in the position of the offer as opposed to it not being there.

OfferTextEmpID

boolean

The ID of the operative notionally given the job will be returned in the offer. However it should be remember if using this that ServiceOptimizer may optimize it to another operative at any time.

RemoveMandatory

boolean

This option will cause any previously specified mandatory operatives (1 or 2, ordered or not) to be removed from the job. An error won’t be returned if the job has no mandatory operatives. This option has no effect on preferred or excluded operatives.

RestrictSearch

boolean

The search for sets of offers biased towards those employees for whom the greater numbers of possible offers were found for the first jobs in the request.

ReqConfirm

boolean

This option will indicate on the Gantt that this job should be confirmed.

fixtoEmp

This option will cause the chosen operative to effectively become mandatory.

servAsAccHours

ServAsAccHours

boolean

This option makes the job’s Access Hours access hours pattern the same as its Service Hours service hours pattern. (If an Access Hours access hours pattern is also supplied in an AccHoursPatts structure, SP_ACCHOURS_DUPLICATED (390) will be returned.)

SetConfirmed

calltoFixboolean

This option specifies that the job’s ETF will be used instead of its ETA to calculate its lateness (using its Service Hours), and will be used as well as its ETA to determine if it’s outside its Access Hours.

OfferBestOnlyPerEmp

For a call to multipleoffers, only offer the best for each employee.

RestrictSearch

the search for sets of offers biased towards those employees for whom the greater numbers of possible offers were found for the first jobs in the request.

useAccHours

sets the ConfirmedState of the job to Confirmed.

SetDispStatusBack

boolean

This option will cause the job’s dispatch status to be set to Tentative.

SetNotFixed

boolean

This option will remove the fixed flag from the job (if it were previously fixed).

SpareIgnVanStock

boolean

ThespareIgnVanStock option indicates to ServiceOptimizer that vehicle stock should be ignored when generating appointments. Any ReqSpares data supplied as part of the offer request will still be read in by ServiceOptimizer, but SP_SPAREID_INVALID (111) will not be returned if any of the supplied ReqSpares is not in the ServiceOptimizer database.

If spareIgnVanStock is set then the SpareForceGo (see ForceOptions) flag will be ignored.

SetUnEarmark

boolean

This option will cause an unearmark to be generated (should one be required).

UseAccessHours

boolean

This option's effect is to cause AHOs access hour overrides to be generated from the job’s existing access hours (which may be from an access hours pattern) that overlap the same Operative Day operative day on which the job’s ETA is current scheduled. If the job has no access hours on that Operative Dayoperative day, a single AHO access hours override from the start of the Operative Day operative day to the end will be set.

useExtraDurationboolean 

setNotFixed

This option will remove the fixed flag from the job (if it were previously fixed)

unEarmark

This option will cause an unearmark to be generated (should one be required).

setDispStatusBack

This otion will cause the job’s dispatch status to be set to Tentative.

setConfirmed

This option sets the ConfirmedState of the job to Confirmed.

removeMandatory

This option will cause any previously specified mandatory operatives (1 or 2, ordered or not) to be removed from the job. An error won’t be returned if the job has no mandatory operatives. This option has no effect on preferred or excluded operatives.

nonConsecShift

Allows the use of non-consecutive shifts for splitting long duration jobs.

ConsecShift

This option requests the use of only consecutive shifts for splitting long duration jobs.

ContigShift

This option requests the use of only contiguous shift time splits for long duration jobs.

OfferTextCost

Requests that the cost of the offer be returned as part of the OfferText. The cost returned will be the difference in travel cost between the job being in the position of the offer as opposed to it not being there.

Force Options

a

WebService Name

Definition

Intray

Force Options

Web Service

Type

Definition

IgnoreCapacity

 

Indicates that the capacity for every day should be treated as though it was 100%, i.e. the capacity check values set for each day should be ignored.

IgnoreOverlap

 Only for use in OfferAppysRequest in circumstances where a follow on set of part jobs is to be booked from the BookSplitDependentJobsRequest. If it is impossible to find spaces for all required job parts the offers returned are able to include places where other work items would be overlapped. This also switched OfferApptsRequest into the mode of only using the ExtraDuration filed for calculating the total duration of job parts - the duration from the JobType is ignored.

Intray

 

A ‘catch all’ option to by-pass all constraint checking. The job is not even provisionally allocated to an operative, but remains in an in-tray until it is either manually allocated or another attempt is made to allocate it through the ABS. Both of these operations are done from the Gantt. The job will only be put into the in-tray of one of the FRUs that is mapped to the job’s location (region). Exactly which FRU is undefined, but it won’t be put into an FRU with no posted operatives.

If a mandatory FRU is supplied, the job will be booked into that FRU. If a mandatory DRU is supplied, the job will be booked into an FRU in that DRU.

If one or more mandatory Employees are supplied, but no mandatory FRU or DRU, the job will be booked into an FRU where one of those Employees has a posting (during the memory horizon) to one of the FRUs mapped to the job’s location.

If one or more mandatory Employees are supplied as well as a mandatory FRU, the job will be booked into that FRU as long as at least one of those Employees has a posting to that FRU at some time during the memory horizon.

If one or more mandatory Employees are supplied as well as a mandatory DRU, the job will be booked into an FRU in that DRU as long as at least one of those Employees has a posting to that FRU at some time during the memory horizon.

IntrayWithSkills

is another option to by-pass constraint checking, though the job will still only be put into the in-tray of one of the FRUs that is mapped to the job’s location (region). However, a skills check is done when placing the job: If there is one FRU containing an employee with the skills to do the job at some time during the SLA Search Window (see 6.6), even if that employee is not available, then the job will be put into that FRU’s in-tray. If there is more than one FRU, the one with the (numerically) lowest preference factor will be chosen. If there is more than one FRU with the same preference factor, one of them will be chosen, but which one chosen is undefined. If one or more mandatory employees are supplied, they will be stored but otherwise ignored. If a mandatory FRU is supplied it will be ignored (and not stored). If a mandatory DRU is supplied, it will be ignored.

IntrayAfterAll

first

IntrayAfterAll

 

First attempts to allocate the job in the normal way. If this isn’t possible, and neither a mandatory DRU nor a mandatory FRU nor mandatory employees are supplied, the job is booked into an FRU where, during the SLA Search Window, there is at least one employee with the skills to do the job (similar to InTrayWithSkills). The Gantt can then be used to try to allocate it, either manually or through the ABS again.

If a mandatory FRU is supplied in ReqUnitType, UnitType and Unit, then the job will be put into that FRU’s in-tray as long as there is an employee in that FRU with the required skills during the SLA Search Window (though he may not be available). If this is not the case, SP_UNIT_INVALID (28) is returned.

If a mandatory DRU is supplied, the job will be put into the in-tray of one of the FRUs in that DRU as long as there is an employee in that FRU with the required skills during the SLA Search Window (though he may not be available). If this is not the case, SP_UNIT_INVALID (28) is returned.

If one or more mandatory employees are supplied in ReqEmpType and EmpID, a check will be made that one of them has the skills to do the job (at some time during the SLA Search Window), and the job will be put into the in-tray of the FRU where one of those employees is working. If none of them have the skills, SP_EMP_NOT_SKILLED (75) will be returned. If the employee is working in more than one FRU, the job will be put into the in-tray of the FRU with the (numerically) lowest preference factor. If there is more than one FRU with the same preference factor, then which of those is chosen is undefined.

If both a mandatory FRU and one or more mandatory employees are supplied, and the employees aren’t posted to the FRU at any time, the job will be put into the in-tray for the mandatory FRU as long as, during the memory horizon, there is at least one employee with the skills.

If both a mandatory DRU and one or more mandatory employees are supplied, and the employees aren’t posted to any of the FRUs in that DRU at any time, the job will be put into the in-tray of one of the FRUs in that DRU as long as, during the memory horizon, there is at least one employee with the skills.

In all cases, the job will only ever be booked into an FRU that its location (region) is mapped to.

Note: The 3 In-Tray ForceOptions (above) are mutually exclusive. SP_OPTION_COMBINATION_INVALID (159) will be returned if more than 1 of them is set.

Reassign

allows

IntrayWithSkills

 

Is another option to by-pass constraint checking, though the job will still only be put into the in-tray of one of the FRUs that is mapped to the job’s location (region). However, a skills check is done when placing the job: If there is one FRU containing an employee with the skills to do the job at some time during the SLA Search Window (see 6.6), even if that employee is not available, then the job will be put into that FRU’s in-tray. If there is more than one FRU, the one with the (numerically) lowest preference factor will be chosen. If there is more than one FRU with the same preference factor, one of them will be chosen, but which one chosen is undefined. If one or more mandatory employees are supplied, they will be stored but otherwise ignored. If a mandatory FRU is supplied it will be ignored (and not stored). If a mandatory DRU is supplied, it will be ignored.

NoLocalKnowledge

 

Ignores local knowledge checks in candidate searches.

NoTravel

 

Sets the travel time (travel-to) to zero. i.e. Jobs with “NoTravel” are skipped in travel calculations. Travel time to next location will be based on previous location.

Reassign

 

Allows existing jobs to be re-assigned among operatives in an attempt to fit this new job into the schedule. Use of this option will increase response times; this may be controlled by means of the database parameters ABS_reassign_jobs_max, ABS_reassign_options_max, and ABS_reassign_timeout.

SpareForceGo

 

indicates Indicates that a job that requires spares should still be allocated even if all of the required spares are not available. This means that if all the spares are available from vehicle stock they may be used, otherwise they need to be sourced externally.

IgnoreCapacity

indicates that the capacity for every day should be treated as though it was 100%, i.e. the capacity check values set for each day should be ignored.

NoTravel

Sets the travel time (travel-to) to zero. i.e. Jobs with “NoTravel” are skipped in travel calculations. Travel time to next location will be based on previous location.

NoLocalKnowledge

Ignores local knowledge checks in candidate searches.

IgnoreOverlap

Only for use in OfferAppysRequest in circumstances where a follow on set of part jobs is to be booked from the BookSplitDependentJobsRequest. If it is impossible to find spaces for all required job parts the offers returned are able to include places where other work items would be overlapped. This also switched OfferApptsRequest into the mode of only using the ExtraDuration filed for calculating the total duration of job parts - the duration from the JobType is ignored.

Dependency Group Options

WebService Name

Definition

AllowRebookAll

Means that if the Dependency Group (DG) identified by MultiJobID is already in the ServiceOptimizer database then that whole DG, including all of the jobs in it, will be cancelled first, after which BookDependencyGroupRequest will work just as it does when AllowRebookAll is not set. This allows both the MultiJobID and all of the JobIDs in the DG to be reused. All of the jobs supplied must be in the same FRU as the jobs in the original DG, otherwise SP_DIFFERENT_FRUS (533) is returned.

If AllowRebookAll is set, but the supplied MultiJobID isn’t already in the ServiceOptimizer database, the call will continue (i.e AllowRebookAll is effectively ignored) as long as none of the supplied jobs (in SP_BDGJobSeq) already exist, in which case, SP_JOBID_EXISTS (23) is returned.

When AllowRebookAll is set, BookDependencyGroupRequest is an atomic operation, i.e. it won’t return part way through with the existing DG cancelled but its replacement not booked.

If one or more of the existing JobIDs in this DG are outside the ServiceOptimizer memory horizon, the DG can’t be re-booked and will fail with SP_JOBID_OUTSIDE_HORIZON (626).

DontCancelCleared

means that any jobs in the DG whose status is Cleared won’t be cancelled, though any dependencies that refer to such a job will still be removed. (in a booking if a job with the same JobID as one of these Cleared jobs is supplied, the call will fail SP_JOBID_EXISTS (23))

DontCancelLoggedOff

is similar to DontCancelCleared, except that it applies to Logged Off jobs instead of Cleared.

IsJobID

specifies that MultiJobID is the identifier of a job in a DG, not the ID of the DG itself. The whole DG that contains that job is cancelled in the same way as would have been had the DG’s MultiJobID been supplied.

Standard Activity Options

WebService Name

Definition

CheckJobs

SP_OVERLAPPED_JOBS (132) will be returned if the new activity would overlap existing jobs. The new activity is not created.

CheckStdActs

SP_OVERLAPPED_STDACTS (160) will be returned if the new activity would overlap existing standard activities. The new activity is not created.

CheckJobDealloc

Standard Activity Options

Web Service

Type

Definition

CheckFrozen

 

SP_FROZEN_DAY (585) is returned if the new activity would be on a date where the engineer’s schedule is frozen.

CheckJobDealloc

 

If the new standard activity would overlap existing jobs, those jobs are de-allocated (to the in-tray), unless their status is SPDS_LoggedOff or SPDS_Cleared, in which case they will be left overlapping. The new activity is created.

If none of these options is set the new activity is created anyway and any consequent overlaps are left as they are.

CheckJobs

 

SP_OVERLAPPED_JOBS (132) will be returned if the new activity would overlap existing jobs. The new activity is not created.

CheckJobsAllowBreakAH

 

If this is also set with the above option, the shuffled jobs’ access hours can be broken to remove overlaps.

CheckJobsShuffle

 

Existing Tentative, Earmarked and Contacted jobs will be shuffled to try to remove overlaps. If removing the overlaps would mean the jobs’ access hours would be broken, then the call is aborted and SP_WOULD_BREAK_ACCESS_HOURS (371) is returned.

CheckJobsAllowBreakAH

If this is also set with the above option, the shuffled jobs’ access hours can be broken to remove overlaps.

CheckFrozen

SP_FROZEN_DAY (585) is

CheckStdActs

 

SP_OVERLAPPED_STDACTS (160) will be returned if the new activity would be on a date where the engineer’s schedule is frozen

OverlapBreaks

overlap existing standard activities. The new activity is not created.

OverlapBreaks

 

Currently not used. This option has been added for future use in determining the behaviour when breaks are overlapped by standard activities.