Skip to main content
Version: 2.4

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.
Simplification Scope

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:

  • EntityInstance identity model,
  • EntityInstanceConfiguration timeline model,
  • parent hierarchy and explicit runtime relationship model,
  • commit/rollback approach for grouped changes.

3. Runtime Identity Foundation (EntityInstance)

Service runtime structure in UI:

Service instance structure

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:

Service inventory runtime detail

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:

  1. one CURRENT configuration per instance,
  2. optional PENDING for planned state,
  3. superseded current becomes HISTORY.

Project-level rollout pattern:

  1. create pending changes across related runtime objects,
  2. validate dependencies and capacity,
  3. 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:

  • TMF638 for service inventory exposure,
  • TMF641 for 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 APIScopeSnapshot status
TMF633Service CatalogOK
TMF638Service InventoryOK
TMF641Service OrderingOK
TMF640Service ActivationOK
TMF645Service QualificationPlanned (Q2 2025 in source)
TMF657Service Quality ManagementPlanned (Q1 2025 in source)

Conformance statement from source context:

  • CTK results were provided for TMF633 and TMF638.

9. TMF Mapping Reference (Payloads and Explanation)

TMF Mapping Approach

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 Active and this configuration is Current (see Versioning and Commit/Rollback Governance),
  • the service has a Related Party in the role Customer -> DataLite,
  • bandwidth and max speed attributes 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 defines version* 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 by ServiceSpecification; "@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 areatSM source entity/fieldMapping logicNotes
Service.id/name/category/serviceTypeEntityInstance + active EntityInstanceConfigurationmerged runtime view projectionname/category often come from active configuration context
serviceSpecificationEntityInstanceConfiguration.entityCatalogSpecificationIdid-to-ref projectionexposes catalog definition reference
serviceCharacteristic[]EntityInstanceConfiguration.charscharacteristic projectiontyped objects can include @schemaLocation
externalIdentifier[]EntityInstance.key and integration idsprojection to TMF identifier modelsupports human business IDs
state/operatingStatusconfiguration status and operational state modelmapped enum projectionproject-specific lifecycle mapping possible
version/versionStateType/versionStartDate/versionEndDateconfiguration history fields (CURRENT/PENDING/HISTORY, validity period)versioned-service extension mappingaligns with tSM time-based config model
note[]instance/config commentsprojection into TMF note structureoptional

Additional mapping rules:

  1. EntityInstance remains the stable logical identity.
  2. EntityInstanceConfiguration carries the mutable, versioned service state.
  3. TMF VersionedService payload is composed from both layers and exposed as one runtime contract.
  4. Pending versions may be hidden or exposed depending on API policy.