/
EmpUpdate RESTified API

EmpUpdate RESTified API

5.4.0

A pass-through API to Scheduling (when configured) which allows the Scheduling's EmpUpdateRequest API to be called.

Description

The sp:EmpUpdateRequest API method allows any or all of the attributes of an employee to be updated. Some of the fields (RangeLKs, RegionLKs and PubHols) can only be replaced, not updated, i.e some options are mandatory if the corresponding field is supplied (see below).

The sp:EmpUpdateRequest API method works in real time, but there are some extra details of interest:

Please Note:

As some changes can move operative day boundaries (ODBs), there are occasions when jobs would end up spanning ODBs. Where this happens (the most likely case is after changes to shift assignments) those jobs will be de-allocated.

After each sp:EmpUpdateRequest API call, the operative’s jobs are always shuffled. This will have most effect after changes to shift assignments, start & end locations, travel in own time, and efficiency. However, jobs may be shuffled in all other cases because of pre-existing conditions.  For example, if a job has been moved (but not fixed) on the Gantt and remove overlaps was switched off, the shuffling operation after an sp:EmpUpdateRequest API call may shuffle it to close up a gap in the schedule.

If an employee with a van spares allocation is posted to a different or new FRU, the van spares allocation does not take effect in real time. Jobs requiring van spares will not be booked to this employee until the FRU is restarted. The sp:EmpUpdateRequest call will succeed but will return SP_OK_VAN_SPARES_NOT_UPDATED (646).

It is not necessary for the FRU(s) involved in the update to be active (i.e. running). However, if an FRU is not active then some sp:EmpUpdateRequest API functionality is unavailable:

  • schedule checks cannot be made in an FRU that is not active (for example, SP_POSTING_WOULD_DEALLOC (247) will not be returned); and
  • schedule operations cannot be made in an FRU that is not active (for example, the schedule will not be relaid out to accommodate a shift assignment change - see note above).

On this page:

Related pages:

Resource URL Summary


Pass Through Call to Scheduling's "EmpUpdateRequest" API

PUT /up/v5/rest/scheduling/EmpUpdate

HTTP Headers

This API uses the standard ServiceBroker HTTP Headers.


API Specifics


Pass Through Call to Scheduling's "EmpUpdateRequest" API

This RESTified API will perform a pass-through call to the Scheduling sub-system's "EmpUpdateRequest" API (when configured).

URL

PUT /up/v5/rest/scheduling/EmpUpdate

HTTP Request Body

This request requires a JSON object supplied in the HTTP request body, which defines the parameters that will be passed through to the Scheduling "EmpUpdateRequest" API.

EmpUpdate Object Format

EmpUpdate
{
	"empID": "",
	"empAttr": {
		"type": "",
		"name": "",
		"surname": "",
		"jobTitle": "",
		"efficiency": "",
		"homePostcode": "",
		"maxOvertime": "",
		"workPostcode": "",
		"TZType": "",
		"workTZ": "",
		"available": false,
		"defaultStartLoc": {
			"locType": "",
			"postcode": ""
		},
		"defaultEndLoc": {
			"locType": "",
			"postcode": ""
		},
		"defaultLKCLoc": {
			"locType": "",
			"postcode": ""
		},
		"showOperativeStatus": false,
		"showTravelStatus": false,
		"address1": "",
		"address2": "",
		"address3": "",
		"address4": "",
		"phone1": "",
		"phone2": "",
		"pager": "",
		"handHeldAdd1": "",
		"handHeldAdd2": "",
		"currentHandHeld": "",
		"printer": "",
		"vehicleCapacity": "",
		"TOTA": "",
		"TOTB": "",
		"freezeTheDayLeadTime": "",
		"freezeTheDayTimeOfDay": "",
		"customKWVs": {
			"keyword": "",
			"value": ""
		}
	},
	"postings": {
		"teamID": "",
		"startDate": "",
		"endDate": ""
	},
	"skills": [{
		"skillWithLevel": {
			"skillID": "",
			"skillLevel": ""
		},
		"startDate": "",
		"endDate": ""
	}],
	"shifts": {
		"shiftPatternID": "",
		"startDate": "",
		"endDate": "",
		"defaultRangeLKs": {
			"travelTime": "",
			"LKValue": ""
		},
		"defaultRegionLKs": {
			"regionID": "",
			"LKValue": ""
		},
		"pubHols": "",
		"workPatt": {
			"syncDate": "",
			"workPattDay": {
				"weekNum": "",
				"day": "",
				"rangeLKoption": "",
				"rangeLK": {
					"travelTime": "",
					"LKValue": ""
				},
				"regionLKoption": "",
				"regionLK": {
					"regionID": "",
					"LKValue": ""
				},
				"startLoc": {
					"locType": "",
					"postcode": ""
				},
				"endLoc": {
					"locType": "",
					"postcode": ""
				},
				"LKCLoc": {
					"locType": "",
					"postcode": ""
				}
			}
		}
	},
	"options": {
		"AllowShiftsTooClose": "",
	    "AllowAdd": "",
        "PostingDeallocJobs": "",
        "ShiftAssDeallocJobs": "",
        "PostingSet": "",
        "SkillSet": "",
        "ShiftAssSet": "",
        "RangeLKSet": "",
        "RangeLKSet": "",
        "PubHolSet": "",
        "PattSet": "",
        "PattRangeLKSet": "",
        "PattRegionLKSet": ""
	},
	"externalData": {
		"name": "",
		"SPESDTType": "",
		"value": ""
	}
}



EmpUpdate Object Properties

PropertyTypeLengthDescriptionReq?
empID

string

SS : EmpID (string)


SS: 50

Identifier of the employee that the newly created standard activity will be allocated to.

SS Field: empID

Yes

empAttrobjectN/A

f any of the operative’s attributes are not to be updated, then the relevant field in the supplied EmpAttr should be excluded. Each of the items will normally be updated only if they already exist for this employee. For this purpose, each item is identified by its primary key, i.e:

StartDate for Postings,

SkillID & StartDate for Skills,

StartDate for Shifts

 (Note: The primary key also includes the EmpID, but this is always supplied in another parameter)

If an item in one of the Postings, Skills or Shift Assignments supplied does not already exist (as identified by its primary key), the call will fail.  However, if the supplied Options field contains UpdateAllowAdd, then any supplied items that don’t already exist will be created and added to the relevant list. If UpdateAllowAdd isn’t set and one of the supplied items doesn’t exist, then SP_POSTING_DOES_NOT_EXIST (235), SP_SKILLASS_DOES_NOT_EXIST (237) or SP_SHIFTASS_DOES_NOT_EXIST (236) will be returned, as appropriate.


PropertyTypeLengthDescription
type

string

SS: See Valid Values

Employee Type

SS Field: empAttr.type

SS Valid Values: "Employee", "Crew", "ContractCrew", "MAXPLUS1"

namestringSS: 50

Operative's first name

SS Field: empAttr.name

surnamestringSS: 50

Operative's last name

SS Field: empAttr.surname

jobTitlestringSS: 24

Operative's job title

SS Field: empAttr.jobTitle

efficiencyinteger

How efficient is the employee? Value is used as a multiplier on the job duration. More efficient engineers will take less time to do the job. Value must be between (inclusive) 10 and 999. Normal value is 100

SS Field: empAttr.efficiency

homePostcode

string

SS: Postcode (string)

SS: 30

SM: 10

Home post code

SS Field: empAttr.homePostcode

workPostcode

string

SS: OptPostcode

SS: 30

SM: 10

Work post code

SS Field: empAttr.workPostcode

maxOvertimeunsigned integer

What is the maximum amount of planned overtime that can be used for this employee? Values must be between (inclusive) 0 and 999.

SS Field: empAttr.maxOvertime

informLeadTimeunsigned int

SS Field: empAttr.informLeadTime

earmarkedJobsMaxunsigned int

SS Field: empAttr.earmarkedJobsMax

TZType

string

SS: 

EmpTZType (string)

SS: See Valid Values

SS Field: empAttr.TZType

SS Valid Values: "None", "Supplied", "Home", "Depot", "RU", "MAXPLUS1"

workTZ

string

SS: 

EmpTZType (string)

SS: See Valid Values

SS Field: empAttr.workTZ

SS Valid Values: "None", "Supplied", "Home", "Depot", "RU", "MAXPLUS1"

availableboolean
SS Field: empAttr.available
defaultStartLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType (string)

SS: See Valid Values

SS Field: empAttr.defaultStartLoc.locType

SS Valid Values: "Home", "Work", "Depot", "Supplied", "None"

postCode

string

SS: OptPostcode (string)

SS: 30

SM: 10

SS Field: empAttr.defaultStartLoc.postCode
defaultEndLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType (string)

SS: See Valid Values

SS Field: empAttr.defaultEndLoc.locType

SS Valid Values: "Home", "Work", "Depot", "Supplied", "None"

postCode

string

SS: OptPostcode (string)

SS: 30

SM: 10

SS Field: empAttr.defaultEndLoc.postCode
defaultLKCLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType (string)

SS: See Valid Values

SS Field: empAttr.defaultLKCLoc.locType

SS Valid Values: "Home", "Work", "Depot", "Supplied", "None"

postCode

string

SS: OptPostcode (string)

SS: 30

SM: 10

SS Field: empAttr.defaultKCLoc.postCode
showOperativeStatusboolean

SS Field: empAttr.showOperativeStatus

showTravelStatusboolean
SS Field: empAttr.showTravelStatus
address1

string

SS: 

EmpAddress (string)

SS: 50SS Field: empAttr.address1
address2

string

SS: 

EmpAddress (string)

SS: 50SS Field: empAttr.address2
address3

string

SS: 

EmpAddress (string)

SS: 50SS Field: empAttr.address3
address4

string

SS: 

EmpAddress

 (string)

SS: 50SS Field: empAttr.address4
phone1

string

SS: 

PhoneNum (string)

SS: 40SS Field: empAttr.phone1
phone2

string

SS: 

PhoneNum (string)

SS: 40SS Field: empAttr.phone2
pager

string

SS: 

PagerNum (string)

SS: 20SS Field: empAttr.pager
handHeldAdd1

string

SS: 

HandHeldAddress (string)

SS: 10SS Field: empAttr.handHeldAdd1
handHeldAdd2

string

SS: 

HandHeldAddress (string)

SS: 10SS Field: empAttr.handHeldAdd2
currentHandHeld

string

SS: 

CurrentHandHeldNum (unsigned integer)


SS Field: empAttr.currentHandHeld
printer

string

SS: 

EmpPrinterName

SS: 10SS Field: empAttr.printer
vehicleCapacityunsigned integer
SS Field: empAttr.vehicleCapacity
TOTAinteger

must be between (inclusive) 0 and 1440

SS Field: empAttr.TOTA

TOTBinteger

must be between (inclusive) 0 and 1440

SS Field: empAttr.TOTB

freezeTheDayLeadTime

string

SS: 

FreezeTheDayLeadTime (unsigned integer)


both FreezeTheDayLeadTime and FreezeTheDayTimeOfDay should be supplied or both should not be supplied.  If only one is supplied, either SP_FDLT_NOT_SUPPLIED (586) or SP_FDT_NOT_SUPPLIED (587) will be returned.  In a call of EmpUpdateRequest, both can be supplied or neither can be supplied. Also, only one of them can be supplied as long as the other is already set for this operative.

SS Field: empAttr.freezeTheDayLeadTime

freezeTheDayTimeOfDay

string

SS: 

spTime (string) 

SS: 15

SP_TIME_INVALID (29) (29) will be returned if the supplied FreezeTheDayTimeOfDay isn’t between 0000 and 2400.

Example: "14:15"

SS Field: empAttr.freezeTheDayTimeOfDay

customKWVsobject2

The two Keywords that can be supplied in CustomKWVs are HourlyRate and OvertimeRate


PropertyTypeLengthDescription
keyword

string

SS: CustomKeyword

SS: min 1, max 10SS Field: empAttr.customKWVs.keyword
value

string

SS: CustomValue

SS: min 1, max 20SS Field: empAttr.customKWVs.value


postingsobjectN/A

A posting is an association between an operative and a team (TeamID) which represents the fact that the operative is assigned to that team for a period of time between startDate and endDate. By implication, the operative is also assigned to the FRU containing the IRU containing that team for that time period, and so may be allocated jobs that have been booked into that FRU.

Postings can’t overlap in time, but there can be gaps between an operative’s postings when he can’t be assigned any jobs or standard activities.


PropertyTypeLengthDescription
teamID

string

SS: 

TeamID (string)

SS: 40SS Field: postings.teamID
startDate

string

SS: 

spDate (string)

SS: 8

Example: "2023-03-30"

SS Field: postings.startDate

endDate

string

SS: 

spDate (string)

SS: 8

If the end of a posting isn’t specified, then it’s assumed that the operative is posted to that team ‘forever’.

Example: "2023-03-30"

SS Field: postings.endDate


skillsarray
An operative may have any number of skills, each for a particular time period.


PropertyTypeLengthDescription
skillWithLevelobject
PropertyTypeLengthDescription
skillIDSS: SkillIDSS: 30SS Field: skills.skillWithLevel.skillID
skillLevel

SS: SkillLevel

(unsigned integer)


Each skill has a level associated with it that represents the level of that skill that the operative possesses. The scheduling process makes sure that that an operative is not assigned a job for which he doesn’t have all of the required skills at the required level or above.

SS Field: skills.skillWithLevel.skillLevel

startDate

string

SS: spDate (string)

SS: 8

Example: "2023-03-30"

SS Field: skills.startDate

endDate

string

SS: spDate (string)

SS: 8

Example: "2023-03-30"

SS Field: skills.endDate

 
shiftsobjectN/A
PropertyTypeLengthDescription
shiftPatternID

string

SS: 

ShiftPatternID (string) 

SS: 30SS Field: shifts.shiftPatternID
startDate

string

SS: spDate (string)

SS: 8

A shift pattern assignment is a period of days (between startDate and endDate) when an operative is ‘working’ a particular shift pattern.

Example: "2023-03-30"

SS Field: shifts.startDate

endDateSS: spDate (string)SS: 8

If endDate isn’t specified, then it’s assumed that the operative will work that shift pattern ‘forever’.

Example: "2023-03-30"

SS Field: shifts.endDate


defaultRangeLKsobject
PropertyTypeLengthDescription
travelTime

SS: TravelTime (unsigned int)

SS: min 0, max 255

TravelTime must be less than 255

SS Field: shifts.defaultRangeLKs.travelTime

LKValueSS: 

LKValue (unsigned int)

SS: min 0, max 10

All supplied values of LKValue must be between 0 & 10

SS Field: shifts.defaultRangeLKs.LKValue





defaultRegionLKsobject
PropertyTypeLengthDescription
regionID

string

SS: 

RegionID (string)

SS: 26SS Field: shifts.defaultRegionLKs.regionID
LKValueSS: LKValue (unsigned int)SS: min 0, max 10

the LKValue must be between 0 & 10

SS Field: shifts.defaultRegionLKs.LKValue


pubHolsstringSS: 30

SS Field: shifts.pubHols

 

workPattobject

This allowsLocalKnowledgeRanges, Local Knowledge Regions, Local Knowledge Centres, Start Locations and End Locations to be supplied as part of a multi-week repeating work pattern. 

PropertyTypeLengthDescription
syncDate

string

SS:

spDate (string)

SS: 8

The syncDate parameter is a date on which the corresponding day of the week of the first week of a multi-week Working Pattern should coincide (not the date on which the Working Pattern starts).  For example if the Working Pattern is for 4 weeks starting on a Monday, and the SyncDate is 16th March 2005 ( a Wednesday), the first Wednesday of the Working Pattern should be on 16th march 2005.  The second Wednesday will therefore be on 23rd March 2005.  The previous Sunday (13th March 2005) will be for the fourth Sunday in the four week Working Pattern since it starts on a Monday.

SS Field: shifts.workPatt.syncDate

workPattDayobject
PropertyTypeLengthDescription
weekNumunsigned int
SS Field: shifts.workPattDay.weekNum
dayDayOfTheWeek SS Field: shifts.workPattDay.DayOfTheWeek
rangeLKoption

WorkPattDay-regionLKoption


SS Field: shifts.workPattDay.rangeLKoption
rangeLK

object

EmpLocKnowRegion


PropertyTypeLengthDescription
travelTime

SS Field: shifts.workPattDay.rangeLK.travelTime
LKValue

SS Field: shifts.workPattDay.rangeLK.LKValue
regionLKoption

string

SS: WorkPattDay-regionLKoption

SS: See Valid Values

SS Field: shifts.workPattDay.regionLKoption

SS Valid Values: "empDefaultRegionLK", "noRegionLK"

regionLKobject
PropertyTypeLengthDescription
regionID

string

SS: RegionID (string)

SS: 26SS Field: shifts.workPattDay.regionLK.regionID
LKValueSS: LKValue (unsigned int)SS: min 0, max 10SS Field: shifts.workPattDay.regionLK.LKValue
startLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType

SS: See Valid Values

SS Field: shifts.workPattDay.startLoc.locType

SS Valid Values: "Vehicle"

postcodePostcode

SS: 30

SM: 10

SS Field: shifts.workPattDay.startLoc.postcode
endLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType

SS: See Valid Values

SS Field: shifts.workPattDay.endLoc.locType

SS Valid Values: "Vehicle"

postcodePostcode

SS: 30

SM: 10

SS Field: shifts.workPattDay.endLoc.postcode
LKCLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType

SS: See Valid Values

SS Field: shifts.workPattDay.LKCLoc.locType

SS: See Valid Values

postcodePostcode

SS: 30

SM: 10

SS Field: shifts.workPattDay.LKCLoc.postcode

 

optionsobjectN/A
PropertyTypeDescription
AllowShiftsTooCloseboolean

AllowShiftsTooClose overrides the limit on how close shift patterns are allowed to be

SS Field: options.AllowShiftsTooClose


externalDataobjectN/A
PropertyTypeLengthDescription
namestring
SS Field: externalData.name
SPESDTType

string

SS: SPESDTType

SS: See Valid Values

SS Field: externalData.SPESDTType

SS Valid Values: "Specified", "EmpID", "Name", "Surname", "HomePostcode", "WorkPostcode", "AddressLine1"," AddressLine2", "AddressLine3", "AddressLine4","Phone1", "Phone2", "Pager", "WorkTZ", "Team", "FRU", "Depot"

valuestring
SS Field: externalData.value




HTTP Response

Success

On success, a JSON-formatted version of the Scheduling "EmpUpdateRequest" API response will be returned.

{
    "Success": true,
    "Code": 0,
    "Message": "OK",
    "Payload": {
        "result": {
            "type": "OK",
            "code": "0"
        }
    }
}

Error

On error, a JSON-formatted version of the Scheduling "EmpUpdateRequest" API response will be returned.

{
    "Success": false,
    "Code": 9,
    "Payload": {
        "returnCode": {
            "type": "Error",
            "code": "SCH Error Code"
        }
    }
}

Return Codes

In addition to the Standard Return Codes, and the Scheduling API return codes, the possible Return Codes from this API are:

 Click here to expand...
  • SP_OK (0)
  • SP_EMPID_INVALID (5)
  • SP_SKILLLEVEL_INVALID (32)
  • SP_OUTSIDE_HORIZON (53)
  • SP_EMPNAME_INVALID (133)
  • SP_EMPSURNAME_INVALID (134)
  • SP_EMPJOBTITLE_INVALID (135)
  • SP_EMPADDRESS1_INVALID (136)
  • SP_EMPADDRESS2_INVALID (137)
  • SP_EMPADDRESS3_INVALID (138)
  • SP_EMPADDRESS4_INVALID (139)
  • SP_EMPPHONE1_INVALID (140)
  • SP_EMPPHONE2_INVALID (141)
  • SP_PAGERNO_INVALID (142)
  • SP_EMPTYPE_INVALID (184)
  • SP_EFFICIENCY_INVALID (185)
  • SP_MAXOVERTIME_INVALID (186)
  • SP_ILT_INVALID (187)
  • SP_EARMARKEDJOBSMAX_INVALID (188)
  • SP_HOMEPOSTCODE_INVALID (189)
  • SP_WORKPOSTCODE_INVALID (190)
  • SP_EMPTZTYPE_INVALID (191)
  • SP_WORKTZ_INVALID (192)
  • SP_AVAILABLE_INVALID (193)
  • SP_HANDHELDADD1_INVALID (194)
  • SP_HANDHELDADD2_INVALID (195)
  • SP_CURRENTHANDHELD_INVALID (196)
  • SP_PRINTER_INVALID (197)
  • SP_TEAMID_INVALID (200)
  • SP_POSTINGSTARTDATE_INVALID (201)
  • SP_POSTINGENDDATE_INVALID (202)
  • SP_POSTINGTYPE_INVALID (203)
  • SP_SKILLSTARTDATE_INVALID (204)
  • SP_SKILLENDDATE_INVALID (205)
  • SP_SHIFTPERIODTYPE_INVALID (206)
  • SP_SKILLISDERIVED_INVALID (207)
  • SP_SHIFTPATTERNID_INVALID (208)
  • SP_SHIFTASSSTARTDATE_INVALID (209)
  • SP_SHIFTASSENDDATE_INVALID (210)
  • SP_EMPUPDATEOPTIONS_INVALID (212)
  • SP_SKILLID_NOT_SUPPLIED (213)
  • SP_EMPID_NOT_SUPPLIED (215)
  • SP_HOMEPOSTCODE_NOT_SUPPLIED (220)
  • SP_WORKTZ_NOT_SUPPLIED (221)
  • SP_TEAMID_NOT_SUPPLIED (222)
  • SP_POSTINGSTARTDATE_NOT_SUPPLIED (223)
  • SP_SKILLSTARTDATE_NOT_SUPPLIED (226)
  • SP_SHIFTPATTERNID_NOT_SUPPLIED (227)
  • SP_SHIFTASSSTARTDATE_NOT_SUPPLIED (228)
  • SP_EMPID_DOES_NOT_EXIST (231)
  • SP_HOMEPOSTCODE_DOES_NOT_EXIST (232)
  • SP_WORKPOSTCODE_DOES_NOT_EXIST (233)
  • SP_WORKTZ_DOES_NOT_EXIST (234)
  • SP_POSTING_DOES_NOT_EXIST (235)
  • SP_SHIFTASS_DOES_NOT_EXIST (236)
  • SP_SKILLASS_DOES_NOT_EXIST (237)
  • SP_POSTING_START_GE_END (238)
  • SP_SKILL_START_GE_END (239)
  • SP_SHIFTASS_START_GE_END (240)
  • SP_POSTINGS_OVERLAP (241)
  • SP_SHIFTASS_OVERLAP (242)
  • SP_SKILLS_OVERLAP (243)
  • SP_HOMEPOSTCODE_NOT_MAPPED (244)
  • SP_WORKPOSTCODE_NOT_MAPPED (245)
  • SP_POSTING_STDACT_OVERLAP (246)
  • SP_POSTING_WOULD_DEALLOC (247)
  • SP_SHIFTASS_WOULD_DEALLOC (248)
  • SP_TEAMID_DOES_NOT_EXIST (249)
  • SP_SKILLID_DOES_NOT_EXIST (250)
  • SP_SHIFTPATTERNID_DOES_NOT_EXIST (251)
  • SP_SKILLID_INVALID (253)
  • SP_REGIONID_INVALID (277)
  • SP_STARTLOC_INVALID (304)
  • SP_STARTLOCPOSTCODE_INVALID (305)
  • SP_ENDLOC_INVALID (306)
  • SP_ENDLOCPOSTCODE_INVALID (307)
  • SP_STARTLOCPOSTCODE_DOES_NOT_EXIST (309)
  • SP_ENDLOCPOSTCODE_DOES_NOT_EXIST (310)
  • SP_STARTLOCPOSTCODE_NOT_SUPPLIED (314)
  • SP_ENDLOCPOSTCODE_NOT_SUPPLIED (315)
  • SP_PUBHOLSETID_INVALID (330)
  • SP_PUBHOLSETID_DOES_NOT_EXIST (331)
  • SP_RANGELKS_TRAVEL_INVALID (341)
  • SP_RANGELKS_LKVALUE_INVALID (342)
  • SP_RANGELKS_DUPLICATE (343)
  • SP_SHIFTS_WOULD_OVERLAP (344)
  • SP_SHIFTS_TOO_CLOSE (345)
  • SP_LKCLOC_INVALID (347)
  • SP_LKCLOCPOSTCODE_DOES_NOT_EXIST (348)
  • SP_LKCLOCPOSTCODE_NOT_SUPPLIED (349)
  • SP_LKCLOCPOSTCODE_INVALID (350)
  • SP_RANGELKS_DOES_NOT_EXIST (357)
  • SP_DST_TIME_INVALID (379)
  • SP_VEHICLE_CAPACITY_INVALID (393)
  • SP_DOTW_INVALID (394)
  • SP_TOTB_INVALID (409)
  • SP_CUSTOMKWVSEQ_SIZE_INVALID (425)
  • SP_CUSTOMKEYWORD_INVALID (426)
  • SP_CUSTOMVALUE_INVALID (427)
  • SP_CUSTOMKEYWORD_DOES_NOT_EXIST (428)
  • SP_TOTA_INVALID (445)
  • SP_CUSTOMKEYWORD_DUPLICATED (451)
  • SP_PUBHOLSETID_DUPLICATED (452)
  • SP_CUSTOMKWVSEQ_CUSTOMKWVS_NULL (454)
  • SP_PUBHOLSETSEQ_PUBHOLSETS_NULL (455)
  • SP_REGIONLKS_LKVALUE_DOES_NOT_EXIST (456)
  • SP_LKRANGE_LKVALUE_DOES_NOT_EXIST (458)
  • SP_TRAVELTIME_INVALID (459)
  • SP_REQ_OPTION_NOT_SET (471)
  • SP_EMPWORKPATT_DAYS_NULL (472)
  • SP_LOCKNOWREGIONSEQ_REGIONS_NULL (473)
  • SP_LOCKNOWRANGESEQ_RANGES_NULL (474)
  • SP_EMPWORKPATT_SIZE_GT_MAX (478)
  • SP_WPD_DUPLICATED (479)
  • SP_EMP_WPD_WEEKNUM_INVALID (480)
  • SP_DEFAULT_RANGE_DUPLICATED (481)
  • SP_DEFAULT_REGION_DUPLICATED (482)
  • SP_EMP_WPD_RANGE_DUPLICATED (483)
  • SP_EMP_WPD_REGION_DUPLICATED (484)
  • SP_REGIONLKS_LKVALUE_INVALID (488)
  • SP_EMPWORKPATT_SYNC_DATE_INVALID (489)
  • SP_SHOWOPERATIVESTATUS_INVALID (570)
  • SP_SHOWTRAVELSTATUS_INVALID (571)
  • SP_FDLT_NOT_SUPPLIED (586)
  • SP_FDT_NOT_SUPPLIED (587)
  • SP_NO_WORKPOSTCODE_FOR_DEFAULTSTARTLOC (589)
  • SP_NO_WORKPOSTCODE_FOR_DEFAULTENDLOC (590)
  • SP_NO_WORKPOSTCODE_FOR_DEFAULTLKCLOC (591)
  • SP_NO_WORKPOSTCODE_FOR_WORKPATT_STARTLOC (592)
  • SP_NO_WORKPOSTCODE_FOR_WORKPATT_ENDLOC (593)
  • SP_NO_WORKPOSTCODE_FOR_WORKPATT_LKCLOC (594)
  • SP_NO_DEPOT_FOR_DEFAULTSTARTLOC (595)
  • SP_NO_DEPOT_FOR_DEFAULTENDLOC (596)
  • SP_NO_DEPOT_FOR_DEFAULTLKCLOC (597)
  • SP_NO_DEPOT_FOR_WORKPATT_STARTLOC (598)
  • SP_NO_DEPOT_FOR_WORKPATT_ENDLOC (599)
  • SP_NO_DEPOT_FOR_WORKPATT_LKCLOC (600)
  • SP_OK_CAPACITY_EXCEEDED (640)
  • SP_OK_VAN_SPARES_NOT_UPDATED (646)
  • SP_TEAM_CHANGE_REQUIRES_RESTART (647)
  • SP_POSTING_WOULD_ORPHAN (648)
  • SP_SHIFTASS_WOULD_ORPHAN (649)
  • SP_EXTERNAL_NAME_INVALID (659)
  • SP_EXTERNAL_SPESDTTYPE_INVALID (660)
  • SP_DUPLICATE_EXTERNAL_NAME (661)
  • SP_EXTERNAL_VALUE_INVALID (663)
  • SP_SHIFTASS_CONFLICTS_BREAK_OVERRIDE (664)
  • SP_POSTING_CONFLICTS_SPECIAL_PERIOD (688)





5.4.0

A pass-through API to Scheduling (when configured) which allows the Scheduling's EmpUpdateRequest API to be called.

Description

The sp:EmpUpdateRequest API method allows any or all of the attributes of an employee to be updated. Some of the fields (RangeLKs, RegionLKs and PubHols) can only be replaced, not updated, i.e some options are mandatory if the corresponding field is supplied (see below).

The sp:EmpUpdateRequest API method works in real time, but there are some extra details of interest:

Please Note:

As some changes can move operative day boundaries (ODBs), there are occasions when jobs would end up spanning ODBs. Where this happens (the most likely case is after changes to shift assignments) those jobs will be de-allocated.

After each sp:EmpUpdateRequest API call, the operative’s jobs are always shuffled. This will have most effect after changes to shift assignments, start & end locations, travel in own time, and efficiency. However, jobs may be shuffled in all other cases because of pre-existing conditions.  For example, if a job has been moved (but not fixed) on the Gantt and remove overlaps was switched off, the shuffling operation after an sp:EmpUpdateRequest API call may shuffle it to close up a gap in the schedule.

If an employee with a van spares allocation is posted to a different or new FRU, the van spares allocation does not take effect in real time. Jobs requiring van spares will not be booked to this employee until the FRU is restarted. The sp:EmpUpdateRequest call will succeed but will return SP_OK_VAN_SPARES_NOT_UPDATED (646).

It is not necessary for the FRU(s) involved in the update to be active (i.e. running). However, if an FRU is not active then some sp:EmpUpdateRequest API functionality is unavailable:

  • schedule checks cannot be made in an FRU that is not active (for example, SP_POSTING_WOULD_DEALLOC (247) will not be returned); and
  • schedule operations cannot be made in an FRU that is not active (for example, the schedule will not be relaid out to accommodate a shift assignment change - see note above).

On this page:

Related pages:

Resource URL Summary


Pass Through Call to Scheduling's "EmpUpdateRequest" API

PUT /up/v5/rest/scheduling/EmpUpdate

HTTP Headers

This API uses the standard ServiceBroker HTTP Headers.


API Specifics


Pass Through Call to Scheduling's "EmpUpdateRequest" API

This RESTified API will perform a pass-through call to the Scheduling sub-system's "EmpUpdateRequest" API (when configured).

URL

PUT /up/v5/rest/scheduling/EmpUpdate

HTTP Request Body

This request requires a JSON object supplied in the HTTP request body, which defines the parameters that will be passed through to the Scheduling "EmpUpdateRequest" API.

EmpUpdate Object Format

EmpUpdate
{
	"empID": "",
	"empAttr": {
		"type": "",
		"name": "",
		"surname": "",
		"jobTitle": "",
		"efficiency": "",
		"homePostcode": "",
		"maxOvertime": "",
		"workPostcode": "",
		"TZType": "",
		"workTZ": "",
		"available": false,
		"defaultStartLoc": {
			"locType": "",
			"postcode": ""
		},
		"defaultEndLoc": {
			"locType": "",
			"postcode": ""
		},
		"defaultLKCLoc": {
			"locType": "",
			"postcode": ""
		},
		"showOperativeStatus": false,
		"showTravelStatus": false,
		"address1": "",
		"address2": "",
		"address3": "",
		"address4": "",
		"phone1": "",
		"phone2": "",
		"pager": "",
		"handHeldAdd1": "",
		"handHeldAdd2": "",
		"currentHandHeld": "",
		"printer": "",
		"vehicleCapacity": "",
		"TOTA": "",
		"TOTB": "",
		"freezeTheDayLeadTime": "",
		"freezeTheDayTimeOfDay": "",
		"customKWVs": {
			"keyword": "",
			"value": ""
		}
	},
	"postings": {
		"teamID": "",
		"startDate": "",
		"endDate": ""
	},
	"skills": [{
		"skillWithLevel": {
			"skillID": "",
			"skillLevel": ""
		},
		"startDate": "",
		"endDate": ""
	}],
	"shifts": {
		"shiftPatternID": "",
		"startDate": "",
		"endDate": "",
		"defaultRangeLKs": {
			"travelTime": "",
			"LKValue": ""
		},
		"defaultRegionLKs": {
			"regionID": "",
			"LKValue": ""
		},
		"pubHols": "",
		"workPatt": {
			"syncDate": "",
			"workPattDay": {
				"weekNum": "",
				"day": "",
				"rangeLKoption": "",
				"rangeLK": {
					"travelTime": "",
					"LKValue": ""
				},
				"regionLKoption": "",
				"regionLK": {
					"regionID": "",
					"LKValue": ""
				},
				"startLoc": {
					"locType": "",
					"postcode": ""
				},
				"endLoc": {
					"locType": "",
					"postcode": ""
				},
				"LKCLoc": {
					"locType": "",
					"postcode": ""
				}
			}
		}
	},
	"options": {
		"AllowShiftsTooClose": "",
	    "AllowAdd": "",
        "PostingDeallocJobs": "",
        "ShiftAssDeallocJobs": "",
        "PostingSet": "",
        "SkillSet": "",
        "ShiftAssSet": "",
        "RangeLKSet": "",
        "RangeLKSet": "",
        "PubHolSet": "",
        "PattSet": "",
        "PattRangeLKSet": "",
        "PattRegionLKSet": ""
	},
	"externalData": {
		"name": "",
		"SPESDTType": "",
		"value": ""
	}
}



EmpUpdate Object Properties

PropertyTypeLengthDescriptionReq?
empID

string

SS : EmpID (string)


SS: 50

Identifier of the employee that the newly created standard activity will be allocated to.

SS Field: empID

Yes

empAttrobjectN/A

f any of the operative’s attributes are not to be updated, then the relevant field in the supplied EmpAttr should be excluded. Each of the items will normally be updated only if they already exist for this employee. For this purpose, each item is identified by its primary key, i.e:

StartDate for Postings,

SkillID & StartDate for Skills,

StartDate for Shifts

 (Note: The primary key also includes the EmpID, but this is always supplied in another parameter)

If an item in one of the Postings, Skills or Shift Assignments supplied does not already exist (as identified by its primary key), the call will fail.  However, if the supplied Options field contains UpdateAllowAdd, then any supplied items that don’t already exist will be created and added to the relevant list. If UpdateAllowAdd isn’t set and one of the supplied items doesn’t exist, then SP_POSTING_DOES_NOT_EXIST (235), SP_SKILLASS_DOES_NOT_EXIST (237) or SP_SHIFTASS_DOES_NOT_EXIST (236) will be returned, as appropriate.


PropertyTypeLengthDescription
type

string

SS: See Valid Values

Employee Type

SS Field: empAttr.type

SS Valid Values: "Employee", "Crew", "ContractCrew", "MAXPLUS1"

namestringSS: 50

Operative's first name

SS Field: empAttr.name

surnamestringSS: 50

Operative's last name

SS Field: empAttr.surname

jobTitlestringSS: 24

Operative's job title

SS Field: empAttr.jobTitle

efficiencyinteger

How efficient is the employee? Value is used as a multiplier on the job duration. More efficient engineers will take less time to do the job. Value must be between (inclusive) 10 and 999. Normal value is 100

SS Field: empAttr.efficiency

homePostcode

string

SS: Postcode (string)

SS: 30

SM: 10

Home post code

SS Field: empAttr.homePostcode

workPostcode

string

SS: OptPostcode

SS: 30

SM: 10

Work post code

SS Field: empAttr.workPostcode

maxOvertimeunsigned integer

What is the maximum amount of planned overtime that can be used for this employee? Values must be between (inclusive) 0 and 999.

SS Field: empAttr.maxOvertime

informLeadTimeunsigned int

SS Field: empAttr.informLeadTime

earmarkedJobsMaxunsigned int

SS Field: empAttr.earmarkedJobsMax

TZType

string

SS: 

EmpTZType (string)

SS: See Valid Values

SS Field: empAttr.TZType

SS Valid Values: "None", "Supplied", "Home", "Depot", "RU", "MAXPLUS1"

workTZ

string

SS: 

EmpTZType (string)

SS: See Valid Values

SS Field: empAttr.workTZ

SS Valid Values: "None", "Supplied", "Home", "Depot", "RU", "MAXPLUS1"

availableboolean
SS Field: empAttr.available
defaultStartLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType (string)

SS: See Valid Values

SS Field: empAttr.defaultStartLoc.locType

SS Valid Values: "Home", "Work", "Depot", "Supplied", "None"

postCode

string

SS: OptPostcode (string)

SS: 30

SM: 10

SS Field: empAttr.defaultStartLoc.postCode
defaultEndLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType (string)

SS: See Valid Values

SS Field: empAttr.defaultEndLoc.locType

SS Valid Values: "Home", "Work", "Depot", "Supplied", "None"

postCode

string

SS: OptPostcode (string)

SS: 30

SM: 10

SS Field: empAttr.defaultEndLoc.postCode
defaultLKCLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType (string)

SS: See Valid Values

SS Field: empAttr.defaultLKCLoc.locType

SS Valid Values: "Home", "Work", "Depot", "Supplied", "None"

postCode

string

SS: OptPostcode (string)

SS: 30

SM: 10

SS Field: empAttr.defaultKCLoc.postCode
showOperativeStatusboolean

SS Field: empAttr.showOperativeStatus

showTravelStatusboolean
SS Field: empAttr.showTravelStatus
address1

string

SS: 

EmpAddress (string)

SS: 50SS Field: empAttr.address1
address2

string

SS: 

EmpAddress (string)

SS: 50SS Field: empAttr.address2
address3

string

SS: 

EmpAddress (string)

SS: 50SS Field: empAttr.address3
address4

string

SS: 

EmpAddress

 (string)

SS: 50SS Field: empAttr.address4
phone1

string

SS: 

PhoneNum (string)

SS: 40SS Field: empAttr.phone1
phone2

string

SS: 

PhoneNum (string)

SS: 40SS Field: empAttr.phone2
pager

string

SS: 

PagerNum (string)

SS: 20SS Field: empAttr.pager
handHeldAdd1

string

SS: 

HandHeldAddress (string)

SS: 10SS Field: empAttr.handHeldAdd1
handHeldAdd2

string

SS: 

HandHeldAddress (string)

SS: 10SS Field: empAttr.handHeldAdd2
currentHandHeld

string

SS: 

CurrentHandHeldNum (unsigned integer)


SS Field: empAttr.currentHandHeld
printer

string

SS: 

EmpPrinterName

SS: 10SS Field: empAttr.printer
vehicleCapacityunsigned integer
SS Field: empAttr.vehicleCapacity
TOTAinteger

must be between (inclusive) 0 and 1440

SS Field: empAttr.TOTA

TOTBinteger

must be between (inclusive) 0 and 1440

SS Field: empAttr.TOTB

freezeTheDayLeadTime

string

SS: 

FreezeTheDayLeadTime (unsigned integer)


both FreezeTheDayLeadTime and FreezeTheDayTimeOfDay should be supplied or both should not be supplied.  If only one is supplied, either SP_FDLT_NOT_SUPPLIED (586) or SP_FDT_NOT_SUPPLIED (587) will be returned.  In a call of EmpUpdateRequest, both can be supplied or neither can be supplied. Also, only one of them can be supplied as long as the other is already set for this operative.

SS Field: empAttr.freezeTheDayLeadTime

freezeTheDayTimeOfDay

string

SS: 

spTime (string) 

SS: 15

SP_TIME_INVALID (29) (29) will be returned if the supplied FreezeTheDayTimeOfDay isn’t between 0000 and 2400.

Example: "14:15"

SS Field: empAttr.freezeTheDayTimeOfDay

customKWVsobject2

The two Keywords that can be supplied in CustomKWVs are HourlyRate and OvertimeRate


PropertyTypeLengthDescription
keyword

string

SS: CustomKeyword

SS: min 1, max 10SS Field: empAttr.customKWVs.keyword
value

string

SS: CustomValue

SS: min 1, max 20SS Field: empAttr.customKWVs.value


postingsobjectN/A

A posting is an association between an operative and a team (TeamID) which represents the fact that the operative is assigned to that team for a period of time between startDate and endDate. By implication, the operative is also assigned to the FRU containing the IRU containing that team for that time period, and so may be allocated jobs that have been booked into that FRU.

Postings can’t overlap in time, but there can be gaps between an operative’s postings when he can’t be assigned any jobs or standard activities.


PropertyTypeLengthDescription
teamID

string

SS: 

TeamID (string)

SS: 40SS Field: postings.teamID
startDate

string

SS: 

spDate (string)

SS: 8

Example: "2023-03-30"

SS Field: postings.startDate

endDate

string

SS: 

spDate (string)

SS: 8

If the end of a posting isn’t specified, then it’s assumed that the operative is posted to that team ‘forever’.

Example: "2023-03-30"

SS Field: postings.endDate


skillsarray
An operative may have any number of skills, each for a particular time period.


PropertyTypeLengthDescription
skillWithLevelobject
PropertyTypeLengthDescription
skillIDSS: SkillIDSS: 30SS Field: skills.skillWithLevel.skillID
skillLevel

SS: SkillLevel

(unsigned integer)


Each skill has a level associated with it that represents the level of that skill that the operative possesses. The scheduling process makes sure that that an operative is not assigned a job for which he doesn’t have all of the required skills at the required level or above.

SS Field: skills.skillWithLevel.skillLevel

startDate

string

SS: spDate (string)

SS: 8

Example: "2023-03-30"

SS Field: skills.startDate

endDate

string

SS: spDate (string)

SS: 8

Example: "2023-03-30"

SS Field: skills.endDate

 
shiftsobjectN/A
PropertyTypeLengthDescription
shiftPatternID

string

SS: 

ShiftPatternID (string) 

SS: 30SS Field: shifts.shiftPatternID
startDate

string

SS: spDate (string)

SS: 8

A shift pattern assignment is a period of days (between startDate and endDate) when an operative is ‘working’ a particular shift pattern.

Example: "2023-03-30"

SS Field: shifts.startDate

endDateSS: spDate (string)SS: 8

If endDate isn’t specified, then it’s assumed that the operative will work that shift pattern ‘forever’.

Example: "2023-03-30"

SS Field: shifts.endDate


defaultRangeLKsobject
PropertyTypeLengthDescription
travelTime

SS: TravelTime (unsigned int)

SS: min 0, max 255

TravelTime must be less than 255

SS Field: shifts.defaultRangeLKs.travelTime

LKValueSS: 

LKValue (unsigned int)

SS: min 0, max 10

All supplied values of LKValue must be between 0 & 10

SS Field: shifts.defaultRangeLKs.LKValue





defaultRegionLKsobject
PropertyTypeLengthDescription
regionID

string

SS: 

RegionID (string)

SS: 26SS Field: shifts.defaultRegionLKs.regionID
LKValueSS: LKValue (unsigned int)SS: min 0, max 10

the LKValue must be between 0 & 10

SS Field: shifts.defaultRegionLKs.LKValue


pubHolsstringSS: 30

SS Field: shifts.pubHols

 

workPattobject

This allowsLocalKnowledgeRanges, Local Knowledge Regions, Local Knowledge Centres, Start Locations and End Locations to be supplied as part of a multi-week repeating work pattern. 

PropertyTypeLengthDescription
syncDate

string

SS:

spDate (string)

SS: 8

The syncDate parameter is a date on which the corresponding day of the week of the first week of a multi-week Working Pattern should coincide (not the date on which the Working Pattern starts).  For example if the Working Pattern is for 4 weeks starting on a Monday, and the SyncDate is 16th March 2005 ( a Wednesday), the first Wednesday of the Working Pattern should be on 16th march 2005.  The second Wednesday will therefore be on 23rd March 2005.  The previous Sunday (13th March 2005) will be for the fourth Sunday in the four week Working Pattern since it starts on a Monday.

SS Field: shifts.workPatt.syncDate

workPattDayobject
PropertyTypeLengthDescription
weekNumunsigned int
SS Field: shifts.workPattDay.weekNum
dayDayOfTheWeek SS Field: shifts.workPattDay.DayOfTheWeek
rangeLKoption

WorkPattDay-regionLKoption


SS Field: shifts.workPattDay.rangeLKoption
rangeLK

object

EmpLocKnowRegion


PropertyTypeLengthDescription
travelTime

SS Field: shifts.workPattDay.rangeLK.travelTime
LKValue

SS Field: shifts.workPattDay.rangeLK.LKValue
regionLKoption

string

SS: WorkPattDay-regionLKoption

SS: See Valid Values

SS Field: shifts.workPattDay.regionLKoption

SS Valid Values: "empDefaultRegionLK", "noRegionLK"

regionLKobject
PropertyTypeLengthDescription
regionID

string

SS: RegionID (string)

SS: 26SS Field: shifts.workPattDay.regionLK.regionID
LKValueSS: LKValue (unsigned int)SS: min 0, max 10SS Field: shifts.workPattDay.regionLK.LKValue
startLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType

SS: See Valid Values

SS Field: shifts.workPattDay.startLoc.locType

SS Valid Values: "Vehicle"

postcodePostcode

SS: 30

SM: 10

SS Field: shifts.workPattDay.startLoc.postcode
endLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType

SS: See Valid Values

SS Field: shifts.workPattDay.endLoc.locType

SS Valid Values: "Vehicle"

postcodePostcode

SS: 30

SM: 10

SS Field: shifts.workPattDay.endLoc.postcode
LKCLocobject
PropertyTypeLengthDescription
locType

string

SS: EmpLocType

SS: See Valid Values

SS Field: shifts.workPattDay.LKCLoc.locType

SS: See Valid Values

postcodePostcode

SS: 30

SM: 10

SS Field: shifts.workPattDay.LKCLoc.postcode

 

optionsobjectN/A
PropertyTypeDescription
AllowShiftsTooCloseboolean

AllowShiftsTooClose overrides the limit on how close shift patterns are allowed to be

SS Field: options.AllowShiftsTooClose


externalDataobjectN/A
PropertyTypeLengthDescription
namestring
SS Field: externalData.name
SPESDTType

string

SS: SPESDTType

SS: See Valid Values

SS Field: externalData.SPESDTType

SS Valid Values: "Specified", "EmpID", "Name", "Surname", "HomePostcode", "WorkPostcode", "AddressLine1"," AddressLine2", "AddressLine3", "AddressLine4","Phone1", "Phone2", "Pager", "WorkTZ", "Team", "FRU", "Depot"

valuestring
SS Field: externalData.value




HTTP Response

Success

On success, a JSON-formatted version of the Scheduling "EmpUpdateRequest" API response will be returned.

{
    "Success": true,
    "Code": 0,
    "Message": "OK",
    "Payload": {
        "result": {
            "type": "OK",
            "code": "0"
        }
    }
}

Error

On error, a JSON-formatted version of the Scheduling "EmpUpdateRequest" API response will be returned.

{
    "Success": false,
    "Code": 9,
    "Payload": {
        "returnCode": {
            "type": "Error",
            "code": "SCH Error Code"
        }
    }
}

Return Codes

In addition to the  Standard Return Codes, and the Scheduling Error codes, the possible Return Codes from this API are:

 Click here to expand...
  • SP_OK (0)
  • SP_EMPID_INVALID (5)
  • SP_SKILLLEVEL_INVALID (32)
  • SP_OUTSIDE_HORIZON (53)
  • SP_EMPNAME_INVALID (133)
  • SP_EMPSURNAME_INVALID (134)
  • SP_EMPJOBTITLE_INVALID (135)
  • SP_EMPADDRESS1_INVALID (136)
  • SP_EMPADDRESS2_INVALID (137)
  • SP_EMPADDRESS3_INVALID (138)
  • SP_EMPADDRESS4_INVALID (139)
  • SP_EMPPHONE1_INVALID (140)
  • SP_EMPPHONE2_INVALID (141)
  • SP_PAGERNO_INVALID (142)
  • SP_EMPTYPE_INVALID (184)
  • SP_EFFICIENCY_INVALID (185)
  • SP_MAXOVERTIME_INVALID (186)
  • SP_ILT_INVALID (187)
  • SP_EARMARKEDJOBSMAX_INVALID (188)
  • SP_HOMEPOSTCODE_INVALID (189)
  • SP_WORKPOSTCODE_INVALID (190)
  • SP_EMPTZTYPE_INVALID (191)
  • SP_WORKTZ_INVALID (192)
  • SP_AVAILABLE_INVALID (193)
  • SP_HANDHELDADD1_INVALID (194)
  • SP_HANDHELDADD2_INVALID (195)
  • SP_CURRENTHANDHELD_INVALID (196)
  • SP_PRINTER_INVALID (197)
  • SP_TEAMID_INVALID (200)
  • SP_POSTINGSTARTDATE_INVALID (201)
  • SP_POSTINGENDDATE_INVALID (202)
  • SP_POSTINGTYPE_INVALID (203)
  • SP_SKILLSTARTDATE_INVALID (204)
  • SP_SKILLENDDATE_INVALID (205)
  • SP_SHIFTPERIODTYPE_INVALID (206)
  • SP_SKILLISDERIVED_INVALID (207)
  • SP_SHIFTPATTERNID_INVALID (208)
  • SP_SHIFTASSSTARTDATE_INVALID (209)
  • SP_SHIFTASSENDDATE_INVALID (210)
  • SP_EMPUPDATEOPTIONS_INVALID (212)
  • SP_SKILLID_NOT_SUPPLIED (213)
  • SP_EMPID_NOT_SUPPLIED (215)
  • SP_HOMEPOSTCODE_NOT_SUPPLIED (220)
  • SP_WORKTZ_NOT_SUPPLIED (221)
  • SP_TEAMID_NOT_SUPPLIED (222)
  • SP_POSTINGSTARTDATE_NOT_SUPPLIED (223)
  • SP_SKILLSTARTDATE_NOT_SUPPLIED (226)
  • SP_SHIFTPATTERNID_NOT_SUPPLIED (227)
  • SP_SHIFTASSSTARTDATE_NOT_SUPPLIED (228)
  • SP_EMPID_DOES_NOT_EXIST (231)
  • SP_HOMEPOSTCODE_DOES_NOT_EXIST (232)
  • SP_WORKPOSTCODE_DOES_NOT_EXIST (233)
  • SP_WORKTZ_DOES_NOT_EXIST (234)
  • SP_POSTING_DOES_NOT_EXIST (235)
  • SP_SHIFTASS_DOES_NOT_EXIST (236)
  • SP_SKILLASS_DOES_NOT_EXIST (237)
  • SP_POSTING_START_GE_END (238)
  • SP_SKILL_START_GE_END (239)
  • SP_SHIFTASS_START_GE_END (240)
  • SP_POSTINGS_OVERLAP (241)
  • SP_SHIFTASS_OVERLAP (242)
  • SP_SKILLS_OVERLAP (243)
  • SP_HOMEPOSTCODE_NOT_MAPPED (244)
  • SP_WORKPOSTCODE_NOT_MAPPED (245)
  • SP_POSTING_STDACT_OVERLAP (246)
  • SP_POSTING_WOULD_DEALLOC (247)
  • SP_SHIFTASS_WOULD_DEALLOC (248)
  • SP_TEAMID_DOES_NOT_EXIST (249)
  • SP_SKILLID_DOES_NOT_EXIST (250)
  • SP_SHIFTPATTERNID_DOES_NOT_EXIST (251)
  • SP_SKILLID_INVALID (253)
  • SP_REGIONID_INVALID (277)
  • SP_STARTLOC_INVALID (304)
  • SP_STARTLOCPOSTCODE_INVALID (305)
  • SP_ENDLOC_INVALID (306)
  • SP_ENDLOCPOSTCODE_INVALID (307)
  • SP_STARTLOCPOSTCODE_DOES_NOT_EXIST (309)
  • SP_ENDLOCPOSTCODE_DOES_NOT_EXIST (310)
  • SP_STARTLOCPOSTCODE_NOT_SUPPLIED (314)
  • SP_ENDLOCPOSTCODE_NOT_SUPPLIED (315)
  • SP_PUBHOLSETID_INVALID (330)
  • SP_PUBHOLSETID_DOES_NOT_EXIST (331)
  • SP_RANGELKS_TRAVEL_INVALID (341)
  • SP_RANGELKS_LKVALUE_INVALID (342)
  • SP_RANGELKS_DUPLICATE (343)
  • SP_SHIFTS_WOULD_OVERLAP (344)
  • SP_SHIFTS_TOO_CLOSE (345)
  • SP_LKCLOC_INVALID (347)
  • SP_LKCLOCPOSTCODE_DOES_NOT_EXIST (348)
  • SP_LKCLOCPOSTCODE_NOT_SUPPLIED (349)
  • SP_LKCLOCPOSTCODE_INVALID (350)
  • SP_RANGELKS_DOES_NOT_EXIST (357)
  • SP_DST_TIME_INVALID (379)
  • SP_VEHICLE_CAPACITY_INVALID (393)
  • SP_DOTW_INVALID (394)
  • SP_TOTB_INVALID (409)
  • SP_CUSTOMKWVSEQ_SIZE_INVALID (425)
  • SP_CUSTOMKEYWORD_INVALID (426)
  • SP_CUSTOMVALUE_INVALID (427)
  • SP_CUSTOMKEYWORD_DOES_NOT_EXIST (428)
  • SP_TOTA_INVALID (445)
  • SP_CUSTOMKEYWORD_DUPLICATED (451)
  • SP_PUBHOLSETID_DUPLICATED (452)
  • SP_CUSTOMKWVSEQ_CUSTOMKWVS_NULL (454)
  • SP_PUBHOLSETSEQ_PUBHOLSETS_NULL (455)
  • SP_REGIONLKS_LKVALUE_DOES_NOT_EXIST (456)
  • SP_LKRANGE_LKVALUE_DOES_NOT_EXIST (458)
  • SP_TRAVELTIME_INVALID (459)
  • SP_REQ_OPTION_NOT_SET (471)
  • SP_EMPWORKPATT_DAYS_NULL (472)
  • SP_LOCKNOWREGIONSEQ_REGIONS_NULL (473)
  • SP_LOCKNOWRANGESEQ_RANGES_NULL (474)
  • SP_EMPWORKPATT_SIZE_GT_MAX (478)
  • SP_WPD_DUPLICATED (479)
  • SP_EMP_WPD_WEEKNUM_INVALID (480)
  • SP_DEFAULT_RANGE_DUPLICATED (481)
  • SP_DEFAULT_REGION_DUPLICATED (482)
  • SP_EMP_WPD_RANGE_DUPLICATED (483)
  • SP_EMP_WPD_REGION_DUPLICATED (484)
  • SP_REGIONLKS_LKVALUE_INVALID (488)
  • SP_EMPWORKPATT_SYNC_DATE_INVALID (489)
  • SP_SHOWOPERATIVESTATUS_INVALID (570)
  • SP_SHOWTRAVELSTATUS_INVALID (571)
  • SP_FDLT_NOT_SUPPLIED (586)
  • SP_FDT_NOT_SUPPLIED (587)
  • SP_NO_WORKPOSTCODE_FOR_DEFAULTSTARTLOC (589)
  • SP_NO_WORKPOSTCODE_FOR_DEFAULTENDLOC (590)
  • SP_NO_WORKPOSTCODE_FOR_DEFAULTLKCLOC (591)
  • SP_NO_WORKPOSTCODE_FOR_WORKPATT_STARTLOC (592)
  • SP_NO_WORKPOSTCODE_FOR_WORKPATT_ENDLOC (593)
  • SP_NO_WORKPOSTCODE_FOR_WORKPATT_LKCLOC (594)
  • SP_NO_DEPOT_FOR_DEFAULTSTARTLOC (595)
  • SP_NO_DEPOT_FOR_DEFAULTENDLOC (596)
  • SP_NO_DEPOT_FOR_DEFAULTLKCLOC (597)
  • SP_NO_DEPOT_FOR_WORKPATT_STARTLOC (598)
  • SP_NO_DEPOT_FOR_WORKPATT_ENDLOC (599)
  • SP_NO_DEPOT_FOR_WORKPATT_LKCLOC (600)
  • SP_OK_CAPACITY_EXCEEDED (640)
  • SP_OK_VAN_SPARES_NOT_UPDATED (646)
  • SP_TEAM_CHANGE_REQUIRES_RESTART (647)
  • SP_POSTING_WOULD_ORPHAN (648)
  • SP_SHIFTASS_WOULD_ORPHAN (649)
  • SP_EXTERNAL_NAME_INVALID (659)
  • SP_EXTERNAL_SPESDTTYPE_INVALID (660)
  • SP_DUPLICATE_EXTERNAL_NAME (661)
  • SP_EXTERNAL_VALUE_INVALID (663)
  • SP_SHIFTASS_CONFLICTS_BREAK_OVERRIDE (664)
  • SP_POSTING_CONFLICTS_SPECIAL_PERIOD (688)





Related content

Update Operative SOAP API
Update Operative SOAP API
More like this
Update Operative SOAP API
Update Operative SOAP API
More like this
Integration ServiceOptimizer Update Operative SOAP API
Integration ServiceOptimizer Update Operative SOAP API
More like this