Work Order Estimate Object

The work order estimate history object is a large object which contains a statement of approximate cost to complete the work order. This means that a mobile worker can use every piece of data included in the estimate history to create the new work order at the account location (address).Ā This provides ultimate flexibility to the customer as estimates can be prepared in an external system and dispatched toĀ mobileĀ application.

Work Order Estimate History Object Formats

JSON Format
{
	"Account": {
		"AccountNum": "",
		"AccountType": "",
		"Name": "",
		"Notes": "",
		"TaxExempt": "",
		"TierPricingID": "",
		"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
	}],
	"Billable": false,
	"CollectPayment": false,
	"Concessions": [{
		"ConcessionID": "",
		"Desc": "",
		"Fixed": 0,
		"Percentage": 0,
		"ProdTypes": [
			"${ProdType[.SubType]}"
		]
	}],
	"Credits": [{
		"ID": "",
		"Desc": "",
		"Amount": 50,
		"Delete": false
	}],
	"Declined": false,
	"Deleted": 0,
	"Description": "",
	"Discounts": [{
		"ID": "",
		"Desc": "",
		"Fixed": 0,
		"IsApplied": true,
		"Percentage": 0,
		"ProdTypes": [
			"${ProdType[.SubType]}"
		],
		"Delete": false
	}],
	"EmailEstimate": true,
	"EstimateEmailAddress": "",
	"EstimateID": "",
	"ExcessiveService": false,
	"Extensions": {
		"ADP #": ""
	},
	"Items": [{
		"ID": "",
		"AssetNum": "",
		"BatchNum": "",
		"FlexView": [{
			"Title": "GroupName",
			"Items": [{
				"Label": "labeltext",
				"Value": "valuetext"
			}]
		}],
		"GeneralIncomeAccount": "1001",
		"IsChargeable": false,
		"IsRet": false,
        "NonTaxable": false,
		"Price": 0,
		"PriceOverrideFlag": true,
		"ProdAttrs": {
			"Desc": "",
			"IsBatch": false,
			"IsInvCtrl": false,
			"IsSerialized": false,
			"ProdType": "1001"
		},
		"ProdNum": "1001",
		"Qty": 0,
		"RefCode": "",
		"ReturnReasonCode": "",
		"SerialNum": "1001001",
		"StorageLocationID": "",
		"Delete": false
	}],
	"Location": {
		"Address": {
			"AddrLine1": "",
			"AddrLine2": "",
			"AddrLine3": "",
			"AddrLine4": "",
			"AddrType": "",
			"City": "",
			"Country": "",
			"Region": "",
			"Zip": ""
		},
		"Contacts": [{
			"Email": "",
			"FirstName": "",
			"IsPrimary": true,
			"LastName": "",
			"Phones": [{
				"PhoneNum": "",
				"PhoneType": ""
			}]
		}],
		"Email": "",
		"LanguageID": "",
		"LocationNum": "",
		"Name": "",
		"Notes": "",
		"POReq": false,
		"ServiceAreaID": "",
		"SigReq": true,
		"StorageLocationID": "",
		"WorkCenter": ""
	},
	"MaxDiscounts": {
		"${ProdType}": {
			"Percentage": 0,
			"Fixed": 0
		}
	},
	"NonTaxable": false,
	"Notes": [{
		"ID": "",
		"Author": "",
		"Date": "",
		"ReadOnly": true,
		"Text": "",
		"Delete": true
	}],
	"OrderAmount": 0,
	"OrderDate": "",
	"OrderNum": "",
	"OrderSubType": "",
	"OrderType": "",
	"OrderedItems": [{
		"EstimatedDelivery": "2014-12-15T10:00:00.000Z",
		"PartOrderNum": "",
		"PartStatus": "",
		"Price": 0,
		"ProdAttrs": {
			"Desc": ""
		},
		"ProdNum": "1001",
		"Qty": 0,
		"ShipToLocation": "",
		"SupersededParts": [{
			"ProdNum": "",
			"PartStatus": "{free text}",
			"ProdAttrs": {
				"Desc": "",
				"IsBatch": false,
				"IsInvCtrl": false,
				"IsSerialized": false,
				"ProdType": "1001"
			},
			"Qty": 10,
			"Delete": false
		}],
		"Urgency": "",
		"Delete": false
	}],
	"Photos": [{
		"Date": "",
		"ID": "",
		"Note": "",
		"URL": ""
	}],
	"PONumber": "",
	"PrimaryUserName": "",
	"Remarks": "",
	"RepeatCall": false,
	"ReqDeposit": {
		"IsApplied": false,
		"Fixed": 50,
		"Percentage": 25
	},
	"Rules": {
		"CanDuplicate": false,
		"CanEditAccount": false,
		"CanEditAsset": false,
		"CanEditDiscounts": false,
		"CanEditOrderType": false,
		"CanEditRepeatCall": false,
		"CanTakePhotos": false,
		"CanRequestMoreTime": false,
		"CanScanQRCode": false,
		"CanScheduleFollowup": false,
		"CanSendIVR": false,
		"CanSetChargeable": false,
		"CanSetLineItemTaxable": false,
		"CanSetPrice": false,
		"CanSetWorkOrderTaxable": false,
		"CanUseAlerts": false,
		"CanUseServiceContract": false,
		"CanVerifyAsset": false,
		"CombineDiscounts":false,
		"InWarranty": false,
		"IsAssetSerialNumReq": false,
		"IsHelperOrder": false,
		"IsOps": false,
		"IsShipLocationReq": false,
		"IsServiceCodeReq": false,
		"IsSigReq": false,
		"SerialNumPattern": "",
		"ValidateMailOrderParts": false
	},
	"ServiceContracts": [{
		"AssetNum": "",
		"AuthorizationNum": "",
		"BillToAccountNum": "",
		"ContractID": "",
		"ContractProvider": ""
	}],
	"ShowPrice": true,
	"Signatures": [{
		"Image": "",
		"ImageFmt": "",
		"Name": ""
	}],
	"Taxes": {
		"OrderTypes": [{
			"OrderType": "1001",
			"ProdTypes": {
				"${ProdType}": 6
			}
		}]
	},
	"Title": "",
	"Totals": {
		"LineItemTotal": 0,
		"ReturnTotal": 0,
		"GrandTotal": 0,
		"TaxTotal": 0,
		"TaxByType": {
			"${ProdType[.SubType]}": 0
		}
	},
	"UserName": "",
	"Warranty": [{
		"ID": "",
		"Desc": "",
		"IsApplied": true,
		"ProdTypes": [
			"${ProdType[.SubType]}",
			"${ProdType[.SubType]}",
			"${ProdType[.SubType]}"
		],
		"Percentage": 0,
		"Delete": false
	}]
}

Work Order Estimate History Object Properties

(info)Ā Required properties are in bold

PropertyTypeDescription
Accountobject

The Account Location Related Objects Account Object object is used to identify the account for the work order estimate.

AssetscollectionContains a collection of Asset Objects associated with the work order estimate.
Billableboolean

Specifies if the work order estimate is billable to the account. If this value is false, then no pricing information will be displayed and the payment screen will not be accessible.

Valid values are:

  • false = The work order estimate is not billable. This is the default value if this property is not specified.
  • true = The work order estimate is billable.
CollectPaymentbooleanĀ 

Identifies if a payment is required from the customer.Ā 

Notes:

  • If payments are to be collected, the Billable property must also be set to true . Ā 

Valid values are:

  • false = The mobile worker does not require to collect a payment from the customer. This is the default value if the property is not present.
  • true = The mobile worker requires to collect payment from the customer.
Concessionscollection

This property, if provided, contains a collection of one or more concessions applied to the current work order estimate.

See: Concession Object

Credits

collection

This optional fields contains zero or more credits to be applied to the work order estimate.

Notes:

  • Credits are applied after all discounts and taxes have been calculated.

This collection contains the following properties:

PropertyTypeDescritpion
IDstring

Optional property.

This property uniquely identifies the credit object.

DescstringA description of the credit being applied.
AmountdecimalThe credit amount, in dollars, to be applied to the invoice.
Declinedboolean

This property indicates that the customer rejected work order estimate created by a mobile worker.

3.40.0

DeletedbooleanĀ 

This property is used as an confirmation that the work order estimate has been removed from a mobile worker's device.Ā 

DescriptionĀ stringContains a brief description of the work order estimate. e.g. Install new equipment. For longer descriptions of the work order or reported problem use the Notes field.
Discountscollection

This property, if provided, contains a collection of one or more discounts to be applied to the current work order estimate.

See: Discounts Object

EmailEstimateboolean

Identifies if a PDF estimate should be emailed to the customer after service has been completed.

Valid values are:

  • true - A PDF estimate will be emailed to the customer.
  • false - No estimate will be emailed to the customer. This is the default value if this property is not specified.
EstimateEmailAddressstring

The email address where a PDF copy of the estimate is to be emailed. Note, the estimate will only be emailed if theĀ EmailEstimateĀ property isĀ true.

EstimateIDstring

The unique identifier associated with the work order estimate.

3.40.0

Extensionsobject

This object contains an optional collection of key/value pairs.

These key/value are defined and controlled by the customer and are typically used to assist in integration by pass additional data around the system.

ExcessiveServicebooleanĀ Asset(s) that are serviced frequently will be flagged for excessive service. Customer's CRM system will determine the criteria for excessive service.

Valid values are:

  • falseĀ = Default value is false.
  • trueĀ = The work order has been flagged for excessive service.
Itemsobject

The Items object contains line item details for the work order estimate. Line items include parts used, parts returned, travel codes, labor codes, etc. Line items are grouped based on the line item type identified by the ProdAttrs.ProdType property.

See: Item Object

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.Ā 

See:Ā Account Location Object

MaxDiscountsobject

The optional MaxDiscounts object set limits on the maximum amount of discount that can be offered.

See: Discounts Object

Notescollection

The Notes object contains an optional collection of notes associated with the work order estimate. These can be recorded by anyone involved with taking and booking the work order.

  • Notes are internal and not meant to be displayed to the Customer
  • Notes are not included on any estimate or invoice. Use Remarks for free form text to be provided to the Customer.
  • A note can be marked as static note by setting ReadOnly flag to true.

NonTaxable

boolean

Indicates whether the work order is exempt from collecting taxes.

OrderAmountdecimal

The total estimate amount for the work to be completed.

OrderDatedatetimeThe UTC date and time when the work order estimate was created.
OrderedItemscollection

This optional collection contains a list of parts that were ordered by the mobile worker while on site. If no parts were ordered then this collection will either not be present or be an empty collection. There will be one entry in the collection for each part ordered.

See:Ā OrderedPart Object

OrderNumstringThe order number associated with the work order estimate.
OrderTypestring

Contains aĀ Work Order Types System CategoryĀ value identifying the type of work order estimate.

Valid values are:

  • 1001 ā€“ Install (default)Ā 
  • 1002 ā€“ Inspection
  • 1003 ā€“ Maintenance
  • 1004 ā€“ De-Install
  • 1005 ā€“ Repair
  • 1006 ā€“ Demo
  • 1007 ā€“ Training
Photoscollection

This collection contains details about photos that were captured during the work order process. Note, this collection does not contain the actual photo but rather meta data about the photo. The photo images can be accessed either by the URL property or theĀ Work Order Photos REST API.

Photos Object Properties

PropertyTypeDescription
DatedatetimeThe UTC date and time when the photo was taken.
IDstringThe ID of the photo. The ID is unique only to this work order.
Notestring

Optional note associated with the photo.

(info) This property is currently not implement by the mobile application.

URLstringA URL that can be used to directly access the photo.
PONumberstringThe optional purchase order number associated with the work order estimate.
PrimaryUserNamestringIdentifies the primary mobile worker for the work order estimate. This field is used in cases where multiple mobile workers are dispatched to the same location. In this case this property should be set to the mobile worker that is primary.
ReasonCodestring

If the DeclinedĀ property is true, then this property will contain the reason code of why the work order estimate was rejected. The mobile application can use the list of codes and descriptions provided by the Decline Estimate Reason CodesĀ system category.

3.40.0

RemarksstringContains remarks entered by the mobile worker. Remarks will be presented to the customer on the summary page (prior to signature), and optionally on invoice printouts and/or emailed PDFs.
RepeatCallboolean

Identifies if this work order estimate represents a repeat call.

Valid values are:

  • falseĀ - This is not a repeat call for the same issue. This is the default value if this property is not specified.
  • trueĀ - This is a repeat call for the same issue.
ReqDepositobject

This property identifies the deposit required to be collected when parts are ordered. The required deposit can specify a fixed dollar amount or a percentage of the parts being ordered. If both are specified then the higher of the two will be required.

PropertyTypeDescription
IsAppliedbooleanIdentifies whether the deposit is applied or not
FixeddecimalIdentifies a fixed dollar amount.
PercentagedecimalIdentifies the percentage of the parts that are being ordered that must be collected as a deposit.
Rulesobject

This property contains rules (flags) that control different aspects of the work order process.

PropertyTypeDescription
CanDuplicateboolean

Default value is false.

Identifies if the work order can be duplicated by the mobile technician.

Valid values are:

  • false = The work order can not be duplicated
  • true = The work order can be duplicated
CanEditAccountboolean

Default value is false.

Identifies if the provided account details can be edited by the mobile worker.

Valid values are:

  • false = The account details can not be edited
  • true = The account details can be edited
CanEditAssetboolean

Default value is false .

Identifies if the provided asset details can be edited by the mobile worker. This only applies to the primary asset details. Any forms associated with the asset are always editable by the mobile worker.

Valid values are:

  • false = The asset details can not be edited
  • true = The asset details can be edited
CanEditDiscountsboolean

Default value is false.

Identifies if the mobile worker is allowed to edit/change the applied discounts.

Valid values are:

  • false = The mobile worker can not edit the applied discounts
  • true = The mobile worker is allowed to edit the applied discounts
CanEditOrderTypeboolean

Identifies if the mobile worker is allowed to edit/change the order type for the job.

Valid values are:

  • true - The mobile worker can edit the order type for the job
  • false - The mobile worker can not edit the order type

Default value is false.

CanEditRepeatCallboolean

This flag control whether or not the mobile worker is allowed to toggle RepeatCall flag for the job.

Valid values are:

  • true - The mobile worker is allowed to toggle RepeatCall flag for the job from the mobile device
  • false - The mobile worker is not allowed to toggle RepeatCall flag

Default value is false.

CanRequestMoreTimeboolean

This flag control whether or not the mobile worker is allowed to request additional time for the job.

Valid values are:

  • true - The mobile worker is allowed to request additional time from the mobile device
  • false - The mobile worker is not allowed to request additional time.

Default value is false.

CanScanQRCodeboolean

Default value is false.

Identifies if the mobile worker is allowed to scan QR code to verify asset installed at the account location. If true, and theĀ rule CanVerifyAssetĀ is true, then the mobile worker can scan QR code.

Valid values are:

  • false = Mobile worker cannot scan QR code
  • true = Mobile worker can scan QR code to verify asset

CanScheduleFollowup

boolean

Identifies if the mobile worker is allowed to schedule a follow-up call for the job.

Valid values are:

  • true - The mobile worker is allowed to schedule a follow-up call for the job
  • false - The mobile worker is not allowed schedule a follow-up call

Default value is false.

CanSendIVRboolean

Identifies if the mobile worker is allowed to send interactive voice response(IVR) request.

Valid values are:

  • true - The mobile worker is allowed to send IVR request from the mobile device
  • false - The mobile worker is not allowed to send IVR request.

Default value is false.

CanSetChargeableboolean

Default value is false.

Identifies is the mobile worker is allowed to specifically mark an item as chargeable when the current job is under warranty.

CanSetLineItemTaxable

boolean

Default values is false.

Identifies if the mobile worker is allowed to set the line item in a work order taxable.

Valid values are:

  • false = The mobile worker is not allowed to set line items taxable
  • true = The mobile worker is allowed to set line items taxable
CanSetPriceboolean

Default value is false.

Identifies if the mobile worker is allowed to change the price of line items.

Valid values are:

  • false = The mobile worker is not allowed to change line item pricing
  • true = The mobile worker is allowed to change line item pricing
CanSetWorkOrderTaxableboolean

Default values is false.

Identifies if the mobile worker is allowed to set the work order taxable.

Valid values are:

  • false = The mobile worker is not allowed to change work order taxable status
  • true = The mobile worker is allowed to change work order taxable status
CanTakePhotosboolean

Default value is false.

Identifies if the mobile worker is allowed to capture photos at the customer's location

Valid values are:

  • false = Photos can not be taken at the customer's location
  • true = Photos are allowed to be taken
CanUseAlertsboolean

Default value is false.
Identifies if the mobile worker will receive pop-up notifications for the following special conditions:

  • Safety reminders
  • Safety recalls on their product
  • Condition identified where mobile worker required to return part for engineering autopsy

Valid values are:

  • false = Mobile worker will not receive pop-up notifications
  • true = Mobile worker will receive pop-up notifications
CanUseServiceContractboolean

Default value is false.

Identifies if the mobile worker is allowed to use service contract for the work order.

Valid values are:

  • false = Service contract can not be used
  • true = Mobile worker can use service contract
CanVerifyAssetboolean

Default value is false.

Identifies if the mobile worker is allowed to verify asset installed at the account location.

Valid values are:

  • false = Asset can not be verified
  • true = Mobile worker can verify asset
CombineDiscountsboolean

Default value is false.

Indicates whether Percentage Discounts should be combined, e.g. two 10% discounts would be treated as a 20% discount.

The standard method is to apply discounts sequentially.

InWarrantyboolean

Default value is false.

Identifies if the work order is under warranty. If true, and the Warranty property is provided, then the appropriate warranty discounts will be applied.

If this property is present with either value, then an In Warranty slider is displayed on the mobile application allowing the mobile worker to change the in warranty status of the work order. If this property is missing, then the work order is considered out of warranty and the in warranty slider will not be visible within the mobile application.

Valid values are:

  • false = The job is not under warranty
  • true = The job is under warranty

IsAssetSerialNumReq

boolean

Default value is false.

Identifies if the asset serial number is required for the work order.

Valid values are:

  • false = The asset serial number is an optional field
  • true = The asset serial number is a required field
IsHelperOrderboolean

Default value is false.

Identifies if the work order is intended for helper field service engineer/technician.

Valid values are:

  • false = The work order is for primary field service engineer/technician
  • true = The work order is for helper field service engineer/technician
IsOpsboolean

Default value is false.

Identifies if the work order is under ServiceOperations control.

If true, then

  • the work order was created by ServiceOperation
  • Either ServiceOperations or the Servicer can update the work order
  • ServiceOperations can remove the work order (un-assign it) from the Servicer
  • Only ServiceOperations can delete the work order

IsServiceCodeReq

boolean

Default value is false.

Identifies if the asset service codes are required at the end of the work order.

Valid values are:

  • false = Service codes are not required
  • true = Service Codes are required for an asset
IsShipLocationReqboolean

Indicates whether the Ship To Location must be selected when ordering parts

Valid values are:

  • false = Ship To Location is not required
  • true = Ship To Location is required
IsSigReqboolean

If this rule is not specified, then the default value will be set to the default setting for the Account Location.

Valid values are:

  • false = A customer signature is not required to close the work order
  • true = A customer signature is required to close the work order
IsSigNameReqboolean

Indicates if name is mandatory field for a customer signature. Mobile application will only check the rule if a customer signature is required to close the work order (identified by Rules.IsSigReq = true)

Valid values are:

  • false = A customer name for signature is not required to close the work order
  • true = A customer name for signature is required to close the work order
SerialNumPatternstring

Regular expression for asset serial number validation. Mobile application will enforce serial number validation in conjunction with another rule (identified by Rules.IsAssetSerialNumReq = true)

ValidateMailOrderPartsboolean

Default value is false.

Identifies if validation rules for ordered parts should be enforced.

Valid values are:

  • false = Validation rules should not be enforced
  • true = Validation rules for parts shipping address are enforced and the ability to toggle ordered parts deposit requirements is available


ServiceContractscollection

The service contracts collection contains one or more optional service contract information that were applied to the work order estimate.

PropertyTypeDescription
AssetNumstringThis property identifies asset associated with the service contract
AuthorizationNumstringThis optional property identifies work authorization number provided by service contract administrator
BillToAccountNumstringThis properly identifies the party who is responsible for paying for the service.
ContractIDstringThis property uniquely identifies the service contract.
ContractProviderstringThis property identifies the name of service contract administrator.
ShowPriceboolean

Identifies if pricing should be displayed on the work order.

Valid value are:

  • true - Prices will be displayed. This is the default value if this property is not specified.
  • false - Prices will not be displayed on the work order.
Signaturescollection

The signatures collection contains one or more optional signatures that were digitally captured on the device at the end of the work order estimate.

Signatures Properties

PropertyTypeDescription
ImageblobBase64 encoded value of the signature.
ImageFmtstring

Identifies the type of encoding used for the signature.

Valid values are:

  • png
  • jpeg
NamestringOptional name of the person who digitally signed the work order.

Taxes

object

The property contains tax related information by work order type. Within the tax object there is a collection of line item type to tax rate mappings. The mobile application will use this collection to determine the tax rate for each line item. If the work order contains a line item type not listed in the tax collection, then it is assumed that no tax rate is required.

Notes:

  • If a new work order is added to the system without the Taxes property, the ESB will automatically lookup the correct tax rate based on zip code and add the correct values to the work order object.
TitlestringOptional title for the work order estimate.
UserNamestringThis property identifies the ID of the mobile worker that has been assigned to the work order.
Warrantycollection

This collection contains discounts to be applied when the work order is under warranty as identified by the Rules.InWarranty property. Warranty discounts are specified by product type and optionally sub-type. Discounts are only applied to the product types specified.

PropertyTypeDescription
IDstring

Optional property.

This property uniquely identifies the Warranty object.

DescstringContains a human readable description of the discount.
ProdTypesobjectContains one or more objects each describing the discount for the specific product type and/or sub-type
${ProdType[.SubType]}string

Specifies the product type and optional sub-type.

The application will look for warranty discounts in the following order:

  • Look for a product type and sub-type match
  • Look for a product type match

If no match is found, then no warranty specific discount will be applied.

IsAppliedboolean

Specifies if the discount can be applied.

Valid values are:

  • true = Discount will be applied
  • false = Discount will not be applied

If this property is not specified then the default value isĀ true

Percentagedecimal

The discount percentage to be applied to all products in the identified product type when the work order is under warranty.