Skip to main content
Version: 2.4

Order Model Reference

This document is the reference model for tSM Ordering core entities.

Scope of this page:

  • OrderPublic (Order) header model,
  • OrderLinePublic (OrderLine) line model,
  • OrderTypePublic register model,
  • OrderStatusPublic register model.

Process behavior and runtime orchestration logic are documented in Order Process Handling.

1. Conceptual Model

2. Order (OrderPublic)

OrderPublic is the business envelope for one customer/partner request.

2.1 Field Reference

FieldTypeRequiredMeaning
idUUIDNo (create)technical primary key; UUID identifier.
keyStringNo (create)business identifier; generated by mnemonic/sequence if missing.
subjectStringYesorder subject.
orderTypeStringYesFK to OrderTypePublic.code.
statusStringYesFK to OrderStatusPublic.code.
descriptionStringNoorder description.
orderDateDateNoorder date.
deliveryDateRequestedDateNorequested delivery date.
deliveryDateDateNoactual/committed delivery date.
customerIdUUIDYescustomer identity reference.
accountIdUUIDYesaccount identity reference.
personRoleIdsList<UUID>Norelated person roles.
crmAddressRoleIdsList<UUID>Norelated CRM address roles.
orderLinesList<OrderLinePublic>Noembedded line list for create/update patterns.
dataTagsList<String>Nolabels/tags.
charsTsmCharsNodynamic order attributes.
processingDataObjectNotransient write-only processing context.

2.2 Example

{
"id": "b8dba9f9-fd3f-4a12-8d54-2de1f9ac10ab",
"key": "ORD-2025-000145",
"subject": "Business Internet activation - Site Prague 4",
"orderType": "SERVICE.ACTIVATION",
"status": "DRAFT",
"description": "New B2B internet activation with optional public IP.",
"orderDate": "2025-02-24T09:05:00.000+00:00",
"deliveryDateRequested": "2025-03-03T00:00:00.000+00:00",
"customerId": "b75aa001-36f8-4f8d-a4f3-813e8d4f77b0",
"accountId": "9c8aa879-b2de-45d2-9c11-13ca6f30d7f9",
"personRoleIds": [
"f51e0d4c-a7e8-4f57-90a8-38d3b8c3e824"
],
"crmAddressRoleIds": [
"221d2ff7-9db4-43f0-a091-61f4a533ad76"
],
"dataTags": ["B2B", "INTERNET"],
"chars": {
"salesChannel": "CC_INTERNAL",
"salesMode": "ACTIVE",
"campaignCode": "Q1-Internet"
},
"processingData": {
"routing": {
"sourceSystem": "selfcare"
}
}
}

3. Order Line (OrderLinePublic)

OrderLinePublic represents the executable unit inside an order.

3.1 Field Reference

FieldTypeRequiredMeaning
idUUIDNo (create)technical line identifier.
orderIdUUIDNoFK to parent order.
nameStringNoline label/title.
entityCatalogSpecificationIdUUIDNotarget catalog specification.
entityInstanceConfigurationIdUUIDNotarget runtime inventory configuration.
entityInstanceConfigurationObjectRead-onlyexpansion field for configuration payload.
lineTypeEnumNoPRODUCT, SERVICE, WFM, PRICELIST, MATERIAL.
operationEnumNoADD, REMOVE, UPDATE, TAKEOVER, MOVE, LINK.
parentOrderLineIdUUIDNoparent line for hierarchy decomposition.
charsTsmCharsNodynamic line attributes.
quantityIntNoquantity (default 1).
vatFloatNoVAT context.
isValidBooleanNoline validity marker.
validForTimePeriodAltNovalidity window.
pricing fieldsDecimal/DateNorecurring/usage pricing and usage horizon.
processingDataObjectNotransient write-only processing context.
dataMapNocustom line data map.

3.2 Example

[
{
"id": "6fa9d942-f77b-4e4b-b906-f3b57f6f41c1",
"orderId": "b8dba9f9-fd3f-4a12-8d54-2de1f9ac10ab",
"name": "Business Internet Product",
"lineType": "PRODUCT",
"operation": "ADD",
"entityCatalogSpecificationId": "43cc8433-0477-4d2b-b5dc-15c33c0f3576",
"quantity": 1,
"chars": {
"bundleCode": "BIZ-INTERNET-100"
}
},
{
"id": "0c40d117-a1c6-4128-89a0-62d16bbfe7aa",
"orderId": "b8dba9f9-fd3f-4a12-8d54-2de1f9ac10ab",
"name": "Internet Service",
"lineType": "SERVICE",
"operation": "ADD",
"entityCatalogSpecificationId": "8bde2bfa-2de1-4775-9954-c48ef49ae89b",
"parentOrderLineId": "6fa9d942-f77b-4e4b-b906-f3b57f6f41c1",
"quantity": 1,
"chars": {
"internetService": {
"internetBandwidth": "100",
"internetServiceMaxSpeed": "1"
}
}
},
{
"id": "f17eb32e-2f6d-4b80-bf4f-591a5e9e6536",
"orderId": "b8dba9f9-fd3f-4a12-8d54-2de1f9ac10ab",
"name": "Existing Monitoring Service Update",
"lineType": "SERVICE",
"operation": "UPDATE",
"entityInstanceConfigurationId": "f1139a0c-e98c-42a5-a45c-5e70ea388ec1",
"quantity": 1,
"chars": {
"monitoringProfile": "PREMIUM"
}
}
]

3.3 Order Line Enums

OrderLineType:

  • PRODUCT
  • SERVICE
  • WFM
  • PRICELIST
  • MATERIAL

OrderLineOperation:

  • ADD
  • REMOVE
  • UPDATE
  • TAKEOVER
  • MOVE
  • LINK

4. Order Type Register (OrderTypePublic)

OrderTypePublic is a code-table type entity used to parameterize ordering behavior.

4.1 Field Reference

FieldTypeMeaning
id, code, nameUUID/String/Stringidentity of register value.
description, localizationDataString/Objectuser-facing documentation/localization.
validityFrom, validityTo, validDate/Date/Booleanvalidity governance.
orderSpecIdUUIDoptional order specification binding.
orderLineSpecIdUUID (deprecated)deprecated line specification reference.
entitySpecificationFilterAnyfilter for selectable entity specifications.
defaultProcessExprStringprocess resolution expression.
sortOrderIntUI ordering.
mnemonicCodeStringkey generation mnemonic template.
json, registry, configJSON mapsinstallation-specific configuration.
tsmModule, icon, dataTagsString/String/Listmodule/UI/tagging metadata.

4.2 Example

{
"id": "7d0b6ab2-6423-4b87-ad2f-4e8f770d9ea0",
"code": "SERVICE.ACTIVATION",
"name": "Service Activation",
"description": "Activation order for fixed internet service.",
"orderSpecId": "aaf29f4d-d71a-4b9f-a4ad-39bbdc2f2ea1",
"entitySpecificationFilter": {
"type": ["SERVICE", "PRODUCT"],
"category": ["Core.Services", "Value.Added.Services"]
},
"defaultProcessExpr": "'ORD.Process.ServiceActivation'",
"sortOrder": 30,
"mnemonicCode": "'ORD-' + #order.accountId.toString().substring(0,4) + '-' + T(java.time.LocalDate).now().getYear()",
"config": {
"allowMixedActions": false,
"requiredChecker": true
},
"json": {
"ui": {
"newForm": "Order.Forms.ServiceActivation.New",
"detailForm": "Order.Forms.ServiceActivation.Detail"
}
},
"dataTags": ["B2B"]
}

5. Order Status Register (OrderStatusPublic)

OrderStatusPublic is a plain status register for order lifecycle codes.

5.1 Field Reference

FieldTypeMeaning
id, code, nameUUID/String/Stringstatus identity.
description, localizationDataString/Objectuser-facing semantics/localization.
validityFrom, validityTo, validDate/Date/Booleanvalidity governance.
orderDoubleoptional display ordering of statuses.
dataTags, configList/Mapextension metadata.

5.2 Example

{
"id": "1540cc9c-8ff2-4f32-885f-ece1b75ba1c7",
"code": "IN_PROGRESS",
"name": "In Progress",
"description": "Order is being fulfilled by orchestration and operational teams.",
"order": 30,
"validityFrom": "2024-01-01T00:00:00.000+00:00",
"validityTo": null,
"localizationData": {
"en": {
"name": "In Progress",
"description": "Order is being fulfilled"
}
}
}

6. Processing Data Reference

processingData is available on both OrderPublic and OrderLinePublic with the same principles:

  • write-only API context,
  • transient processing metadata,
  • namespaced keys recommended (routing.*, pricing.*, partner.*),
  • validation limits applied (top-level keys, payload size, nesting depth).