--- title: Service Order Open API description: The Service Order Open API provides endpoints that enable a standardized mechanism for placing service orders.Retrieves all service orders.Retrieves a specified service order.Updates the specified service order.Cancels the specified service order.Creates, updates, or deletes a service order or line item.Updates the fulfillment state for the specified domain order records in the Outbound Request \[sn\_tmt\_core\_outbound\_request\] table. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/rest-apis/service-order-open-api.html release: australia product: REST APIs classification: rest-apis topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 73 breadcrumb: [REST API reference, API reference, API implementation and reference] --- # Service Order Open API The Service Order Open API provides endpoints that enable a standardized mechanism for placing service orders. This API is a ServiceNow® implementation of the TM Forum Service Ordering Management API specification. This implementation is based on the [TMF641 Service Ordering Management API User Guide v4.1.1](https://www.tmforum.org/resources/specifications/tmf641-service-ordering-management-api-user-guide-v4-1-1/), March 2021. The Service Order Open API is conformance certified by TM Forum \[Omitted image "tmf-conformance.png"\] Alt text: TMF conformance logo To access this API, the Order Management for Telecommunications \(sn\_ind\_tmt\_orm\) plugin must be activated. For more information, see [Install Order Management](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/order-mgt-install-providers.md). For information about Order Management tables and roles, see [Components installed with Order Management](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/components-installed-with-order-management.md). This API is provided within the `sn_tmf_api` namespace. The calling user must have the sn\_ind\_tmt\_orm.order\_integrator role. This API can be extended to make customizations around required parameters, request body validation, additional REST operations, and field mappings. For more information, see the [Service Order Open API Developer Guide](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/developer-guides/service-order_dev-guide.md). **Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md) ## Service Order Open API – GET /sn\_tmf\_api/order/serviceOrder Retrieves all service orders. This API retrieves service order information from the following related tables: - Order \[sn\_ind\_tmt\_orm\_order\] - Order Characteristic Value \[sn\_ind\_tmt\_orm\_order\_characteristic\_value\] - Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] - Order Line Item Contact \[sn\_ind\_tmt\_orm\_order\_line\_item\_contact\] - Order Line Related Items \[sn\_ind\_tmt\_orm\_order\_line\_related\_items\] ### URL format `/api/sn_tmf_api/order/serviceOrder` ### Supported request parameters |Name|Description| |----|-----------| |None| |
| Name | Description |
|---|---|
| fields | List of fields to return in the response. Invalid fields are ignored. Data type: String Default: All fields returned. |
| limit | Maximum number of records to return. For requests that exceed this number of records, use the **offset** parameter to paginate record retrieval. Data type: Number Default: 20 Maximum: 100 |
| offset | Starting index at which to begin retrieving records. Use this value to paginate record retrieval. This functionality enables the retrieval of all records, regardless of the number of records, in small manageable chunks.Data type: Number Default: 0 |
| state | Filter orders by state. Only orders with a state matching the value of this parameter are returned in the response.Data type: String Default: All states returned. |
| Header | Description |
|---|---|
| Content-Range | Range of content returned in a paginated call. For example, if `offset=2` and `limit=3`, the value of the **Content-Range** header is `items 3-5`. |
| Content-Type | Data format of the response body. Only supports **application/json**. |
| Link | Contains the following links to navigate through query results.- first - last - next - previous |
| X-Total-Count | For paginated queries, this header specifies the total number of records available on the server. |
| Status code | Description |
|---|---|
| 200 | Request successfully processed. Full resource returned in response \(no pagination\). |
| 206 | Partial resource returned in response \(with pagination\). |
| 400 | Bad request. Possible reasons: - Invalid path parameter - Invalid URI |
| 404 | Record not found. No records matching the query parameters are found in the table. |
| Name | Description |
|---|---|
| committedDueDate | Date and time when the action must be performed on the order. This value must be the same as or later than the **committedDueDate** values for each order line item. Data type: String |
| expectedCompletionDate | Date on which the order is to be completed.Data type: String |
| externalId | External system identifier that links the product order to your source system or third-party application.Data type: String |
| href | Relative link to the resource record.Data type: String Default: Blank string |
| id | Sys\_id of the requested service order.Data type: String |
| note | Optional. List of additional notes made by the customer when ordering. Data type: Array ``` "note": [ { "author": "String", "date": "String", "text": "String" } ] ``` |
| note.author | User name of the person that authored the associated note.Data type: String |
| note.date | Date that the note was created.Data type: String |
| note.text | Additional notes/comments made by the customer while ordering. Data type: String |
| orderDate | Date and timestamp of the order.Format: YYYY-MM-DD HH:MM:SS Data type: String Default: Blank string |
| ponr | Flag that indicates whether the point of no return for the order has been reached.Valid values: - true: Point of no return for the order has been reached. The order can't be modified or canceled while fulfillment is in progress. - false: Point of no return for the order has not been reached. The order can be modified or canceled. Data type: Boolean |
| relatedParty | Optional. List of contacts for the order.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "name": "String", "@referredType": "String", "@type": "String" } ] ``` |
| relatedParty.id | Sys\_id or external\_id of the account, customer contact, or consumer associated with the order. Located in the Account \[customer\_account\], Contact \[customer\_contact\] table, or Consumer \[csm\_consumer\] table. Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Type of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| requestedCompletionDate | Optional. Delivery date requested by the customer. Data type: String |
| requestedStartDate | Optional. Order start date requested by the customer. Data type: String |
| serviceOrderItem | Required. List of line items in the service order and their associated action. Data type: Array ``` "serviceOrderItem:" [ { "action": "String", "actionReason": "String", "committedDueDate": "String", "externalProductInventory": [Array], "id": "String", "serviceOrderItemRelationship": [Array], "quantity": "Number", "place": {Object}, "ponr": Boolean, "relatedParty": {Object}, "service": {Object}, "state": "String", "@type": "String", "version": "String" } ] ``` |
| serviceOrderItem.action | Required. Action to perform on the service order item. Possible actions are defined on the Choice List tab in the Action Dictionary Entry field of the sn\_ind\_tmt\_orm\_order\_line\_item table. For details, see [Action types for customer and service orders](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/order-mgt-customer-order-types.md). Data type: String |
| serviceOrderItem.actionReason | Reason for adding the order line item.Data type: String Stored in: The action\_reason field of the sn\_ind\_tmt\_orm\_order\_line\_item table. |
| serviceOrderItem.committedDueDate | Optional. Optional. Date and time when the action must be performed on the order line item. Data type: String |
| serviceOrderItem.externalProductInventory | Conditional. List of external IDs mapped to the product inventories created for the order. If supplied, each entry requires **externalProductInventoryId**.Data type: Array of Objects ``` "externalProductInventory": [ { "externalProductInventoryId": "String" } ] ``` |
| serviceOrderItem.externalProductInventory.externalProductInventoryId | External ID mapped to the product inventory.Data type: String |
| serviceOrderItem.id | Required. Unique identifier of the line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String |
| serviceOrderItem.serviceOrderItemRelationship | Conditional. Item-level relationships. If supplied, each entry requires an **id** and **relationshipType**. Data type: Array ``` "serviceOrderItemRelationship:" [ { "id": "String", "relationshipType": "String" } ] ``` |
| serviceOrderItem.serviceOrderItemRelationship.id | Required. Unique identifier of the related line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String |
| serviceOrderItem.serviceOrderItemRelationship.relationshipType | Required. Type of relationship between the two line items. This information is used to identify the relationship hierarchy. Possible values: - HasChild - HasParent - Requires `HasChild` and `HasParent` are used for parent/child relationships. `Requires` is used for horizontal relationships \(a line item requires another line item\). Data type: String |
| serviceOrderItem.quantity | Number of line items ordered.Data type: Number |
| serviceOrderItem.place | Optional. Map of the locations on which to install the service. Requires **serviceOrderItem.place.id** if present.Data type: Object ``` "place:" { "id": "String", "@type": "String" } ``` |
| serviceOrderItem.place.id | Optional. Sys\_id of the associated location record in the Location \[cmn\_location\] table. When employing the change action on a product order item \(via the**productOrderItem.action** parameter\), updating the request with a new place sys\_id creates a move order, where the order is not changed but is fulfilled in a new location. Data type: String |
| serviceOrderItem.place.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `Place`. This information is not stored. Data type: String |
| serviceOrderItem.ponr | Flag that indicates whether the point of no return for the order line item has been reached. Valid values: - true: Point of no return for the order line item has been reached. The order line item can't be modified or canceled while fulfillment is in progress. - false: Point of no return for the order line item has not been reached. The order line item can be modified or canceled. Data type: Boolean |
| serviceOrderItem.relatedParty | Optional. List of contacts for line items. Data type: Array ``` "relatedParty:" [ { "email": "String", "firstName": "String" "id": "String", "lastName": "String", "phone": "String", "@referredType": "String", "@type": "String" } ] ``` |
| serviceOrderItem.relatedParty.email | Email address of the contact. Data type: String |
| serviceOrderItem.relatedParty.firstName | First name of the contact. Data type: String |
| serviceOrderItem.relatedParty.id | Required. Sys\_id of the line item contact associated with the order line item. Located in the Order Line Item Contact \[sn\_ind\_tmt\_orm\_order\_line\_item\_contact\] table. Data type: String |
| serviceOrderItem.relatedParty.lastName | Last name of the contact. Data type: String |
| serviceOrderItem.relatedParty.phone | Business phone number of the contact. Data type: String |
| serviceOrderItem.relatedParty.@referredType | Required. Type of customer. Possible value: OrderLineItemContact Data type: String |
| serviceOrderItem.relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| serviceOrderItem.service | Required. Required. Description of the instance details of the service purchased by the customer. Data type: Object ``` "service:" { "serviceCharacteristic": [Array], "serviceRelationship": [Array], "serviceSpecification": {Object}, "serviceType": "String", "state": "String", "@type": "String" } ``` |
| serviceOrderItem.service.serviceCharacteristic | Conditional. If supplied, each entry requires **serviceOrderItem.service.serviceCharacteristic**. List that describes the characteristics of the associated service. Only service characteristics with a current **value** different from the **previousValue** are returned. Data type: Array of Objects ``` "serviceCharacteristic:" [ { "name": "String", "previousValue": "String", "value": "String", "valueType": "String" } ] ``` |
| serviceOrderItem.service.serviceCharacteristic.value | Characteristic option values associated with the service. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.valueType | Type of characteristic value.Possible values: - Array.Date - Array.Datetime - Array.Decimal - Array.Integer - Array.Object - Array.Single Line Test - Checkbox - Choice - Date, Address - Email - Integer, Date/Time - Object - Single Line Text - Yes/No Data type: String |
| serviceOrderItem.service.serviceRelationship | List of product inventories related to the service.Data type: Array of Objects ``` "serviceRelationship": [ { "id": "String", "relationshipType": "String" } ] ``` |
| serviceOrderItem.service.serviceRelationship.id | Sys\_id or sn\_prd\_invt\_external\_id of the product inventory.Data type: String Table: In the sys\_id or sn\_prd\_invt\_external\_id field of the Product Inventory \[sn\_prd\_invt\_product\_inventory\] table. |
| serviceOrderItem.service.serviceRelationship.relationshipType | Type of relationship between the service and the product inventory. Possible value: Requires Data type: String |
| serviceOrderItem.service.serviceSpecification | Conditional. When supplied, **serviceSpecification.id** is required. Description of the service specification associated with the service. Data type: Object ``` "serviceSpecification:" { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String", "@type": "String" } ``` |
| serviceOrderItem.service.serviceSpecification.id | Required when **serviceSpecification** is present. Initial\_version or external\_id of the service specification. The initial\_version is the sys\_id of the first version of the specification. Located in the sys\_id or external\_id field of the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.internalId | Initial version of the service specification.Data type: String Table: In the sys\_id field of the Service Specification \[sn\_prd\_pm\_service\_specification\] table. |
| serviceOrderItem.service.serviceSpecification.internalVersion | Version of the service specification.Data type: String Table: Service Specification \[sn\_prd\_pm\_service\_specification\] |
| serviceOrderItem.service.serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.version | External\_version of the service specification.Data type: String Table: Service Specification \[sn\_prd\_pm\_service\_specification\] |
| serviceOrderItem.service.serviceSpecification.@type | Part of the TMF Open API standard. This value is always `ServiceSpecificationRef`. This information is not stored. Data type: String |
| serviceOrderItem.service.serviceType | Service type.Data type: String |
| serviceOrderItem.service.state | State of the sold product. For example, new.Data type: String |
| serviceOrderItem.state | State of the service order item. For example, new.Data type: String |
| serviceOrderItem.version | Service order line item version.Data type: String |
| serviceOrderItem.@type | Part of the TMF Open API standard. This value is always `ServiceOrderItem`. This information is not stored.Data type: String |
| state | State of the service order. For more information, see[Service order states](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/service-order-mgt-state-values.md).Data type: String |
| @type | Part of the TMF Open API standard. This value is always `ServiceOrder`. This information is not stored.Data type: String |
| Name | Description |
|---|---|
| id | Sys\_id of the service order to retrieve.Data type: String Table: Order \[sn\_ind\_tmt\_orm\_order\] |
| Status code | Description |
|---|---|
| 200 | Request successfully processed. Full resource returned in response \(no pagination\). The response returns successful with an error message if the selected order has processing issues. - A 200 OK response happens if the order is in the Inbound Queue \[sn\_tmt\_core\_inbound\_queue\] table waiting for the scheduler to pick the record to be processed. The error message field includes details for the record. For example: ``` { "code": 102, "reason": "Request in queue", "message": "Request in queue", "details": [ { "message": "This Order is still in the inbound queue table waiting to be processed.", "datapath": "" } ] } ``` - A 200 OK response happens if an order creation fails and the record in the Inbound Queue \[sn\_tmt\_core\_inbound\_queue\] table is in an error state. The error message field includes details in for the inbound queue table record. For example: ``` { "code": 23, "reason": "Missing body field", "message": "Missing body field", "details": [ { "message": "Invalid payload: orderCurrency is missing", "datapath": "/" } ] } ``` |
| 400 | Bad request. Possible reasons:- Missing query parameter - Invalid URI |
| 404 | Not found. The requested item wasn't found. |
| Name | Description |
|---|---|
| committedDueDate | Date and time when the action must be performed on the order. This value must be the same as or later than the **committedDueDate** values for each order line item. Data type: String |
| expectedCompletionDate | Date on which the order is to be completed.Data type: String |
| externalId | External system identifier that links the product order to your source system or third-party application.Data type: String |
| id | Sys\_id of the requested service order.Data type: String |
| href | Relative link to the resource record.Data type: String Default: Blank string |
| note | Optional. List of additional notes made by the customer when ordering. Data type: Array ``` "note": [ { "author": "String", "date": "String", "text": "String" } ] ``` |
| note.author | User name of the person that authored the associated note.Data type: String |
| note.date | Date that the note was created.Data type: String |
| note.text | Additional notes/comments made by the customer while ordering. Data type: String |
| orderDate | Date and timestamp of the order.Format: YYYY-MM-DD HH:MM:SS Data type: String Default: Blank string |
| ponr | Flag that indicates whether the point of no return for the order has been reached.Valid values: - true: Point of no return for the order has been reached. The order can't be modified or canceled while fulfillment is in progress. - false: Point of no return for the order has not been reached. The order can be modified or canceled. Data type: Boolean |
| relatedParty | Optional. List of contacts for the order.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "name": "String", "@referredType": "String", "@type": "String" } ] ``` |
| relatedParty.id | Required. Sys\_id or external\_id of the account, customer contact, or consumer associated with the order. Located in the Account \[customer\_account\], Contact \[customer\_contact\] table, or Consumer \[csm\_consumer\] table. Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Required. Type of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| requestedCompletionDate | Optional. Delivery date requested by the customer. Data type: String |
| requestedStartDate | Optional. Order start date requested by the customer. Data type: String |
| re | Required. List of line items in the service order and their associated action. Data type: Array ``` "serviceOrderItem:" [ { "action": "String", "actionReason": "String", "committedDueDate": "String", "externalProductInventory": [Array], "id": "String", "serviceOrderItemRelationship": [Array], "quantity": "Number", "place": {Object}, "ponr": Boolean, "relatedParty": {Object}, "service": {Object}, "state": "String", "@type": "String", "version": "String" } ] ``` |
| serviceOrderItem.action | Required. Action to perform on the service order item. Possible actions are defined on the Choice List tab in the Action Dictionary Entry field of the sn\_ind\_tmt\_orm\_order\_line\_item table. For details, see [Action types for customer and service orders](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/order-mgt-customer-order-types.md) Data type: String |
| serviceOrderItem.actionReason | Reason for adding the order line item.Data type: String Stored in: The action\_reason field of the sn\_ind\_tmt\_orm\_order\_line\_item table. |
| serviceOrderItem.committedDueDate | Optional. Optional. Date and time when the action must be performed on the order line item. Data type: String |
| serviceOrderItem.externalProductInventory | Conditional. List of external IDs mapped to the product inventories created for the order. If supplied, each entry requires **externalProductInventoryId**.Data type: Array of Objects ``` "externalProductInventory": [ { "externalProductInventoryId": "String" } ] ``` |
| serviceOrderItem.externalProductInventory.externalProductInventoryId | External ID mapped to the product inventory.Data type: String |
| serviceOrderItem.id | Required. Unique identifier of the line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String |
| serviceOrderItem.serviceOrderItemRelationship | Conditional. Item-level relationships. If supplied, each entry requires an **id** and **relationshipType**. Data type: Array of Objects ``` "serviceOrderItemRelationship:" [ { "id": "String", "relationshipType": "String" } ] ``` |
| serviceOrderItem.serviceOrderItemRelationship.id | Required. Unique identifier of the related line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String |
| serviceOrderItem.serviceOrderItemRelationship.relationshipType | Required. Type of relationship between the two line items. This information is used to identify the relationship hierarchy. Possible values: - HasChild - HasParent - Requires `HasChild` and `HasParent` are used for parent/child relationships. `Requires` is used for horizontal relationships \(a line item requires another line item\). Data type: String |
| serviceOrderItem.quantity | Number of line items ordered.Data type: Number |
| serviceOrderItem.place | Optional. Map of the locations on which to install the service. Requires **serviceOrderItem.place.id** if present.Data type: Object ``` "place:" { "id": "String", "@type": "String" } ``` |
| serviceOrderItem.place.id | Sys\_id of the associated location record in the Location \[cmn\_location\] table. When employing the change action on a product order item \(via the**productOrderItem.action** parameter\), updating the request with a new place sys\_id creates a move order, where the order is not changed but is fulfilled in a new location. Data type: String |
| serviceOrderItem.place.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `Place`. This information is not stored. Data type: String |
| serviceOrderItem.ponr | Flag that indicates whether the point of no return for the order line item has been reached.Valid values: - true: Point of no return for the order line item has been reached. The order line item can't be modified or canceled while fulfillment is in progress. - false: Point of no return for the order line item has not been reached. The order line item can be modified or canceled. Data type: Boolean |
| serviceOrderItem.relatedParty | Optional. List of contacts for line items. Data type: Array ``` "relatedParty:" { "email": "String", "firstName": "String" "id": "String", "lastName": "String", "phone": "String", "@referredType": "String", "@type": "String" } ``` |
| serviceOrderItem.relatedParty.email | Email address of the contact. Data type: String |
| serviceOrderItem.relatedParty.firstName | First name of the contact. Data type: String |
| serviceOrderItem.relatedParty.id | Required. Sys\_id of the line item contact associated with the order line item. Located in the Order Line Item Contact \[sn\_ind\_tmt\_orm\_order\_line\_item\_contact\] table. Data type: String |
| serviceOrderItem.relatedParty.lastName | Last name of the contact. Data type: String |
| serviceOrderItem.relatedParty.phone | Business phone number of the contact. Data type: String |
| serviceOrderItem.relatedParty.@referredType | Required. Type of customer. Possible value: OrderLineItemContact Data type: String |
| serviceOrderItem.relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| serviceOrderItem.service | Required. Description of the instance details of the service purchased by the customer. Data type: Object ``` "service:" { "serviceCharacteristic": [Array], "serviceRelationship": [Array], "serviceSpecification": {Object}, "serviceType": "String", "state": "String", "@type": "String" } ``` |
| serviceOrderItem.service.serviceCharacteristic | Conditional. If supplied, each entry requires **serviceOrderItem.service.serviceCharacteristic**. List that describes the characteristics of the associated service. Only service characteristics with a current **value** different from the **previousValue** are returned. Data type: Array ``` "serviceCharacteristic:" [ { "name": "String", "previousValue": "String", "value": "String", "valueType": "String" } ] ``` |
| serviceOrderItem.service.serviceCharacteristic.name | Required for each characteristic entry. Name of the characteristic record to associated with the service. Located in the Characteristic \[sn\_prd\_pm\_characteristic\] table. Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order\_characteristic\_value/characteristics |
| serviceOrderItem.service.serviceCharacteristic.previousValue | Previous characteristic option values if the update is for change order. The request is a change order if the **serviceOrderItem.action** parameter is other than `add`. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.value | Characteristic option values associated with the service. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.valueType | Type of characteristic value.Possible values: - Array.Date - Array.Datetime - Array.Decimal - Array.Integer - Array.Object - Array.Single Line Test - Checkbox - Choice - Date, Address - Email - Integer, Date/Time - Object - Single Line Text - Yes/No Data type: String |
| serviceOrderItem.service.serviceRelationship | List of product inventories related to the service.Data type: Array of Objects ``` "serviceRelationship": [ { "id": "String", "relationshipType": "String" } ] ``` |
| serviceOrderItem.service.serviceRelationship.id | Sys\_id or sn\_prd\_invt\_external\_id of the product inventory.Data type: String Table: In the sys\_id or sn\_prd\_invt\_external\_id field of the Product Inventory \[sn\_prd\_invt\_product\_inventory\] table. |
| serviceOrderItem.service.serviceRelationship.relationshipType | Type of relationship between the service and the product inventory. Possible value: Requires Data type: String |
| serviceOrderItem.service.serviceSpecification | Conditional. When supplied, **serviceSpecification.id** is required. Description of the service specification associated with the service. Data type: Object ``` "serviceSpecification:" { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String", "@type": "String" } ``` |
| serviceOrderItem.service.serviceSpecification.id | Required when **serviceSpecification** is present. Initial\_version or external\_id of the service specification. The initial\_version is the sys\_id of the first version of the specification. Located in the sys\_id or external\_id field of the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.internalId | Initial version of the service specification.Data type: String Table: In the sys\_id field of the Service Specification \[sn\_prd\_pm\_service\_specification\] table. |
| serviceOrderItem.service.serviceSpecification.internalVersion | Version of the service specification.Data type: String Table: Service Specification \[sn\_prd\_pm\_service\_specification\] |
| serviceOrderItem.service.serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.version | External\_version of the service specification.Data type: String Table: Service Specification \[sn\_prd\_pm\_service\_specification\] |
| serviceOrderItem.service.serviceSpecification.@type | Part of the TMF Open API standard. This value is always `ServiceSpecificationRef`. This information is not stored. Data type: String |
| serviceOrderItem.service.serviceType | Service type.Data type: String |
| serviceOrderItem.service.state | State of the sold product. For example, new.Data type: String |
| serviceOrderItem.state | State of the service order item. For example, new.Data type: String |
| serviceOrderItem.version | Service order line item version.Data type: String |
| serviceOrderItem.@type | Part of the TMF Open API standard. This value is always `ServiceOrderItem`. This information is not stored.Data type: String |
| state | State of the service order. For more information, see[Service order states](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/service-order-mgt-state-values.md).Data type: String |
| @type | Part of the TMF Open API standard. This value is always `ServiceOrder`. This information is not stored.Data type: String |
| Name | Description |
|---|---|
| id | Sys\_id of the customer order to update.Data type: String Table: Customer Order \[sn\_ind\_tmt\_orm\_order\] |
| Name | Description |
|---|---|
| committedDueDate | Date and time when the action must be performed on the order.This value must be the same as or later than the **committedDueDate** values for each order line item. If the action for order line items is `suspend` or `resume`, this parameter can't be updated. Data type: String Stored in: The committed\_due\_date field of the sn\_ind\_tmt\_orm\_order table. |
| description | Optional. Brief details about the given service order.Data type: String |
| externalId | Optional. Unique order number for the external service order. Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order |
| note | Optional. List of additional notes made by the customer when ordering. Data type: Array of Objects ``` "note": [ { "text": "String" } ] ``` Stored in: sn\_ind\_tmt\_orm\_order |
| note.text | Additional notes/comments made by the customer while ordering. Data type: String Stored in: The comments field of the sn\_ind\_tmt\_orm\_order table. Default: Blank string |
| relatedParty | List of contacts for the order. Each contact is an object in the array. The request must list at least one item which contains customer account or consumer account information.Data type: Array ``` "relatedParty": [ { "id": "String", "name": "String", "@referredType": "String", "@type": "String" } ] ``` |
| relatedParty.id | Required. Sys\_id or external\_id of the account, customer contact, or consumer associated with the order.Data type: String Table: Account \[customer\_account\] table, Contact \[customer\_contact\] table, or Consumer \[csm\_consumer\] Table updated: sn\_ind\_tmt\_orm\_order |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Required. Type of customer. Possible values: - Consumer - Customer - CustomerContact Data type: String |
| relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| requestedCompletionDate | Optional. Delivery date requested by the customer. Data type: String Stored in: The expected\_end\_date field of the sn\_ind\_tmt\_orm\_order table. Default: Blank string |
| requestedStartDate | Optional. Order start date requested by the customer. Data type: String Stored in: The expected\_start\_date field of the sn\_ind\_tmt\_orm\_order table. Default: Blank string |
| serviceOrderItem | Required. List of line items in the service order and their associated action. Data type: Array of Objects ``` "serviceOrderItem:" [ { "action": "String", "actionReason": "String", "committedDueDate": "String", "externalProductInventory": [Array], "id": "String", "serviceOrderItemRelationship": [Array], "place": {Object}, "quantity": "Number", "relatedParty": {Object}, "service": {Object}, "@type": "String", "version": "String" } ] ``` Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item |
| serviceOrderItem.action | Required. Required. Action to perform on the service order item. Possible actions are defined on the Choice List tab in the Action Dictionary Entry field of the sn\_ind\_tmt\_orm\_order\_line\_item table. Possible values: - add - change - delete - no-change - resume - suspend For details, see [Action types for customer and service orders](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/order-mgt-customer-order-types.md). Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item/action |
| serviceOrderItem.actionReason | Optional. Description of the reason for the line item. Data type: String Table/field updated: Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table/action\_reason. |
| serviceOrderItem.committedDueDate | Date and time when the action must be performed on the order line item.If the action for the item is `suspend` or `resume`, this parameter can't be updated. Data type: String Stored in: The committed\_due\_date field of the sn\_ind\_tmt\_orm\_order\_line\_item table. |
| serviceOrderItem.externalProductInventory | Conditional. If supplied, each entry requires **externalProductInventoryId**. List of external IDs to map to the product inventories created for the order. Data type: Array of Objects ``` "externalProductInventory": [ { "externalProductInventoryId": "String" } ] ``` **Note:** Previously, when creating a PATCH order with an external product inventory ID that already existed, the operation was aborted and returned an error. With the Xanadu release, this parameter is simply ignored when an existing external product inventory ID is supplied and an error is not thrown. |
| serviceOrderItem.externalProductInventory.externalProductInventoryId | External ID to map to the product inventory.Data type: String Stored in: The external\_inventory\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table and the sn\_prd\_invt\_external\_id field of the sn\_prd\_invt\_product\_inventory table. |
| serviceOrderItem.id | Required. Unique identifier of the line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item/external\_id |
| serviceOrderItem.serviceOrderItemRelationship | Conditional. Item-level relationships. If supplied, each entry requires an **id** and **relationshipType**.Data type: Array of Objects ``` "serviceOrderItemRelationship:" [ { "id": "String", "relationshipType": "String" } ] ``` Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item |
| serviceOrderItem.serviceOrderItemRelationship.id | Required. Unique identifier of the related line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item/parent\_line\_item or sn\_ind\_tmt\_orm\_order\_line\_related\_items/related\_order\_line\_item |
| serviceOrderItem.serviceOrderItemRelationship.relationshipType | Required. Required. Type of relationship between the two line items. This information is used to identify the relationship hierarchy. Possible values: - HasChild - HasParent - Requires `HasChild` and `HasParent` are used for parent/child relationships. `Requires` is used for horizontal relationships \(a line item requires another line item\). Data type: String |
| serviceOrderItem.place | Optional. Map of the locations on which to install the service. Requires **serviceOrderItem.place.id** if present.Data type: Object ``` "place:" { "id": "String", "@type": "String" } ``` |
| serviceOrderItem.place.id | Required. Sys\_id of the associated location record in the Location \[cmn\_location\] table. When employing the change action on a product order item \(via the**productOrderItem.action** parameter\), updating the request with a new place sys\_id creates a move order, where the order is not changed but is fulfilled in a new location. Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item/location |
| serviceOrderItem.place.@type | Part of TMF Open API standard. Annotation for order line item place.Data type: String |
| serviceOrderItem.quantity | Sets the number of line items to order.This property is only applicable when adding a service order; that is, the value of the **action** property is `add`. Data type: Number Default: Empty string Table/field updated: sn\_ind\_tmt\_orm\_order/quantity |
| serviceOrderItem.relatedParty | Optional. List of contacts for line items. Data type: Array ``` "relatedParty:" { "email": "String", "firstName": "String", "lastName": "String", "phone": "String", "@referredType": "String", "@type": "String" } ``` |
| serviceOrderItem.relatedParty.email | Email address of the contact. Data type: String |
| serviceOrderItem.relatedParty.firstName | First name of the contact. Data type: String |
| serviceOrderItem.relatedParty.lastName | Last name of the contact. Data type: String |
| serviceOrderItem.relatedParty.phone | Business phone number of the contact. Data type: String |
| serviceOrderItem.relatedParty.@referredType | Required. Type of customer. Possible value: OrderLineItemContact Data type: String |
| serviceOrderItem.relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| serviceOrderItem.service | Required. Description of the instance details of the service purchased by the customer. Data type: Object ``` "service:" { "id": "String", "serviceCharacteristic": [Array], "serviceRelationship": [Array], "serviceSpecification": {Object}, "@type": "String" } ``` Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item |
| serviceOrderItem.service.id | Unique identifier of the service sold. This value can be the sys\_id or external ID in the Product Inventory \[sn\_ind\_tmt\_orm\_product\_inventory\] table. This value is only used for change/disconnect orders.Data type: String |
| serviceOrderItem.service.serviceCharacteristic | Conditional. If supplied, each entry requires **serviceOrderItem.service.serviceCharacteristic**. List that describes the characteristics of the associated service. Only service characteristics with a current **value** different from the **previousValue** are returned. Data type: Array ``` "serviceCharacteristic:" [ { "name": "String", "previousValue": "String", "value": "String", "valueType": "String" } ] ``` |
| serviceOrderItem.service.serviceCharacteristic.name | Required for each characteristic entry. Name of the characteristic record to associated with the service. Located in the Characteristic \[sn\_prd\_pm\_characteristic\] table. Data type: String |
| serviceOrderItem.service.serviceCharacteristic.previousValue | Previous characteristic option values if the update is for change order. The request is a change order if the **serviceOrderItem.action** parameter is other than `add`. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.value | Characteristic option values associated with the service. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.valueType | Type of characteristic value.Possible values: - Array.Date - Array.Datetime - Array.Decimal - Array.Integer - Array.Object - Array.Single Line Test - Checkbox - Choice - Date, Address - Email - Integer, Date/Time - Object - Single Line Text - Yes/No Data type: String |
| serviceOrderItem.service.serviceSpecification | Required. Conditional. When supplied, **serviceSpecification.id** is required. Description of the service specification associated with the service. **Note:** Change orders \(**serviceOrderItem.action** is `change`\) are processed differently based on the value of the **sn\_ind\_tmt\_orm.allowSpecVersionUpdateInChangeOrder** system property. - When the property is set to true \(default\), if the service is a different version than indicated in the order, the service is automatically upgraded to the version in the order by changing the referenced service specification. This allows the order to be successfully processed. - When the property is set to false, if the service is a different version than indicated in the order, the order fails due to the version mismatch. Data type: Object ``` "serviceSpecification:" { "id": "String", "name": "String", "@type": "String" } ``` Stored in: The service\_specification field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. |
| serviceOrderItem.service.serviceSpecification.id | Required. Required when **serviceSpecification** is present. Initial\_version or external\_id of the service specification. The initial\_version is the sys\_id of the first version of the specification. Located in the sys\_id or external\_id field of the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.name | Required. Name of the service specification. Located in the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.@type | Part of the TMF Open API standard. This value is always `ServiceSpecificationRef`. This information is not stored. Data type: String |
| serviceOrderItem.@type | Part of the TMF Open API standard. This value is always `ServiceOrderItem`. This information is not stored. Data type: String |
| @type | Part of the TMF Open API standard. This value is always `ServiceOrder`. This information is not stored.Data type: String |
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 201 | Successful. If there are any issues with the characteristics or characteristics option information, the endpoint stores the following comments in the work notes fields of the associated Customer Order Line Item record: - `The following Order Item characteristics does not exist: Review specification <**specification.name**> and correct the characteristic and characteristic option in the order line item prior to approving the order.` - `Order Item characteristic: <**characteristic.name**> with characteristic value: <**characteristic.value**>is invalid. Correct the characteristic values before approving the order.` |
| 400 | Bad Request. Could be any of the following reasons:- `Invalid payload: Request body missing` - Payload was not passed in the request body. - `Invalid payload: serviceOrderItem is missing` - Service order line item object or JSON is missing. - `Invalid payload: serviceOrderItem id is missing` - The **id** parameter is missing in the service order line item of the payload. - `Invalid payload: serviceOrderItem action is missing` - The **action** parameter is missing in the service order line item of the payload. - `Invalid payload: serviceOrderItem serviceOffering is missing` - The service offering object or JSON is missing from the service order line item in the payload. - `Invalid payload: serviceOffering id is missing` - The **id** parameter is missing in the service order line item of the service offering object in the payload. - `Invalid payload: Service offering does not exist` - The service offering in the service order line item is not valid. - `Invalid payload: serviceOrderItem service is missing` - The service object or JSON in the service order line item is missing from the payload. - `Invalid payload: service serviceSpecification is missing` - The service specification object or JSON in the service order line item is missing from the payload. - `Invalid payload: serviceSpecification id is missing` - The **id** parameter in the service order line item of the service specification object is missing from the payload. - `Invalid payload: Service specification does not exist` - The service specification in the service order line item is not valid. - `Invalid payload: Service Inventory does not exist` - In a change order \(action = change\), the quantity of an item is greater than what is in stock. - `Invalid payload: Service inventory ID is missing` - In a change order, the **service.id** is missing in the payload. - `Invalid payload: Sold Service is inactive` - In a change order, a service specified in the payload is inactive. - `Invalid payload: relatedParty is missing` - The related party object is missing from the payload. - `Invalid payload: Customer Account or Consumer is missing` - The related party customer or consumer object is missing from the payload. - `Invalid payload: Customer Account does not exist` - The specified related party customer does not exist in the instance. - `Invalid payload: Consumer does not exist` - The specified related party consumer does not exist in the instance. - `Invalid payload: Order creation failed` - Not able to create the requested order. - `In-flight revision to order currency not supported` - The **orderCurrency** parameter can't be updated after the order is created. - `This order is yet to be created in customer order table. Please check in inbound queue for more details.` – The order ID provided is not in the customer order table. - `Patch request cannot be made as the order's fulfillment type is not 'deliver.` – The patch request was made on an order which has a fulfillment type other than deliver. |
| 404 | Not found. The requested item was not found. |
| Name | Description |
|---|---|
| committedDueDate | Optional. Date and time when the action must be performed on the order. This value must be the same as or later than the **committedDueDate** values for each order line item. Data type: String |
| externalId | Unique order number for the external service order. Data type: String |
| href | Relative link to the resource record.Data type: String Default: Blank string |
| id | Sys\_id of the service order.Data type: String |
| note | Optional. List of additional notes made by the customer when ordering. Data type: Array ``` "note": [ { "text": "String" } ] ``` |
| note.text | Additional notes/comments made by the customer while ordering. Data type: String |
| orderDate | Date and timestamp of the order.Format: YYYY-MM-DD HH:MM:SS Data type: String Default: Blank string |
| relatedParty | Optional. List of contacts for the order.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "name": "String", "@referredType": "String", "@type": "String" } ] ``` |
| relatedParty.id | Sys\_id or external\_id of the account, customer or consumer contact associated with the order. Located in the Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] table. Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Type of customer. Possible values: - Customer - CustomerContact - Consumer Data type: String |
| relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| requestedCompletionDate | Optional. Delivery date requested by the customer. Data type: String |
| requestedStartDate | Optional. Order start date requested by the customer. Data type: String |
| serviceOrderItem | Required. List of line items in the service order and their associated action. Data type: Array ``` "serviceOrderItem:" [ { "action": "String", "actionReason": "String", "committedDueDate": "String", "externalProductInventory": [Array], "id": "String", "serviceOrderItemRelationship": [Array], "place": {Object}, "quantity": "Number", "relatedParty": {Object}, "service": {Object}, "@type": "String", "version": "String" } ] ``` |
| serviceOrderItem.action | Required. Action to perform on the service order item. Possible actions are defined on the Choice List tab in the Action Dictionary Entry field of the sn\_ind\_tmt\_orm\_order\_line\_item table. Possible values: - add - change - delete For details, see [Action types for customer and service orders](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/order-mgt-customer-order-types.md). Data type: String |
| serviceOrderItem.actionReason | Reason for adding the order line item.Data type: String Stored in: The action\_reason field of the sn\_ind\_tmt\_orm\_order\_line\_item table. |
| serviceOrderItem.committedDueDate | Optional. Date and time when the action must be performed on the order line item. Data type: String |
| serviceOrderItem.externalProductInventory | Conditional. If supplied, each entry requires **externalProductInventoryId**. List of external IDs to map to the product inventories created for the order. Data type: Array of Objects ``` "externalProductInventory": [ { "externalProductInventoryId": "String" } ] ``` **Note:** Previously, when creating a PATCH order with an external product inventory ID that already existed, the operation was aborted and returned an error. With the Xanadu release, this parameter is simply ignored when an existing external product inventory ID is supplied and an error is not thrown. |
| serviceOrderItem.externalProductInventory.externalProductInventoryId | External ID mapped to the product inventory.Data type: String |
| serviceOrderItem.id | Unique identifier of the line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String |
| serviceOrderItem.serviceOrderItemRelationship | Conditional. Item-level relationships. If supplied, each entry requires an **id** and **relationshipType**. Data type: Array ``` "serviceOrderItemRelationship:" [ { "id": "String", "relationshipType": "String" } ] ``` |
| serviceOrderItem.serviceOrderItemRelationship.id | Required. Unique identifier of the related line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String |
| serviceOrderItem.serviceOrderItemRelationship.relationshipType | Required. Type of relationship between the two line items. This information is used to identify the relationship hierarchy. Possible values: - HasChild - HasParent - Requires `HasChild` and `HasParent` are used for parent/child relationships. `Requires` is used for horizontal relationships \(a line item requires another line item\). Data type: String |
| serviceOrderItem.place | Optional. Map of the locations on which to install the service. Requires **serviceOrderItem.place.id** if present.Data type: Object ``` "place:" { "id": "String", "@type": "String" } ``` |
| serviceOrderItem.place.id | Sys\_id of the associated location record in the Location \[cmn\_location\] table. When employing the change action on a product order item \(via the**productOrderItem.action** parameter\), updating the request with a new place sys\_id creates a move order, where the order is not changed but is fulfilled in a new location. Data type: String |
| serviceOrderItem.place.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `Place`. This information is not stored. Data type: String |
| serviceOrderItem.quantity | Number of line items ordered.Data type: Number |
| serviceOrderItem.relatedParty | Optional. List of contacts for line items. Data type: Array ``` "relatedParty:" { "email": "String", "firstName": "String", "lastName": "String", "phone": "String", "@referredType": "String", "@type": "String" } ``` |
| serviceOrderItem.relatedParty.email | Email address of the contact. Data type: String |
| serviceOrderItem.relatedParty.firstName | First name of the contact. Data type: String |
| serviceOrderItem.relatedParty.lastName | Last name of the contact. Data type: String |
| serviceOrderItem.relatedParty.phone | Business phone number of the contact. Data type: String |
| serviceOrderItem.relatedParty.@referredType | Type of customer. Possible value: OrderLineItemContact Data type: String |
| serviceOrderItem.relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| serviceOrderItem.service | Required. Description of the instance details of the service purchased by the customer. Data type: Object ``` "service:" { "id": "String", "serviceCharacteristic": [Array], "serviceRelationship": [Array], "serviceSpecification": {Object}, "@type": "String" } ``` |
| serviceOrderItem.service.id | Unique identifier of the service sold. This value can be the sys\_id or external ID in the Product Inventory \[sn\_ind\_tmt\_orm\_product\_inventory\] table. This value is only returned for change/disconnect orders.Data type: String |
| serviceOrderItem.service.serviceCharacteristic | Conditional. If supplied, each entry requires **serviceOrderItem.service.serviceCharacteristic**. List that describes the characteristics of the associated service. Only service characteristics with a current **value** different from the **previousValue** are returned. Data type: Array ``` "serviceCharacteristic:" [ { "name": "String", "previousValue": "String", "value": "String", "valueType": "String" } ] ``` |
| serviceOrderItem.service.serviceCharacteristic.name | Required for each characteristic entry. Name of the characteristic record to associated with the service. Located in the Characteristic \[sn\_prd\_pm\_characteristic\] table. Data type: String |
| serviceOrderItem.service.serviceCharacteristic.previousValue | Previous characteristic option values if the update is for change order. The request is a change order if the **serviceOrderItem.action** parameter is other than `add`. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.value | Characteristic option values associated with the service. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.valueType | Type of characteristic value.Possible values: - Array.Date - Array.Datetime - Array.Decimal - Array.Integer - Array.Object - Array.Single Line Test - Checkbox - Choice - Date, Address - Email - Integer, Date/Time - Object - Single Line Text - Yes/No Data type: String |
| serviceOrderItem.service.serviceSpecification | Conditional. When supplied, **serviceSpecification.id** is required. Description of the service specification associated with the service. Data type: Object ``` "serviceSpecification:" { "id": "String", "name": "String", "@type": "String" } ``` |
| serviceOrderItem.service.serviceSpecification.id | Required when **serviceSpecification** is present. Initial\_version or external\_id of the service specification. The initial\_version is the sys\_id of the first version of the specification. Located in the sys\_id or external\_id field of the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.@type | Part of the TMF Open API standard. This value is always `ServiceSpecificationRef`. This information is not stored. Data type: String |
| serviceOrderItem.@type | Part of the TMF Open API standard. This value is always `ServiceOrderItem`. This information is not stored.Data type: String |
| state | State of the service order. For more information, see[Service order states](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/service-order-mgt-state-values.md).Data type: String |
| Name | Description |
|---|---|
| cancellationReason | Reason for cancellation.Data type: String Default: Blank string |
| serviceOrder | Data about the service order.Data type: Object ``` "serviceOrder": { "id": "String", "href": "String", "@referredType": "String" } ``` |
| serviceOrder.id | Required. Sys\_id of the customer order to cancel.Data type: String Table: Customer Order \[sn\_ind\_tmt\_orm\_order\] |
| serviceOrder.href | URL of the customer order to cancel.Data type: String Default: Blank string |
| serviceOrder.@referredType | Value for this parameter should be `ServiceOrder`.Data type: String Default: Blank string |
| requestedCancellationDate | Optional. Date to cancel the order.Data type: String Default: Blank string |
| @type | Value for this parameter should be `CancelServiceOrder`.Data type: String Default: Blank string |
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 400 | Bad Request. Could be any of the following reasons:- Empty payload. - Invalid payload. Mandatory field missing: <field name>. - Invalid order ID. - Invalid order ID: `This order is yet to be created in customer order table`. The cancel request was made for an order that has not been created yet. The order is in the Inbound Queue \[sn\_tmt\_core\_inbound\_queue\] table waiting for the scheduler to pick up the record. |
| Name | Description |
|---|---|
| cancellationReason | Reason for cancellation.Data type: String |
| id | Sys\_id of the cancelled order.Data type: String |
| serviceOrder | Data about the service order.Data type: Object ``` "serviceOrder": { "id": "String", "@referredType": "String" } ``` |
| serviceOrder.id | Sys\_id of the cancelled order.Data type: String |
| serviceOrder.@referredType | Value for this parameter is `ServiceOrder`.Data type: String |
| requestedCancellationDate | Date to cancel the order.Data type: String |
| state | State of the cancellation. If the cancellation request was successfully processed \(201 status code\), the value for this parameter is `done`.Data type: String |
| @type | Value for this parameter is `CancelServiceOrder`.Data type: String |
| Name | Description |
|---|---|
| mode | Enables asynchronous order processing. That is, the order is added to the Inbound Queue \[sn\_tmt\_core\_inbound\_queue\] table to be created. If not included, the order is processed synchronously.Valid value: async Data type: String |
| Name | Description |
|---|---|
| committedDueDate | Date and time when the action must be performed on the order. This value must be the same as or later than the **committedDueDate** values for each order line item. Data type: String Stored in: The committed\_due\_date field of the sn\_ind\_tmt\_orm\_order table. |
| disableCharValueValidation | Flag that indicates how to control characteristic value validation behavior for choice-type characteristics.Valid values: - true: Validation is disabled and `characteristic_option_value` is set directly from the request payload without generating work notes. - false: Validates characteristic values against allowed choices and adds a work note to the record for any invalid value. Default: false The system property, `sn_ind_tmt_orm.disableCharValueValidation`, allows you to revert to pre-fix behavior when needed. The property isn't shipped by default. To disable validation, create a system property named s`n_ind_tmt_orm.disableCharValueValidation` and set the value to `true`. When disabled, the value is set directly from the request payload and no work notes are generated. |
| externalId | Optional. Unique order number for the external service order. Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order |
| href | Relative link to the resource record.Data type: String Default: Blank string |
| note | Optional. List of additional notes made by the customer when ordering. Data type: Array of Objects ``` "note": [ { "text": "String" } ] ``` Stored in: sn\_ind\_tmt\_orm\_order |
| note.text | Additional notes/comments made by the customer while ordering. Data type: String Stored in: The comments field of the sn\_ind\_tmt\_orm\_order table. Default: Blank string |
| orderDate | Date and timestamp of the order.Format: YYYY-MM-DD HH:MM:SS Data type: String Default: Blank string |
| relatedParty | Optional. List of contacts for the order. Each contact is an object in the array. The request must list at least one item which contains customer account or consumer account information.Data type: Array ``` "relatedParty": [ { "id": "String", "name": "String", "@referredType": "String", "@type": "String" } ] ``` |
| relatedParty.id | Required. Sys\_id or external\_id of the account, customer contact, or consumer associated with the order.Data type: String Table: Account \[customer\_account\] table, Contact \[customer\_contact\] table, or Consumer \[csm\_consumer\] Table updated: sn\_ind\_tmt\_orm\_order |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Required. Type of customer. Possible values: - Customer - CustomerContact - Consumer Data type: String |
| relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| requestedCompletionDate | Optional. Delivery date requested by the customer. Data type: String Stored in: The expected\_end\_date field of the sn\_ind\_tmt\_orm\_order table. Default: Blank string |
| requestedStartDate | Optional. Order start date requested by the customer. Data type: String Stored in: The expected\_start\_date field of the sn\_ind\_tmt\_orm\_order table. Default: Blank string |
| serviceOrderItem | Required. List of line items in the service order and their associated action. Data type: Array of Objects ``` "serviceOrderItem:" [ { "action": "String", "actionReason": "String", "committedDueDate": "String", "externalProductInventory": [Array], "id": "String", "serviceOrderItemRelationship": [Array], "place": {Object}, "quantity": "Number", "relatedParty": {Object}, "service": {Object}, "@type": "String", "version": "String" } ] ``` Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item |
| serviceOrderItem.action | Required. Required. Action to perform on the service order item. Possible actions are defined on the Choice List tab in the Action Dictionary Entry field of the sn\_ind\_tmt\_orm\_order\_line\_item table. Possible values: - add - change - delete - no-change - resume - suspend For details, see [Action types for customer and service orders](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/order-mgt-customer-order-types.md). Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item/action Default: add |
| ServiceOrderItem.actionReason | Optional. Description of the reason for the line item. Data type: String Table/field updated: Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table/action\_reason. |
| serviceOrderItem.committedDueDate | Optional. Date and time when the action must be performed on the order line item. Data type: String Stored in: The committed\_due\_date field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. |
| serviceOrderItem.externalProductInventory | Conditional. If supplied, each entry requires **externalProductInventoryId**. External IDs to map to the product inventories created for the order.Data type: Array of Objects ``` "externalProductInventory": [ { "externalProductInventoryId": "String" } ] ``` |
| serviceOrderItem.externalProductInventory.externalProductInventoryId | External ID to map to the product inventory.Data type: String Stored in: The external\_inventory\_id field of the sn\_ind\_tmt\_orm\_order\_line\_item table and the sn\_prd\_invt\_external\_id field of the sn\_prd\_invt\_product\_inventory table. |
| serviceOrderItem.id | Required. Unique identifier of the line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item/external\_id |
| serviceOrderItem.serviceOrderItemRelationship | Conditional. Item-level relationships. If supplied, each entry requires an **id** and **relationshipType**.Data type: Array of Objects ``` "serviceOrderItemRelationship:" [ { "id": "String", "relationshipType": "String" } ] ``` Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item |
| serviceOrderItem.serviceOrderItemRelationship.id | Required. Unique identifier of the related line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item/parent\_line\_item or sn\_ind\_tmt\_orm\_order\_line\_related\_items/related\_order\_line\_item |
| serviceOrderItem.serviceOrderItemRelationship.relationshipType | Required. Required. Type of relationship between the two line items. This information is used to identify the relationship hierarchy. Possible values: - HasChild - HasParent - Requires `HasChild` and `HasParent` are used for parent/child relationships. `Requires` is used for horizontal relationships \(a line item requires another line item\). Data type: String |
| serviceOrderItem.place | Optional. Map of the locations on which to install the service. Requires **serviceOrderItem.place.id** if present.Data type: Object ``` "place:" { "id": "String", "@type": "String" } ``` |
| serviceOrderItem.place.id | Required. Sys\_id of the associated location record in the Location \[cmn\_location\] table. When employing the change action on a product order item \(via the**productOrderItem.action** parameter\), updating the request with a new place sys\_id creates a move order, where the order is not changed but is fulfilled in a new location. Data type: String Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item/location Default: Blank string |
| serviceOrderItem.place.@type | Part of TMF Open API standard. Annotation for order line item place.Data type: String |
| serviceOrderItem.quantity | Sets the number of line items to order.This property is only applicable when adding a service order; that is, the value of the **action** property is `add`. Data type: Number Default: Empty string Table/field updated: sn\_ind\_tmt\_orm\_order/quantity |
| serviceOrderItem.relatedParty | Optional. List of contacts for line items. Data type: Array ``` "relatedParty:" { "email": "String", "firstName": "String", "lastName": "String", "phone": "String", "@referredType": "String", "@type": "String" } ``` |
| serviceOrderItem.relatedParty.email | Email address of the contact. Data type: String |
| serviceOrderItem.relatedParty.firstName | First name of the contact. Data type: String |
| serviceOrderItem.relatedParty.lastName | Last name of the contact. Data type: String |
| serviceOrderItem.relatedParty.phone | Business phone number of the contact. Data type: String |
| serviceOrderItem.relatedParty.@referredType | Required. Type of customer. Possible value: OrderLineItemContact Data type: String |
| serviceOrderItem.relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| serviceOrderItem.service | Required. Description of the instance details of the service purchased by the customer. Data type: Object ``` "service:" { "id": "String", "serviceCharacteristic": [Array], "serviceRelationship": [Array], "serviceSpecification": {Object}, "@type": "String" } ``` Table/field updated: sn\_ind\_tmt\_orm\_order\_line\_item |
| serviceOrderItem.service.id | Unique identifier of the service sold. This value can be the sys\_id or external ID in the Product Inventory \[sn\_ind\_tmt\_orm\_product\_inventory\] table. This value is only used for change/disconnect orders.Data type: String |
| serviceOrderItem.service.serviceCharacteristic | Conditional. If supplied, each entry requires **serviceOrderItem.service.serviceCharacteristic**. List that describes the characteristics of the associated service. Only service characteristics with a current **value** different from the **previousValue** are returned. Data type: Array ``` "serviceCharacteristic:" [ { "name": "String", "previousValue": "String", "value": "String", "valueType": "String" } ] ``` |
| serviceOrderItem.service.serviceCharacteristic.name | Required for each characteristic entry. Name of the characteristic record to associated with the service. Located in the Characteristic \[sn\_prd\_pm\_characteristic\] table. Data type: String |
| serviceOrderItem.service.serviceCharacteristic.previousValue | Previous characteristic option values if the update is for change order. The request is a change order if the **serviceOrderItem.action** parameter is other than `add`. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.value | Characteristic option values associated with the service. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.valueType | Type of characteristic value.Possible values: - Array.Date - Array.Datetime - Array.Decimal - Array.Integer - Array.Object - Array.Single Line Test - Checkbox - Choice - Date, Address - Email - Integer, Date/Time - Object - Single Line Text - Yes/No Data type: String |
| serviceOrderItem.service.serviceRelationship | List of product inventories related to the service.Data type: Array of Objects ``` "serviceRelationship": [ { "id": "String", "relationshipType": "String" } ] ``` |
| serviceOrderItem.service.serviceRelationship.id | Sys\_id or sn\_prd\_invt\_external\_id of the product inventory.Data type: String Table: In the sys\_id or sn\_prd\_invt\_external\_id field of the Product Inventory \[sn\_prd\_invt\_product\_inventory\] table. |
| serviceOrderItem.service.serviceRelationship.relationshipType | Type of relationship between the service and the product inventory. Possible value: Requires Data type: String |
| serviceOrderItem.service.serviceSpecification | Conditional. When supplied, **serviceSpecification.id** is required. Description of the service specification associated with the service. **Note:** Change orders \(**serviceOrderItem.action** is `change`\) are processed differently based on the value of the **sn\_ind\_tmt\_orm.allowSpecVersionUpdateInChangeOrder** system property. - When the property is set to true \(default\), if the service is a different version than indicated in the order, the service is automatically upgraded to the version in the order by changing the referenced service specification. This allows the order to be successfully processed. - When the property is set to false, if the service is a different version than indicated in the order, the order fails due to the version mismatch. Data type: Object ``` "serviceSpecification:" { "id": "String", "internalVersion": "String", "name": "String", "version": "String", "@type": "String" } ``` Stored in: The service\_specification field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. |
| serviceOrderItem.service.serviceSpecification.id | Required when **serviceSpecification** is present. Initial\_version or external\_id of the service specification. The initial\_version is the sys\_id of the first version of the specification. Located in the sys\_id or external\_id field of the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.internalVersion | Version of the service specification.Data type: String Table: Service Specification \[sn\_prd\_pm\_service\_specification\] |
| serviceOrderItem.service.serviceSpecification.name | Required. Name of the service specification. Located in the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.version | External\_version of the service specification.Data type: String Table: Service Specification \[sn\_prd\_pm\_service\_specification\] |
| serviceOrderItem.service.serviceSpecification.@type | Part of the TMF Open API standard. This value is always `ServiceSpecificationRef`. This information is not stored. Data type: String |
| serviceOrderItem.@type | Part of the TMF Open API standard. This value is always `ServiceOrderItem`. This information is not stored. Data type: String |
| @type | Part of the TMF Open API standard. This value is always `ServiceOrder`. This information is not stored.Data type: String |
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 201 | Successful. If there are any issues with the characteristics or characteristics option information, the endpoint stores the following comments in the work notes fields of the associated Customer Order Line Item record: - The following Order Item characteristics does not exist: Review specification <**specification.name**> and correct the characteristic and characteristic option in the order line item prior to approving the order. - Order Item characteristic: <**characteristic.name**> with characteristic value: <**characteristic.value**> is invalid. Correct the characteristic values before approving the order. |
| 202 | Accepted. Successful request for an order in asynchronous mode. That is, the request was made with the **mode** parameter set to `async` and the record is scheduled to be processed in the Inbound Queue \[sn\_tmt\_core\_inbound\_queue\] table. |
| 400 | Bad Request. Could be any of the following reasons:- Invalid payload: Consumer does not exist - The specified related party consumer does not exist in the instance. - Invalid payload: Customer Account does not exist. – The related party customer provided in payload is not present in the system. - Invalid payload: Customer Account or Consumer is missing - The related party customer or consumer object is missing from the payload. - Invalid payload: Order creation failed. - Not able to create the requested order. - Invalid payload: Product Inventory does not exist. - In a change or delete order \(i.e., action = change or delete\), the sold service sent is not present in the system. - Invalid payload: Product inventory ID is missing. – In a change or delete order, the Sold Product ID is missing from the payload. - Invalid payload: Request body missing. - Payload was not passed in the request body. - Invalid payload: serviceOrderItem action is missing. – The service object or JSON is missing from the payload. - Invalid payload: serviceOrderItem ID is missing. – The ID is missing from the service order line item. - Invalid payload: serviceOrderItem missing. - Service order line item object or JSON is missing. - Invalid payload: serviceOrderItem service is missing. – The service property is missing from the service order line item. - Invalid payload: Service specification does not exist. - The service specification in the service order line item is not valid. - Invalid payload: serviceSpecification ID is missing. - The **id** parameter in the service order line item of the service specification object is missing from the payload. - Invalid payload: serviceSpecification is missing. - The service specification object or JSON in the service order line item is missing from the payload. - Invalid payload: Sold Product is inactive. – In a change or delete order, the Sold Product sent in the payload is not in active state. |
| 404 | Not found. The requested item wasn't found. |
| Name | Description |
|---|---|
| committedDueDate | Date and time when the action must be performed on the order. This value must be the same as or later than the **committedDueDate** values for each order line item. Data type: String |
| externalId | Unique order number for the external service order. Data type: String |
| href | Relative link to the resource record.Data type: String Default: Blank string |
| id | Sys\_id of the service order.Data type: String |
| note | Optional. List of additional notes made by the customer when ordering. Data type: Array ``` "note": [ { "text": "String" } ] ``` |
| note.text | Additional notes/comments made by the customer while ordering. Data type: String |
| orderDate | Date and timestamp of the order.Format: YYYY-MM-DD HH:MM:SS Data type: String Default: Blank string |
| orderId | Sys\_id of the order to be created. Upon succussful request, the order is added to the Inbound Queue \[sn\_tmt\_core\_inbound\_queue\] table on a schedule to be processed.**Note:** This value is the only result if the order is created asynchronously using the **mode** query parameter. ``` { "orderId": "b0fc877ac3ab5110856d73ce3640dde0" } ``` Data type: String |
| relatedParty | Optional. List of contacts for the order.Data type: Array of Objects ``` "relatedParty": [ { "id": "String", "name": "String", "@referredType": "String", "@type": "String" } ] ``` |
| relatedParty.id | Sys\_id or external\_id of the account, customer or consumer contact associated with the order. Located in the Account \[customer\_account\], Contact \[customer\_contact\], or Consumer \[csm\_consumer\] table. Data type: String |
| relatedParty.name | Name of the account, customer, or consumer. Data type: String |
| relatedParty.@referredType | Type of customer. Possible values: - Customer - CustomerContact - Consumer Data type: String |
| relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| requestedCompletionDate | Optional. Delivery date requested by the customer. Data type: String |
| requestedStartDate | Optional. Order start date requested by the customer. Data type: String |
| serviceOrderItem | Required. List of line items in the service order and their associated action. Data type: Array ``` "serviceOrderItem:" [ { "action": "String", "actionReason": "String", "committedDueDate": "String", "externalProductInventory": [Array], "id": "String", "serviceOrderItemRelationship": [Array], "place": {Object}, "quantity": "Number", "relatedParty": {Object}, "service": {Object}, "@type": "String", "version": "String" } ] ``` |
| serviceOrderItem.action | Required. Action to perform on the service order item. Possible actions are defined on the Choice List tab in the Action Dictionary Entry field of the sn\_ind\_tmt\_orm\_order\_line\_item table. Possible values: - add - change - delete - no-change - resume - suspend For details, see [Action types for customer and service orders](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/order-mgt-customer-order-types.md). Data type: String |
| ServiceOrderItem.actionReason | Description of the reason for adding the line item.Data type: String Table: Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] |
| serviceOrderItem.committedDueDate | Optional. Date and time when the action must be performed on the order line item. Data type: String |
| serviceOrderItem.externalProductInventory | Conditional. List of external IDs mapped to the product inventories created for the order. If supplied, each entry requires **externalProductInventoryId**.Data type: Array of Objects ``` "externalProductInventory": [ { "externalProductInventoryId": "String" } ] ``` |
| serviceOrderItem.externalProductInventory.externalProductInventoryId | External ID mapped to the product inventory.Data type: String |
| serviceOrderItem.id | Unique identifier of the line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String |
| serviceOrderItem.serviceOrderItemRelationship | Conditional. Item-level relationships. If supplied, each entry requires an **id** and **relationshipType**. Data type: Array ``` "serviceOrderItemRelationship:" [ { "id": "String", "relationshipType": "String" } ] ``` |
| serviceOrderItem.serviceOrderItemRelationship.id | Required. Unique identifier of the related line item. Located in the sn\_ind\_tmt\_orm\_external\_id field of the Order Line Item \[sn\_ind\_tmt\_orm\_order\_line\_item\] table. Data type: String |
| serviceOrderItem.serviceOrderItemRelationship.relationshipType | Required. Type of relationship between the two line items. This information is used to identify the relationship hierarchy. Possible values: - HasChild - HasParent - Requires `HasChild` and `HasParent` are used for parent/child relationships. `Requires` is used for horizontal relationships \(a line item requires another line item\). Data type: String |
| serviceOrderItem.place | Optional. Map of the locations on which to install the service. Requires **serviceOrderItem.place.id** if present.Data type: Object ``` "place:" { "id": "String", "@type": "String" } ``` |
| serviceOrderItem.place.id | Sys\_id of the associated location record in the Location \[cmn\_location\] table. When employing the change action on a product order item \(via the**productOrderItem.action** parameter\), updating the request with a new place sys\_id creates a move order, where the order is not changed but is fulfilled in a new location. Data type: String |
| serviceOrderItem.place.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `Place`. This information is not stored. Data type: String |
| serviceOrderItem.quantity | Number of line items ordered.Data type: Number |
| serviceOrderItem.relatedParty | Optional. List of contacts for line items. Data type: Array ``` "relatedParty:" { "email": "String", "firstName": "String", "lastName": "String", "phone": "String", "@referredType": "String", "@type": "String" } ``` |
| serviceOrderItem.relatedParty.email | Email address of the contact. Data type: String |
| serviceOrderItem.relatedParty.firstName | First name of the contact. Data type: String |
| serviceOrderItem.relatedParty.lastName | Last name of the contact. Data type: String |
| serviceOrderItem.relatedParty.phone | Business phone number of the contact. Data type: String |
| serviceOrderItem.relatedParty.@referredType | Required. Type of customer. Possible value: OrderLineItemContact Data type: String |
| serviceOrderItem.relatedParty.@type | Part of TMF Open API standard. Annotation for order line item contact. This value is always `RelatedParty`. This information is not stored. Data type: String |
| serviceOrderItem.service | Required. Description of the instance details of the service purchased by the customer. Data type: Object ``` "service:" { "id": "String", "serviceCharacteristic": [Array], "serviceRelationship": [Array], "serviceSpecification": {Object}, "@type": "String" } ``` |
| serviceOrderItem.service.id | Unique identifier of the service sold. This value can be the sys\_id or external ID in the Product Inventory \[sn\_ind\_tmt\_orm\_product\_inventory\] table. This value is only returned for change/disconnect orders.Data type: String |
| serviceOrderItem.service.serviceCharacteristic | Conditional. If supplied, each entry requires **serviceOrderItem.service.serviceCharacteristic**. List that describes the characteristics of the associated service. Only service characteristics with a current **value** different from the **previousValue** are returned. Data type: Array ``` "serviceCharacteristic:" [ { "name": "String", "previousValue": "String", "value": "String", "valueType": "String" } ] ``` |
| serviceOrderItem.service.serviceCharacteristic.name | Required for each characteristic entry. Name of the characteristic record to associated with the service. Located in the Characteristic \[sn\_prd\_pm\_characteristic\] table. Data type: String |
| serviceOrderItem.service.serviceCharacteristic.previousValue | Previous characteristic option values if the update is for change order. The request is a change order if the **serviceOrderItem.action** parameter is other than `add`. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.value | Characteristic option values associated with the service. For additional information on characteristic option values, see [Create product characteristics and characteristic options](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/som-product-config-add-characteristics.md). Data type: String |
| serviceOrderItem.service.serviceCharacteristic.valueType | Type of characteristic value.Possible values: - Array.Date - Array.Datetime - Array.Decimal - Array.Integer - Array.Object - Array.Single Line Test - Checkbox - Choice - Date, Address - Email - Integer, Date/Time - Object - Single Line Text - Yes/No Data type: String |
| serviceOrderItem.service.serviceRelationship | List of product inventories related to the service.Data type: Array of Objects ``` "serviceRelationship": [ { "id": "String", "relationshipType": "String" } ] ``` |
| serviceOrderItem.service.serviceRelationship.id | Sys\_id or sn\_prd\_invt\_external\_id of the product inventory.Data type: String Table: In the sys\_id or sn\_prd\_invt\_external\_id field of the Product Inventory \[sn\_prd\_invt\_product\_inventory\] table. |
| serviceOrderItem.service.serviceRelationship.relationshipType | Type of relationship between the service and the product inventory. Possible value: Requires Data type: String |
| serviceOrderItem.service.serviceSpecification | Conditional. When supplied, **serviceSpecification.id** is required. Description of the service specification associated with the service. Data type: Object ``` "serviceSpecification:" { "id": "String", "internalId": "String", "internalVersion": "String", "name": "String", "version": "String", "@type": "String" } ``` |
| serviceOrderItem.service.serviceSpecification.id | Required when **serviceSpecification** is present. Initial\_version or external\_id of the service specification. The initial\_version is the sys\_id of the first version of the specification. Located in the sys\_id or external\_id field of the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.internalId | Initial version of the service specification.Data type: String Table: In the sys\_id field of the Service Specification \[sn\_prd\_pm\_service\_specification\] table. |
| serviceOrderItem.service.serviceSpecification.internalVersion | Version of the service specification.Data type: String Table: Service Specification \[sn\_prd\_pm\_service\_specification\] |
| serviceOrderItem.service.serviceSpecification.name | Name of the service specification. Located in the Service Specification \[sn\_prd\_pm\_service\_specification\] table. Data type: String |
| serviceOrderItem.service.serviceSpecification.version | External\_version of the service specification.Data type: String Table: Service Specification \[sn\_prd\_pm\_service\_specification\] |
| serviceOrderItem.service.serviceSpecification.@type | Part of the TMF Open API standard. This value is always `ServiceSpecificationRef`. This information is not stored. Data type: String |
| serviceOrderItem.state | State of the service order item. For example, new.Data type: String |
| serviceOrderItem.@type | Part of the TMF Open API standard. This value is always `ServiceOrderItem`. This information is not stored.Data type: String |
| state | State of the service order. For more information, see[Service order states](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/order-management/service-order-mgt-state-values.md).Data type: String |
| @type | Part of the TMF Open API standard. This value is always `ServiceOrder`. This information is not stored.Data type: String |
| Name | Description |
|---|---|
| externalId | Optional. Outbound request identifier of the domain orders record sent for fulfillment.Data type: String Table: In the request\_id field in the Outbound Request \[sn\_tmt\_core\_outbound\_request\] table. |
| disableCharValueValidation | Flag that indicates how to control characteristic value validation behavior for choice-type characteristics.Valid values: - true: Validation is disabled and `characteristic_option_value` is set directly from the request payload without generating work notes. - false: Validates characteristic values against allowed choices and adds a work note to the record for any invalid value. Default: false To disable validation, create a system property named `sn_ind_tmt_orm.disableCharValueValidation` and set the value to `true`. When disabled, the value is set directly from the request payload and no work notes are generated. The property isn't shipped by default. |
| serviceOrderItem | Required. List of domain orders whose external fulfillment state needs to be updated. Data type: Array of Objects ``` "ServiceOrderItem": [ { "id": "String", "state": "String" } ] ``` |
| serviceOrderItem.id | Required. Sys\_id of a domain order record for which to update the external fulfillment state.Data type: String Table: Domain Order \[sn\_ind\_tmt\_orm\_domain\_order\] |
| serviceOrderItem.state | Required. External fulfillment state of the domain order.Valid values: - error - fulfilled - pending Data type: String |
| Status code | Description |
|---|---|
| 201 | Successful. The request was successfully processed. |
| 400 | Bad Request. Could be any of the following reasons:- `Invalid payload: externalId is missing`: Indicates that the external ID \(**externalId**\) was not passed. - `Invalid payload: serviceOrderItem state is missing:` Indicates that the external fulfillment state \(**ServiceOrderItem.state**\) was not passed in one or more domain orders. - `Invalid external id. Please pass the correct external id`: Indicates that the passed external ID \(**externalId**\) is not present in system. - `Invalid domain order id. Please pass the correct domain order id`: Indicates that the passed domain order ID \(**ServiceOrderItem.id**\) is not present in the system. - `Domain order id passed is not associated with external id`: Indicates that the external ID \(**externalId**\) is not associated with any domain orders. The system only updates domain orders that are associated with an external ID passed in the payload. - `Invalid fulfilment state: Please provide correct fulfilment state`: Indicates that the passed fulfilment state \(**ServiceOrderItem.state**\) for one or more domain orders is not valid. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
| Name | Description |
|---|---|
| externalId | Outbound request identifier of the domain orders record sent for fulfillment.Data type: String Table: In the request\_id field in the Outbound Request \[sn\_tmt\_core\_outbound\_request\] table. |
| href | Relative link to the resource record.Data type: String Default: Blank string |
| orderDate | Date and timestamp of the order.Format: YYYY-MM-DD HH:MM:SS Data type: String Default: Blank string |
| serviceOrderItem | List of domain orders whose external fulfillment state needs to be updated. Data type: Array of Objects ``` "ServiceOrderItem": [ { "id": "String", "state": "String" } ] ``` |
| serviceOrderItem.id | Sys\_id of a domain order record for which to update the external fulfillment state.Data type: String Table: Domain Order \[sn\_ind\_tmt\_orm\_domain\_order\] |
| serviceOrderItem.state | External fulfillment state of the domain order.Possible values: - error - fulfilled - pending Data type: String |