Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

The book job object contains all relevant properties to book a new work order. This is currently used within ServiceMobility to schedule follow-up service when a subsequent visit is required.

Book Job Object Formats

JSON Format
{
	"Account": {
		"AccountNum": "",
		"AccountType": "",
		"Name": "",
		"Notes": "",
		"Website": ""
	},
	"Assets": [{
		"AssetNum": "",
		"Desc": "",
		"FlexForms": [
			"${FlexFormID}"
		],
		"FlexView": [{
			"ID": "",
			"Title": "GroupName1",
			"Items": [{
				"ID": "",
				"Label": "labeltext",
				"Value": "value text",
				"Delete": true
			}],
			"Delete": false
		}],
		"InServiceDate": "",
		"IsComponent": false,
		"LastServiceDate": "",
		"Location": "",
		"Mfg": "",
		"Model": "",
		"ProdNum": "",
		"SerialNum": "",
		"ServiceCodes": [],
		"ServiceCodesDesc": [],
		"Status": "",
		"Type": "",
		"Delete": false
	}],
	"FlexAttrs": {
		"${FlexFormID}": {
			"${FlexAttrID}": ["", ""]
		}
	},
	"FlexForms": [
		"${FlexFormID}",
		"${FlexFormID}"
	],
	"Location": {
		"Address": {
			"AddrLine1": "",
			"AddrLine2": "",
			"AddrLine3": "",
			"AddrLine4": "",
			"AddrType": "",
			"City": "",
			"Country": "",
			"Intersection": "",
			"Lat": "",
			"Lon": "",
			"Region": "",
			"Zip": ""
		},
		"Contacts": [{
			"Email": "",
			"FirstName": "",
			"IsPrimary": true,
			"LastName": "",
			"Phones": [{
				"PhoneNum": "",
				"PhoneType": ""
			}]
		}],
		"Email": "",
		"LanguageID": "",
		"LocationNum": "",
		"Name": "",
		"Notes": "",
		"POReq": false,
		"ServiceAreaID": "",
		"SigReq": true,
		"StorageLocationID": ""
	},
	"OrderType": "",
	"OriginalOrderNum": "",
	"RequiredParts": [{
		"EstimatedDelivery": "2014-12-18T10:00:00.000Z",
		"ProdNum": "",
		"PartStatus": "{free text}",
		"Price": 0.0,
		"Qty:": 0.0,
		"ShipToLocation": "",
		"SupersededParts": [{
			"ProdNum": "",
			"PartStatus": "{free text}",
			"ProdAttrs": {
				"Desc": "",
				"IsBatch": false,
				"IsInvCtrl": false,
				"IsSerialized": false,
				"ProdType": "1001"
			},
			"Qty": 10.0
		}],
		"Urgency": ""
	}],
	"TimeConstraints": [{
		"Desc": "",
		"Period": {
			"End": "",
			"Start": ""
		},
		"Type": ""
	}],
	"Urgency": "",
	"UserName": ""
}

Book Job Object Properties

(info) Required properties are in bold

PropertyTypeDescription
Accountobject

The REST Object Definitions Account Location Related Objects Account Object object is used to identify the account the to book the work order against. Work orders can be created against managed accounts or ad-hoc accounts.

Managed accounts are those that exist in our system out side of a work order. They are managed either through the web based management application or through the Account  REST API. To use a managed account, add just the AccountNum property to the work order object. The system will automatically expand the account object with the existing account information.

Example Managed Account XML Fragment
<Account AccountNum='12345'></Account>

When any additional properties beyond the AccountNum are specified the system assumes it is an ad-hoc account.

  • The system will NOT verify the AccountNum for ad-hoc accounts
  • The system will NOT create any new Account Objects in the system 
  • The account information is passed straight through to the mobile

Example ad-hoc Account XML Fragment
<Account AccountNum='' AccountType='1001' Name='Smith Home' ServiceType='1001' >
    <Address AddrLine1='123 Main Street' AddrLine2='' AddrLine3='' AddrLine4='' AddrType='1001' 
        City='Mclean' Country='' Zip='22012' />
    <Contacts>
    </Contacts>
</Account>

It is possible to use an existing managed account and override any property value for a single work order. In this case it works just like an ad-hoc request. The only difference is that the AccountNum does refer to an existing account in the system. This option is useful in cases where a contact might be added or changed for just a single visit.

Locationobject

The account location identifies the actual location (address) of where the service is to be completed. For residential customers this is typically the same as the account information. However, there are cases such as in the auto insurance industry where this could be an auto body shop where a vehicle was towed after an accident. 

The Work Order API supports using managed Account Locations as well as ad-hoc Account Locations.

Managed Account Locations are those that exist in our system out side of a work order. They are managed either through our Portal Web Application or through the Account Location REST APIs. When using a manage account location, the only property that can be filled in is the LocNumber. The system will automatically expand this object with the existing account location information.

Ad-hoc Account Locations

When any additional properties beyond the LocationNum are specified the system assumes it is an ad-hoc account.

  • The system will NOT verify the LocationNum for ad-hoc accounts
  • The system will NOT create any new AccountLocation objects in the system
  • The account location information is passed straight through to the mobile 

See: REST Object Definitions Account Location Related Objects Account Location Object

OrderTypestringSpecifies the work order type (see REST System Categories Work Order Types in system categories).
OriginalOrderNumstringSpecifies the original work order number.
RequiredPartscollectionProvides the ability to specify all parts required to complete the work order (see REST Object Definitions Work Order Activity Related Objects Required Parts Object).

TimeConstraints

array

Specifies zero or more TimeConstraint objects. Time constraints informs the mobile worker when the customer is available or not available.

3.16.0

UrgencystringSpecifies the urgency associated with the part order.
UserNamestring

This property identifies the ID of the mobile worker that has been assigned to the original work order.

3.19.0

  • No labels