Service Inventory Blueprint
This document provides a business-oriented runtime blueprint for service inventory in Global Telecom Company.
This page continues the same scenario from:
It is intentionally implementation-focused:
- runtime identity and versioning behavior,
- decomposition and relationship handling,
- commit/rollback governance,
- TMF mapping boundary concepts.
This is a simplified, documentation-focused example. It does not represent full network inventory topology, full activation orchestration depth, or production-grade assurance logic.
1. Business Context
After service catalog design is published, Global Telecom Company needs controlled runtime operation of instantiated services.
Main runtime drivers:
- one stable service identity over time,
- explicit current and planned runtime states,
- decomposed visibility of service runtime structure,
- safe project-level rollout and rollback,
- consistent design-to-run traceability.
2. Runtime Scope in tSM
This blueprint covers:
EntityInstanceidentity model,EntityInstanceConfigurationtimeline model,- parent hierarchy and explicit runtime relationship model,
- commit/rollback approach for grouped changes.
3. Runtime Identity Foundation (EntityInstance)
Service runtime structure in UI:

EntityInstance example:
{
"id": "e341f37b-34d3-4ba2-8e8c-cbd975dcfa14",
"type": "SERVICE",
"key": "SVC-7909",
"dataTags": ["B2B", "INTERNET", "CFS"],
"currentEntityInstanceConfigurationId": "6fa0778f-d780-4d89-9c8f-95d4fd7b2f8d",
"pendingEntityInstanceConfigurationId": "f4b635fd-e018-4e96-88ad-5ddf51f9e0df"
}
4. Configuration Timeline (EntityInstanceConfiguration)
Detailed runtime view:

Current and pending configurations:
[
{
"id": "6fa0778f-d780-4d89-9c8f-95d4fd7b2f8d",
"entityInstanceId": "e341f37b-34d3-4ba2-8e8c-cbd975dcfa14",
"entityCatalogSpecificationId": "8bde2bfa-2de1-4775-9954-c48ef49ae89b",
"name": "Internet Service - Current",
"status": "ACTIVE",
"active": "CURRENT",
"validFor": {
"startDateTime": "2025-01-15T10:02:18.344+00:00"
},
"chars": {
"internetService": {
"internetBandwidth": "100",
"internetServiceSla": "99",
"internetServiceMaxSpeed": "1"
},
"technicalContact": {
"systemSolutionsAdministrator": "d961df5c-305a-49fb-ad7f-3708ebe97311",
"plannedOutage": "1f3426c8-d06e-4595-9ac4-844d584b47a8",
"siteContact": "623668f3-58fe-4f15-92e6-81b860610d4c"
},
"project": "Project.Sphere"
}
},
{
"id": "f4b635fd-e018-4e96-88ad-5ddf51f9e0df",
"entityInstanceId": "e341f37b-34d3-4ba2-8e8c-cbd975dcfa14",
"entityCatalogSpecificationId": "8bde2bfa-2de1-4775-9954-c48ef49ae89b",
"name": "Internet Service - Pending Upgrade",
"status": "ACTIVE",
"active": "PENDING",
"validFor": {
"startDateTime": "2025-03-15T00:00:00.000+00:00"
},
"chars": {
"internetService": {
"internetBandwidth": "200",
"internetServiceSla": "99",
"internetServiceMaxSpeed": "1"
},
"project": "Project.Sphere"
}
}
]
5. Runtime Decomposition and Explicit Relationships
Parent hierarchy models decomposition, while explicit relationship records keep non-tree semantics.
Example explicit relationship:
{
"id": "8d3f4e23-6a5e-4ee1-b5fb-8ea8f08d2f7b",
"entityInstanceConfigurationId": "6fa0778f-d780-4d89-9c8f-95d4fd7b2f8d",
"entityInstanceToId": "670ab3e5-b8cf-44da-a6f0-e11f31f54ef8",
"entityCatalogSpecificationRelationshipId": "cb4a4fab-4f93-44cb-860f-f3e078fc2137",
"chars": {
"relationshipType": "VAS",
"socket": "ip-option"
}
}
6. Versioning and Commit/Rollback Governance
Timeline rules:
- one
CURRENTconfiguration per instance, - optional
PENDINGfor planned state, - superseded current becomes
HISTORY.
Project-level rollout pattern:
- create pending changes across related runtime objects,
- validate dependencies and capacity,
- commit as one business action or rollback as one business action.
7. Runtime Integration Context
Inventory runtime data is typically consumed by:
- ordering and orchestration,
- billing and charging,
- assurance and incident handling,
- external partners through API contracts.
This keeps service runtime as single source of truth for operational state.
8. General TMF Concepts (Core Level)
In runtime integration, TMF is treated conceptually in service scope:
TMF638for service inventory exposure,TMF641for service order interactions with inventory effects,- version-aware retrieval and change operations through API patterns.
This page intentionally stays in service scope only. Product and resource inventory mappings are out of scope here.
8.1 Service API and CTK Snapshot (Source Context)
| TMF API | Scope | Snapshot status |
|---|---|---|
TMF633 | Service Catalog | OK |
TMF638 | Service Inventory | OK |
TMF641 | Service Ordering | OK |
TMF640 | Service Activation | OK |
TMF645 | Service Qualification | Planned (Q2 2025 in source) |
TMF657 | Service Quality Management | Planned (Q1 2025 in source) |
Conformance statement from source context:
- CTK results were provided for
TMF633andTMF638.
9. TMF Mapping Reference (Payloads and Explanation)
Core inventory concepts map to TMF, and TMF itself is designed with extensibility as a core principle.
The VersionedService example in this chapter is a typical pattern of extending standard TMF payloads to support implementation-specific behavior (here, service versioning in time).
For any implementation that wants to use TMF interfaces, a similar mapping analysis must be done to fit business logic, lifecycle behavior, and integration needs.
9.1 TMF in Inventory (Service)
Example of an Internet service instance created according to the Service Catalog:
- the service is
Activeand this configuration isCurrent(see Versioning and Commit/Rollback Governance), - the service has a Related Party in the role Customer -> DataLite,
bandwidthandmax speedattributes are defined by the Internet Service characteristics,- in People section are positioned the Technical Contact characteristics,
- there is the overall Service Structure with CFS (Internet Service) on top and decomposed to RFS / Resources (see CFS to RFS mapping in this blueprint context).
TM Forum Service payload notes:
"@type": "VersionedService"is a tSM extension to TM Forum for service versioning support. Together with"@schemaLocation", it definesversion*attributes."note"carries comments attached to the service instance in tSM."externalIdentifier"carries the user-friendly business ID from tSM on top of the UUID primary key."serviceCharacteristic"carries characteristic values defined byServiceSpecification;"@type"and"@schemaLocation"reference the characteristic schema (value schema location).
{
"@type": "VersionedService",
"@baseType": "Service",
"@schemaLocation": "https://tsm-tmobile-b2b.datalite.cloud/tsm-tmf/api/schemas/serviceInventoryManagement/v5/tsm/VersionedService.schema.json",
"id": "26ed6eb6-fecb-4d90-9d5f-1e9e016cadfe",
"href": "https://tsm-tmobile-b2b.datalite.cloud/tsm-tmf/api/serviceInventoryManagement/v5/service/26ed6eb6-fecb-4d90-9d5f-1e9e016cadfe",
"description": "<p>Example service instance.</p>",
"isServiceEnabled": true,
"isStateful": true,
"startDate": "2025-01-15T10:02:37.248+00:00",
"endDate": null,
"note": [
{
"@type": "TsmNote",
"id": "54c6781d-972b-45c7-8e4d-9eb9ceac49bf",
"author": "1f3426c8-d06e-4595-9ac4-844d584b47a8",
"date": "2025-01-29T18:56:22.885+00:00",
"text": "<p>Example comment</p>"
}
],
"serviceType": "Internet.Service",
"isBundle": false,
"name": "X INTERNET SERVICE",
"category": "Core.Services",
"externalIdentifier": [
{
"@type": "ExternalIdentifier",
"owner": "tSM",
"externalIdentifierType": "KEY",
"id": "SVC-7909"
}
],
"serviceCharacteristic": [
{
"@type": "ObjectCharacteristics",
"id": "83ff3181-c87d-45b3-9b74-170d8e22229a",
"name": "technicalContact",
"valueType": "object",
"value": {
"@type": "Chars.SCSI.ServiceInstance.TechnicalContact",
"@schemaLocation": "https://tsm-tmobile-b2b.datalite.cloud/tsm-tmf/api/schemas/characteristics/Chars.SCSI.ServiceInstance.TechnicalContact.schema.json",
"siteContact": "623668f3-58fe-4f15-92e6-81b860610d4c",
"plannedOutage": "1f3426c8-d06e-4595-9ac4-844d584b47a8",
"systemSolutionsAdministrator": "d961df5c-305a-49fb-ad7f-3708ebe97311"
}
},
{
"@type": "ObjectCharacteristics",
"id": "73cb3a8f-eabc-4bf9-8429-4833092eded3",
"name": "internetService",
"valueType": "object",
"value": {
"@type": "Chars.SCSI.Service.Internet.Service",
"@schemaLocation": "https://tsm-tmobile-b2b.datalite.cloud/tsm-tmf/api/schemas/characteristics/Chars.SCSI.Service.Internet.Service.schema.json",
"InetrnetBandwidth": "100",
"inetrnetBandwidth": "100",
"internetServiceSla": "99",
"internetServiceMaxSpeed": "1"
}
}
],
"state": "active",
"operatingStatus": "configured",
"serviceSpecification": {
"@type": "ServiceSpecificationRef",
"id": "Internet.Service",
"href": "https://tsm-tmobile-b2b.datalite.cloud/tsm-tmf/api/serviceCatalogManagement/v5/serviceSpecification/Internet.Service",
"name": "Internet Service",
"version": "1.0"
},
"serviceDate": "2025-01-15T10:02:37.248+0000",
"version": "003ab9ea-d7f2-45c2-86df-81661999445f",
"versionStateType": "CURRENT",
"versionStartDate": "2025-01-15T10:02:18.344+00:00",
"versionEndDate": null
}
9.2 Comprehensive Service Mapping Explanation
| TMF payload area | tSM source entity/field | Mapping logic | Notes |
|---|---|---|---|
Service.id/name/category/serviceType | EntityInstance + active EntityInstanceConfiguration | merged runtime view projection | name/category often come from active configuration context |
serviceSpecification | EntityInstanceConfiguration.entityCatalogSpecificationId | id-to-ref projection | exposes catalog definition reference |
serviceCharacteristic[] | EntityInstanceConfiguration.chars | characteristic projection | typed objects can include @schemaLocation |
externalIdentifier[] | EntityInstance.key and integration ids | projection to TMF identifier model | supports human business IDs |
state/operatingStatus | configuration status and operational state model | mapped enum projection | project-specific lifecycle mapping possible |
version/versionStateType/versionStartDate/versionEndDate | configuration history fields (CURRENT/PENDING/HISTORY, validity period) | versioned-service extension mapping | aligns with tSM time-based config model |
note[] | instance/config comments | projection into TMF note structure | optional |
Additional mapping rules:
EntityInstanceremains the stable logical identity.EntityInstanceConfigurationcarries the mutable, versioned service state.- TMF
VersionedServicepayload is composed from both layers and exposed as one runtime contract. - Pending versions may be hidden or exposed depending on API policy.