0% found this document useful (0 votes)
32 views100 pages

TMF639 Resource Inventory Userguide v5.0.0

TMF639 Resource Inventory Userguide

Uploaded by

manikanth1012
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views100 pages

TMF639 Resource Inventory Userguide v5.0.0

TMF639 Resource Inventory Userguide

Uploaded by

manikanth1012
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 100

TM Forum Specification

Resource Inventory
Management

TMF639

Maturity Level: Beta Team Approved Date: 07.06.2024


Release Status: Pre-production Approval Status: Team Approved
Version 5.0.0 IPR Mode: RAND

© TM Forum 2024. All Rights Reserved.


Resource Inventory Management

NOTICE
Copyright © TM Forum 2024. All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative
works that comment on or otherwise explain it or assist in its implementation may be
prepared, copied, published, and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this section are included on all such
copies and derivative works. However, this document itself may not be modified in any way,
including by removing the copyright notice or references to TM FORUM, except as needed
for the purpose of developing any document or deliverable produced by a TM FORUM
Collaboration Project Team (in which case the rules applicable to copyrights, as set forth in
the TM FORUM IPR Policy, must be followed) or as required to translate it into languages
other than English.

The limited permissions granted above are perpetual and will not be revoked by TM FORUM
or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and TM
FORUM DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL
NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Direct inquiries to the TM Forum office:

181 New Road, Suite 304


Parsippany, NJ 07054, USA
Tel No. +1 862 227 1648
TM Forum Web Page: www.tmforum.org

© TM Forum 2024. All Rights Reserved. Page i


Resource Inventory Management

Table of Contents
NOTICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Sample Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Support of polymorphism and extension patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
RESOURCE MODEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Managed Entity and Task Resource Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Resource resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
LogicalResource resource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
PhysicalResource resource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
ResourceCollection resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Notification Resource Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
API OPERATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Operations on Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
List or find Resource objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Retrieves a Resource by ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Creates a Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Updates partially a Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Deletes a Resource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
API NOTIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Register listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Unregister listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Publish Event to listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Release History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Contributors to Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

© TM Forum 2024. All Rights Reserved. Page ii


Resource Inventory Management

Introduction
The following document is the user guide of the REST API for Any management. It includes
the model definition as well as all available operations.

© TM Forum 2024. All Rights Reserved. Page 1


Resource Inventory Management

Sample Use Cases


Reader will find example of use cases using Usage API in “Open Digital Business Scenarios
and Use Cases” document.

© TM Forum 2024. All Rights Reserved. Page 2


Resource Inventory Management

Support of polymorphism and extension


patterns
Support of polymorphic collections and types and schema based extension is provided by
means of a list of generic meta-attributes that we describe below. Polymorphism in
collections occurs when entities inherit from base entities, for instance a BillingAccount and
SettlementAccount inheriting properties from the abstract Account entity.

Generic support of polymorphism and pattern extensions is described in the TMF API
Guidelines, Part 2 (TMF630).

The @type attribute provides a way to represent the actual class type of an entity. For
example, within a list of Account instances some may be instances of BillingAccount where
other could be instances of SettlementAccount. The @type gives this information. All
resources and sub-resources of this API have a @type attributes that can be provided when
this is useful.

The @referredType can be used within reference entities (like for instance an AccountRef
object) to explicitly denote the actual entity type of the referred class. Notice that in reference
entities the @type, when used, denotes the class type of the reference itself, such as
BillingAccountRef or SettlementAccountRef, and not the class type of the referred object.
However since reference classes are rarely sub-classed, @type is generally not useful in
reference objects.

The @schemaLocation property can be used in resources to allow specifying user-defined


properties of an Entity or to specify the expected characteristics of an entity.

The @baseType attribute gives a way to provide explicitly the base of class of a given
resource that has been extended.

© TM Forum 2024. All Rights Reserved. Page 3


Resource Inventory Management

RESOURCE MODEL
Managed Entity and Task Resource Models

Resource resource
Resource is an abstract entity that describes the common set of attributes shared by all
concrete resources (e.g. TPE, EQUIPMENT) in the inventory.

Resource model
ResourceCollection
activationFeature : Feature [0..*]
administrativeState : ResourceAdministrativeStateType
attachment : AttachmentRef [0..*]
category : String
containedResource : ResourceRefOrValue [0..*]
description : String
endOperatingDate : DateTime
externalIdentifier : ExternalIdentifier [0..*]
href : String
ResourceSpecificationRef id : String
IntentRef Note
ExternalIdentifier intent : IntentRef
href : String
href : String author : String name : String
externalIdentifierType : String id : String (1)
id : String (1) date : DateTime note : Note [0..*]
id : String (1) name : String
name : String id : String operationalState : ResourceOperationalStateType
owner : String version : String
@baseType : String text : String place : RelatedPlaceRef [0..*]
@baseType : String @baseType : String
@referredType : String @baseType : String relatedParty : RelatedPartyRefOrPartyRoleRef [0..*]
@schemaLocation : String @referredType : String
@schemaLocation : String @schemaLocation : String resourceCharacteristic : Characteristic [0..*]
@type : String (1) @schemaLocation : String
@type : String (1) @type : String (1) resourceOrderItem : RelatedResourceOrderItem [0..*]
@type : String (1)
0..* resourceRelationship : ResourceRelationship [0..*]
0..1 0..* resourceSpecification : ResourceSpecificationRef
0..1
resourceStatus : ResourceStatusType
resourceVersion : String
startOperatingDate : DateTime
supportingResource : ResourceRefOrValue [0..*]
usageState : ResourceUsageStateType
validFor : TimePeriod
@baseType : String
@schemaLocation : String
@type = ResourceCollection

intent externalIdentifier note resourceSpecification

PhysicalResource
LogicalResource activationFeature : Feature [0..*]
administrativeState : ResourceAdministrativeStateType
activationFeature : Feature [0..*]
attachment : AttachmentRef [0..*]
administrativeState : ResourceAdministrativeStateType
category : String
attachment : AttachmentRef [0..*] Resource description : String
category : String
administrativeState : ResourceAdministrativeStateType endOperatingDate : DateTime
description : String
category : String externalIdentifier : ExternalIdentifier [0..*]
endOperatingDate : DateTime
description : String href : String
externalIdentifier : ExternalIdentifier [0..*]
endOperatingDate : DateTime id : String
href : String
«Enumeration» href : String intent : IntentRef
ResourceStatusType id : String
id : String manufactureDate : DateTime
intent : IntentRef
name : String name : String
installed name : String
operationalState : ResourceOperationalStateType note : Note [0..*]
pendingRemoval «Enumeration» «Enumeration» note : Note [0..*]
«Enumeration» resourceStatus : ResourceStatusType operationalState : ResourceOperationalStateType
standby ResourceAdministrativeStateType ResourceUsageStateType operationalState : ResourceOperationalStateType
ResourceOperationalStateType resourceVersion : String place : RelatedPlaceRef [0..*]
reserved place : RelatedPlaceRef [0..*]
locked idle startOperatingDate : DateTime powerState : String
alarm enable relatedParty : RelatedPartyRefOrPartyRoleRef [0..*]
unlocked busy usageState : ResourceUsageStateType relatedParty : RelatedPartyRefOrPartyRoleRef [0..*]
available disable resourceCharacteristic : Characteristic [0..*]
shutdown active validFor : TimePeriod resourceCharacteristic : Characteristic [0..*]
not exists resourceOrderItem : RelatedResourceOrderItem [0..*]
@baseType : String resourceOrderItem : RelatedResourceOrderItem [0..*]
planned resourceRelationship : ResourceRelationship [0..*]
@schemaLocation : String resourceRelationship : ResourceRelationship [0..*]
suspended resourceSpecification : ResourceSpecificationRef
@type = Resource resourceSpecification : ResourceSpecificationRef
unknown resourceStatus : ResourceStatusType
resourceStatus : ResourceStatusType
resourceVersion : String discriminator: resourceVersion : String
startOperatingDate : DateTime Resource serialNumber : String
supportingResource : ResourceRefOrValue [0..*] PhysicalResource startOperatingDate : DateTime
usageState : ResourceUsageStateType LogicalResource supportingResource : ResourceRefOrValue [0..*]
validFor : TimePeriod ResourceCollection usageState : ResourceUsageStateType
value : String
validFor : TimePeriod
@baseType : String
versionNumber : String
@schemaLocation : String
@baseType : String
@type = LogicalResource
@schemaLocation : String
@type = PhysicalResource

supportingResource resourceRelationship resourceCharacteristic activationFeature resourceOrderItem attachment relatedParty place

FeatureRelationship 0..* 0..*


0..* 0..* href : String
0..* RelatedResourceOrderItem AttachmentRef
ResourceRefOrValue id : String (1) 0..* 0..*
Feature
0..* Characteristic name : String itemAction : OrderItemActionType description : String
«Enumeration»
ResourceRelationship id : String relationshipType : ENUM String (1) itemId : String OrderItemActionType href : String RelatedPartyRefOrPartyRoleRef RelatedPlaceRef
id : String
discriminator: isBundle : Boolean excluded resourceOrderHref : String id : String (1)
1 resource relationshipType : String (1) resourceRelationshipCharacteristic name : String (1) featureCharacteristic featureRelationship role : String (1) role : String (1)
Resource isEnabled : Boolean includes resourceOrderId : String add name : String
@baseType : String 0..* valueType : String 0..* 0..* @baseType : String @baseType : String
ResourceRef name : String (1) may include role : String modify url : String
@schemaLocation : String @baseType : String @schemaLocation : String @schemaLocation : String
PhysicalResource @baseType : String requires @baseType : String noChange @baseType : String
@type : String (1) @schemaLocation : String @type : String (1) @type : String (1)
LogicalResource @schemaLocation : String validFor : TimePeriod @referredType : String delete @referredType : String
@type : String (1)
ResourceCollection @type : String (1) @baseType : String @schemaLocation : String @schemaLocation : String
@referredType : String @type : String (1) @type : String (1)
@schemaLocation : String
@type : String (1)

characteristicRelationship policyConstraint partyOrPartyRole place


0..*
1
0..* PolicyRef 0..1
PlaceRef
CharacteristicRelationship href : String PartyRefOrPartyRoleRef href : String
id : String (1)
id : String (1) id : String (1)
name : String
relationshipType : String (1) name : String
version : String discriminator:
@baseType : String @baseType : String
@baseType : String PartyRef
@schemaLocation : String @referredType : String
@referredType : String PartyRoleRef
@type : String (1) @schemaLocation : String
@schemaLocation : String
@type : String (1)
@type : String (1)

PartyRoleRef
PartyRef
href : String
id : String (1) href : String
name : String id : String (1)
partyId : String name : String
partyName : String @baseType : String
@baseType : String @referredType : String
@referredType : String @schemaLocation : String
@schemaLocation : String @type = PartyRef
@type = PartyRoleRef

Color Description
Resource (entry point)
Sub-resource
Sub-resource (reference entity)
Sub-resource with details in separate diagram
Enumeration
(1) : Mandatory property

Figure 1 - Resource

[.] | .//
Figure 2 - Resource

Field descriptions

Resource fields

activationFeature A Feature. Configuration feature.

© TM Forum 2024. All Rights Reserved. Page 4


Resource Inventory Management

administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable

© TM Forum 2024. All Rights Reserved. Page 5


Resource Inventory Management

place A RelatedPlaceRef. Entity reference. The polymorphic attributes


@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.
resourceStatus A ResourceStatusType. ResourceStatusType enumerations.
ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown

© TM Forum 2024. All Rights Reserved. Page 6


Resource Inventory Management

resourceVersion A String. A field that identifies the specific version of an instance


of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.
Resource can be instanciated as
* LogicalResource
* PhysicalResource
* ResourceCollection
containedResource This property is present in subclasses
manufactureDate This property is present in subclasses
powerState This property is present in subclasses
serialNumber This property is present in subclasses
value This property is present in subclasses
versionNumber This property is present in subclasses

ResourceRef sub-resource fields

href A String. Hyperlink reference.


id A String. Unique identifier.
name A String. Name of the referred entity.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.

© TM Forum 2024. All Rights Reserved. Page 7


Resource Inventory Management

@schemaLocation A String. A URI to a JSON-Schema file that defines additional


attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

PhysicalResource sub-resource fields

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
manufactureDate A DateTime. This is a string attribute that defines the date of
manufacture of this item in the fixed format "dd/mm/yyyy". This is
an optional attribute.

© TM Forum 2024. All Rights Reserved. Page 8


Resource Inventory Management

name A String. The name of the resource.


note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
powerState A String. This defines the current power status of the hardware
item. Values include:

0: Unknown 1: Not Applicable 2: No Power Applied 3: Full Power


Applied 4: Power Save - Normal 5: Power Save - Degraded 6:
Power Save - Standby 7: Power Save - Critical 8: Power Save -
Low Power Mode 9: Power Save - Unknown 10: Power Cycle 11:
Power Warning 12: Power Off.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.

© TM Forum 2024. All Rights Reserved. Page 9


Resource Inventory Management

resourceSpecification A ResourceSpecificationRef. Resources are physical or non-


physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.
resourceStatus A ResourceStatusType. ResourceStatusType enumerations.
ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
serialNumber A String. This is a string that represents a manufacturer-allocated
number used to identify different instances of the same hardware
item. The ModelNumber and PartNumber attributes are used to
identify different types of hardware items. This is a REQUIRED
attribute.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.

© TM Forum 2024. All Rights Reserved. Page 10


Resource Inventory Management

versionNumber A String. This is a string that identifies the version of this physical
resource. This is an optional attribute.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

LogicalResource sub-resource fields

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.

© TM Forum 2024. All Rights Reserved. Page 11


Resource Inventory Management

name A String. The name of the resource.


note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.

© TM Forum 2024. All Rights Reserved. Page 12


Resource Inventory Management

resourceStatus A ResourceStatusType. ResourceStatusType enumerations.


ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
value A String. The value of the logical resource. E.g '0746712345' for
MSISDN’s.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

ResourceCollection sub-resource fields

activationFeature A Feature. Configuration feature.

© TM Forum 2024. All Rights Reserved. Page 13


Resource Inventory Management

administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
containedResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.

© TM Forum 2024. All Rights Reserved. Page 14


Resource Inventory Management

operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.

© TM Forum 2024. All Rights Reserved. Page 15


Resource Inventory Management

resourceStatus A ResourceStatusType. ResourceStatusType enumerations.


ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

IntentRef sub-resource fields

href A String. Hyperlink reference.


id A String. Unique identifier.
name A String. Name of the referred entity.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.

© TM Forum 2024. All Rights Reserved. Page 16


Resource Inventory Management

@type A String. When sub-classing, this defines the sub-class


Extensible name.

RelatedResourceOrderItem sub-resource fields

itemAction An OrderItemActionType. Action to be performed on the product.


ENUMERATED with values:
* add
* modify
* delete
* noChange
itemId A String. Identifier of the order item where the resource was
managed.
resourceOrderHref A String. Reference of the related entity.
resourceOrderId A String. Unique identifier of a related entity.
role A String. Role of the resource order item for this resource.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

ResourceRelationship sub-resource fields

relationshipType A String. Type of the resource relationship, such as [bundled] if


the resource is a bundle and you want to describe the bundled
resources inside this bundle; [reliesOn] if the resource needs
another already owned resource to rely on (eg: an option on an
already owned mobile access resource) [targets] or [isTargeted]
(depending on the way of expressing the link) for any other kind
of links that may be useful.
resource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
resourceRelationshipCharacteristi A Characteristic. Describes a given characteristic of an object or
c entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.

© TM Forum 2024. All Rights Reserved. Page 17


Resource Inventory Management

@type A String. When sub-classing, this defines the sub-class


Extensible name.

ExternalIdentifier sub-resource fields

externalIdentifierType A String. Type of the identification, typically would be the type of


the entity within the external system.
id A String. Identification of the entity within the external system.
owner A String. Name of the external system that owns the entity.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

Characteristic sub-resource fields

characteristicRelationship A CharacteristicRelationship. Another Characteristic that is


related to the current Characteristic;.
id A String. Unique identifier of the characteristic.
name A String. Name of the characteristic.
valueType A String. Data type of the value of the characteristic.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

RelatedPartyRefOrPartyRoleRef sub-resource fields

partyOrPartyRole A PartyRefOrPartyRoleRef.
role A String. Role played by the related party or party role in the
context of the specific entity it is linked to. Such as 'initiator',
'customer', 'salesAgent', 'user'.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

RelatedPlaceRef sub-resource fields

place A PlaceRef. Place reference.

© TM Forum 2024. All Rights Reserved. Page 18


Resource Inventory Management

role A String.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

Feature sub-resource fields

featureCharacteristic A Characteristic. Describes a given characteristic of an object or


entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
featureRelationship A FeatureRelationship. Configuration feature.
id A String. Unique identifier.
isBundle A Boolean. True if this is a feature group. Default is false.
isEnabled A Boolean. True if this feature is enabled. Default is true.
name A String. This is the name for the feature.
policyConstraint A PolicyRef. Reference to managed Policy object.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

Note sub-resource fields

author A String. Author of the note.


date A DateTime. Date of the note.
id A String. Identifier of the note within its containing entity.
text A String. Text of the note.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

ResourceSpecificationRef sub-resource fields

© TM Forum 2024. All Rights Reserved. Page 19


Resource Inventory Management

href A String. Hyperlink reference.


id A String. Unique identifier.
name A String. Name of the referred entity.
version A String. Resource Specification version.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

AttachmentRef sub-resource fields

description A String. A narrative text describing the content of the


attachment.
href A String. Hyperlink reference.
id A String. Unique identifier.
name A String. Name of the referred entity.
url A String. Link to the attachment media/content.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

CharacteristicRelationship sub-resource fields

id A String. Unique identifier of the characteristic.


relationshipType A String. The type of relationship.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

PartyRef sub-resource fields

href A String. Hyperlink reference.

© TM Forum 2024. All Rights Reserved. Page 20


Resource Inventory Management

id A String. Unique identifier.


name A String. Name of the referred entity.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

PartyRoleRef sub-resource fields

href A String. Hyperlink reference.


id A String. Unique identifier.
name A String. Name of the referred entity.
partyId A String. The identifier of the engaged party that is linked to the
PartyRole object.
partyName A String. The name of the engaged party that is linked to the
PartyRole object.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

PlaceRef sub-resource fields

href A String. Hyperlink reference.


id A String. Unique identifier.
name A String. Name of the referred entity.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

FeatureRelationship sub-resource fields

© TM Forum 2024. All Rights Reserved. Page 21


Resource Inventory Management

href A String. Hyperlink reference.


id A String. Unique identifier.
name A String. Name of the referred entity.
relationshipType A String. This is the type of the feature relationship.
ENUMERATED with values:
* excluded
* includes
* may include
* requires
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

PolicyRef sub-resource fields

href A String. Hyperlink reference.


id A String. Unique identifier.
name A String. Name of the referred entity.
version A String.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

Json representation sample(s)

We provide below a JSON representation as example of the 'Resource' resource object.

{
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"description": "This is a Router resource with the category Router and with a
reserved resourceStatus for organisations.",
"category": "Router",
"startOperatingDate": "2020-03-04T00:00.000Z",
"endOperatingDate": "2023-09-04T08:00.000Z",
"administrativeState": "locked",

© TM Forum 2024. All Rights Reserved. Page 22


Resource Inventory Management

"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"resourceVersion": "v2",
"@type": "Resource",
"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "something about this resource",
"@type": "Note"
}
],
"place": {
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
},
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"@type": "ResourceRef"
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"@type": "ResourceRef"
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
},
"externalIdentifier": [
© TM Forum 2024. All Rights Reserved. Page 23
Resource Inventory Management

{
"externalIdentifierType": "Supplier-Router-Id",
"id": "XYZ-1174-B",
"owner": "Supplier-A",
"@type": "ExternalIdentifier"
}
],
"supportingResource": [
{
"id": "918273",
"href": "http://server:port/resourceInventoryManagement/v5/resource/918273",
"@type": "ResourceRef"
}
],
"resourceCharacteristic": [
{
"name": "casing size",
"valueType": "String",
"value": "19\"",
"@type": "StringCharacteristic"
}
],
"resourceOrderItem": [
{
"role": "supplier purchase",
"itemAction": "add",
"itemId": "1",
"resourceOrderId": "66588438-2",
"resourceOrderHref":
"http://server:port/resourceOrderManagement/v5/resourceOrder/66588438-2",
"@type": "RelatedResourceOrderItem",
"@referredType": "ResourceOrderItem"
}
],
"attachment": [
{
"id": "D-2024-05-13-X47",
"href": "http://server:port/documentManagement/v5/document/D-2024-05-13-X47",
"description": "delivery note",
"@type": "AttachmentRef",
"@referredType": "Document"
}
]
}

We provide below a JSON representation as example of the 'Resource' resource object.

{
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"description": "This is Port 1 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}

© TM Forum 2024. All Rights Reserved. Page 24


Resource Inventory Management

LogicalResource resource
Logic resource is a type of resource that describes the common set of attributes shared by
all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory.

Resource model

Resource
activationFeature : Feature [0..*]
administrativeState : ResourceAdministrativeStateType
attachment : AttachmentRef [0..*]
category : String
description : String
endOperatingDate : DateTime
externalIdentifier : ExternalIdentifier [0..*]
href : String
id : String
intent : IntentRef
name : String
note : Note [0..*]
operationalState : ResourceOperationalStateType
place : RelatedPlaceRef [0..*]
relatedParty : RelatedPartyRefOrPartyRoleRef [0..*]
resourceCharacteristic : Characteristic [0..*]
resourceOrderItem : RelatedResourceOrderItem [0..*]
resourceRelationship : ResourceRelationship [0..*]
resourceSpecification : ResourceSpecificationRef
resourceStatus : ResourceStatusType
resourceVersion : String
startOperatingDate : DateTime
supportingResource : ResourceRefOrValue [0..*]
usageState : ResourceUsageStateType
validFor : TimePeriod
@baseType : String
@schemaLocation : String
@type = Resource
discriminator:
Resource
PhysicalResource
LogicalResource
ResourceCollection

«Enumeration»
ResourceStatusType
installed
«Enumeration» «Enumeration» pendingRemoval
«Enumeration»
LogicalResource ResourceUsageStateType ResourceAdministrativeStateType standby
ResourceOperationalStateType
reserved
value : String idle locked
enable alarm
@type = LogicalResource busy unlocked
disable available
active shutdown
not exists
planned
suspended
unknown

Color Description
Resource (entry point)
Sub-resource with details in separate diagram
Enumeration
(1) : Mandatory property

Figure 3 - LogicalResource

[.] | .//
Figure 4 - LogicalResource

Field descriptions

LogicalResource fields

activationFeature A Feature. Configuration feature.

© TM Forum 2024. All Rights Reserved. Page 25


Resource Inventory Management

administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable

© TM Forum 2024. All Rights Reserved. Page 26


Resource Inventory Management

place A RelatedPlaceRef. Entity reference. The polymorphic attributes


@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.
resourceStatus A ResourceStatusType. ResourceStatusType enumerations.
ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown

© TM Forum 2024. All Rights Reserved. Page 27


Resource Inventory Management

resourceVersion A String. A field that identifies the specific version of an instance


of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
value A String. The value of the logical resource. E.g '0746712345' for
MSISDN’s.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

Resource sub-resource fields

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.

© TM Forum 2024. All Rights Reserved. Page 28


Resource Inventory Management

category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.

© TM Forum 2024. All Rights Reserved. Page 29


Resource Inventory Management

resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,


such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.
resourceStatus A ResourceStatusType. ResourceStatusType enumerations.
ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy

© TM Forum 2024. All Rights Reserved. Page 30


Resource Inventory Management

validFor A TimePeriod. A period of time, either as a deadline


(endDateTime only) a startDateTime only, or both.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.
Resource can be instanciated as
* LogicalResource
* PhysicalResource
* ResourceCollection
containedResource This property is present in subclasses
manufactureDate This property is present in subclasses
powerState This property is present in subclasses
serialNumber This property is present in subclasses
value This property is present in subclasses
versionNumber This property is present in subclasses

PhysicalResource sub-resource fields

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.

© TM Forum 2024. All Rights Reserved. Page 31


Resource Inventory Management

externalIdentifier An ExternalIdentifier. An identification of an entity that is owned


by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
manufactureDate A DateTime. This is a string attribute that defines the date of
manufacture of this item in the fixed format "dd/mm/yyyy". This is
an optional attribute.
name A String. The name of the resource.
note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
powerState A String. This defines the current power status of the hardware
item. Values include:

0: Unknown 1: Not Applicable 2: No Power Applied 3: Full Power


Applied 4: Power Save - Normal 5: Power Save - Degraded 6:
Power Save - Standby 7: Power Save - Critical 8: Power Save -
Low Power Mode 9: Power Save - Unknown 10: Power Cycle 11:
Power Warning 12: Power Off.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.

© TM Forum 2024. All Rights Reserved. Page 32


Resource Inventory Management

resourceCharacteristic A Characteristic. Describes a given characteristic of an object or


entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.
resourceStatus A ResourceStatusType. ResourceStatusType enumerations.
ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
serialNumber A String. This is a string that represents a manufacturer-allocated
number used to identify different instances of the same hardware
item. The ModelNumber and PartNumber attributes are used to
identify different types of hardware items. This is a REQUIRED
attribute.

© TM Forum 2024. All Rights Reserved. Page 33


Resource Inventory Management

startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
versionNumber A String. This is a string that identifies the version of this physical
resource. This is an optional attribute.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

ResourceCollection sub-resource fields

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.

© TM Forum 2024. All Rights Reserved. Page 34


Resource Inventory Management

containedResource A ResourceRefOrValue. The polymorphic attributes @type,


@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.

© TM Forum 2024. All Rights Reserved. Page 35


Resource Inventory Management

resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,


such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.
resourceStatus A ResourceStatusType. ResourceStatusType enumerations.
ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy

© TM Forum 2024. All Rights Reserved. Page 36


Resource Inventory Management

validFor A TimePeriod. A period of time, either as a deadline


(endDateTime only) a startDateTime only, or both.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

PhysicalResource resource
Physical resource is a type of resource that describes the common set of attributes shared
by all concrete physical resources (e.g. EQUIPMENT) in the inventory.

Resource model

Resource
activationFeature : Feature [0..*]
administrativeState : ResourceAdministrativeStateType
attachment : AttachmentRef [0..*]
category : String
description : String
endOperatingDate : DateTime
externalIdentifier : ExternalIdentifier [0..*]
href : String
id : String
intent : IntentRef
name : String
note : Note [0..*]
operationalState : ResourceOperationalStateType
place : RelatedPlaceRef [0..*]
relatedParty : RelatedPartyRefOrPartyRoleRef [0..*]
resourceCharacteristic : Characteristic [0..*]
resourceOrderItem : RelatedResourceOrderItem [0..*]
resourceRelationship : ResourceRelationship [0..*]
resourceSpecification : ResourceSpecificationRef
resourceStatus : ResourceStatusType
resourceVersion : String
startOperatingDate : DateTime
supportingResource : ResourceRefOrValue [0..*]
usageState : ResourceUsageStateType
validFor : TimePeriod
@baseType : String
@schemaLocation : String
@type = Resource
discriminator:
Resource
PhysicalResource
LogicalResource
ResourceCollection

«Enumeration»
ResourceStatusType
installed
PhysicalResource
«Enumeration» «Enumeration» pendingRemoval
«Enumeration»
manufactureDate : DateTime ResourceUsageStateType ResourceAdministrativeStateType standby
ResourceOperationalStateType
powerState : String reserved
idle locked
serialNumber : String enable alarm
busy unlocked
versionNumber : String disable available
active shutdown
@type = PhysicalResource not exists
planned
suspended
unknown

Color Description
Resource (entry point)
Sub-resource with details in separate diagram
Enumeration
(1) : Mandatory property

Figure 5 - PhysicalResource

[.] | .//
Figure 6 - PhysicalResource

Field descriptions

PhysicalResource fields

© TM Forum 2024. All Rights Reserved. Page 37


Resource Inventory Management

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
manufactureDate A DateTime. This is a string attribute that defines the date of
manufacture of this item in the fixed format "dd/mm/yyyy". This is
an optional attribute.
name A String. The name of the resource.
note A Note. Extra information about a given entity.

© TM Forum 2024. All Rights Reserved. Page 38


Resource Inventory Management

operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
powerState A String. This defines the current power status of the hardware
item. Values include:

0: Unknown 1: Not Applicable 2: No Power Applied 3: Full Power


Applied 4: Power Save - Normal 5: Power Save - Degraded 6:
Power Save - Standby 7: Power Save - Critical 8: Power Save -
Low Power Mode 9: Power Save - Unknown 10: Power Cycle 11:
Power Warning 12: Power Off.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.

© TM Forum 2024. All Rights Reserved. Page 39


Resource Inventory Management

resourceSpecification A ResourceSpecificationRef. Resources are physical or non-


physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.
resourceStatus A ResourceStatusType. ResourceStatusType enumerations.
ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
serialNumber A String. This is a string that represents a manufacturer-allocated
number used to identify different instances of the same hardware
item. The ModelNumber and PartNumber attributes are used to
identify different types of hardware items. This is a REQUIRED
attribute.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.

© TM Forum 2024. All Rights Reserved. Page 40


Resource Inventory Management

versionNumber A String. This is a string that identifies the version of this physical
resource. This is an optional attribute.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

Resource sub-resource fields

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.

© TM Forum 2024. All Rights Reserved. Page 41


Resource Inventory Management

name A String. The name of the resource.


note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.

© TM Forum 2024. All Rights Reserved. Page 42


Resource Inventory Management

resourceStatus A ResourceStatusType. ResourceStatusType enumerations.


ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.
Resource can be instanciated as
* LogicalResource
* PhysicalResource
* ResourceCollection
containedResource This property is present in subclasses
manufactureDate This property is present in subclasses
powerState This property is present in subclasses
serialNumber This property is present in subclasses
value This property is present in subclasses
versionNumber This property is present in subclasses

© TM Forum 2024. All Rights Reserved. Page 43


Resource Inventory Management

LogicalResource sub-resource fields

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.

© TM Forum 2024. All Rights Reserved. Page 44


Resource Inventory Management

operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.

© TM Forum 2024. All Rights Reserved. Page 45


Resource Inventory Management

resourceStatus A ResourceStatusType. ResourceStatusType enumerations.


ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
value A String. The value of the logical resource. E.g '0746712345' for
MSISDN’s.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

ResourceCollection sub-resource fields

activationFeature A Feature. Configuration feature.

© TM Forum 2024. All Rights Reserved. Page 46


Resource Inventory Management

administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
containedResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.

© TM Forum 2024. All Rights Reserved. Page 47


Resource Inventory Management

operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.

© TM Forum 2024. All Rights Reserved. Page 48


Resource Inventory Management

resourceStatus A ResourceStatusType. ResourceStatusType enumerations.


ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

ResourceCollection resource
A collection of Resources handled as one Resource.

Resource model

© TM Forum 2024. All Rights Reserved. Page 49


Resource Inventory Management

Resource
activationFeature : Feature [0..*]
administrativeState : ResourceAdministrativeStateType
attachment : AttachmentRef [0..*]
category : String
description : String
endOperatingDate : DateTime
externalIdentifier : ExternalIdentifier [0..*]
href : String
id : String
intent : IntentRef
name : String
note : Note [0..*]
operationalState : ResourceOperationalStateType
place : RelatedPlaceRef [0..*]
relatedParty : RelatedPartyRefOrPartyRoleRef [0..*]
resourceCharacteristic : Characteristic [0..*]
resourceOrderItem : RelatedResourceOrderItem [0..*]
resourceRelationship : ResourceRelationship [0..*]
resourceSpecification : ResourceSpecificationRef
resourceStatus : ResourceStatusType
resourceVersion : String
startOperatingDate : DateTime
supportingResource : ResourceRefOrValue [0..*]
usageState : ResourceUsageStateType
validFor : TimePeriod
@baseType : String
@schemaLocation : String
@type = Resource
discriminator:
Resource
PhysicalResource
LogicalResource
ResourceCollection

«Enumeration»
ResourceStatusType
installed
«Enumeration» «Enumeration» pendingRemoval
«Enumeration»
ResourceUsageStateType ResourceAdministrativeStateType standby
ResourceCollection ResourceOperationalStateType
reserved
idle locked
@type = ResourceCollection enable alarm
busy unlocked
disable available
active shutdown
not exists
planned
suspended
unknown

containedResource
0..*

ResourceRefOrValue

discriminator:
Resource
ResourceRef
PhysicalResource
LogicalResource
ResourceCollection

Color Description
Resource (entry point)
Sub-resource
Sub-resource with details in separate diagram
Enumeration
(1) : Mandatory property

Figure 7 - ResourceCollection

[.] | .//
Figure 8 - ResourceCollection

Field descriptions

ResourceCollection fields

activationFeature A Feature. Configuration feature.

© TM Forum 2024. All Rights Reserved. Page 50


Resource Inventory Management

administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
containedResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.

© TM Forum 2024. All Rights Reserved. Page 51


Resource Inventory Management

operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.

© TM Forum 2024. All Rights Reserved. Page 52


Resource Inventory Management

resourceStatus A ResourceStatusType. ResourceStatusType enumerations.


ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

Resource sub-resource fields

activationFeature A Feature. Configuration feature.

© TM Forum 2024. All Rights Reserved. Page 53


Resource Inventory Management

administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable

© TM Forum 2024. All Rights Reserved. Page 54


Resource Inventory Management

place A RelatedPlaceRef. Entity reference. The polymorphic attributes


@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.
resourceStatus A ResourceStatusType. ResourceStatusType enumerations.
ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown

© TM Forum 2024. All Rights Reserved. Page 55


Resource Inventory Management

resourceVersion A String. A field that identifies the specific version of an instance


of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.
Resource can be instanciated as
* LogicalResource
* PhysicalResource
* ResourceCollection
containedResource This property is present in subclasses
manufactureDate This property is present in subclasses
powerState This property is present in subclasses
serialNumber This property is present in subclasses
value This property is present in subclasses
versionNumber This property is present in subclasses

ResourceRef sub-resource fields

href A String. Hyperlink reference.


id A String. Unique identifier.
name A String. Name of the referred entity.
@baseType A String. When sub-classing, this defines the super-class.
@referredType A String. The actual type of the target instance when needed for
disambiguation.

© TM Forum 2024. All Rights Reserved. Page 56


Resource Inventory Management

@schemaLocation A String. A URI to a JSON-Schema file that defines additional


attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

PhysicalResource sub-resource fields

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
manufactureDate A DateTime. This is a string attribute that defines the date of
manufacture of this item in the fixed format "dd/mm/yyyy". This is
an optional attribute.

© TM Forum 2024. All Rights Reserved. Page 57


Resource Inventory Management

name A String. The name of the resource.


note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
powerState A String. This defines the current power status of the hardware
item. Values include:

0: Unknown 1: Not Applicable 2: No Power Applied 3: Full Power


Applied 4: Power Save - Normal 5: Power Save - Degraded 6:
Power Save - Standby 7: Power Save - Critical 8: Power Save -
Low Power Mode 9: Power Save - Unknown 10: Power Cycle 11:
Power Warning 12: Power Off.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.

© TM Forum 2024. All Rights Reserved. Page 58


Resource Inventory Management

resourceSpecification A ResourceSpecificationRef. Resources are physical or non-


physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.
resourceStatus A ResourceStatusType. ResourceStatusType enumerations.
ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
serialNumber A String. This is a string that represents a manufacturer-allocated
number used to identify different instances of the same hardware
item. The ModelNumber and PartNumber attributes are used to
identify different types of hardware items. This is a REQUIRED
attribute.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.

© TM Forum 2024. All Rights Reserved. Page 59


Resource Inventory Management

versionNumber A String. This is a string that identifies the version of this physical
resource. This is an optional attribute.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

LogicalResource sub-resource fields

activationFeature A Feature. Configuration feature.


administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. An identification of an entity that is owned
by or originates in a software system different from the current
system, for example a ProductOrder handed off from a
commerce platform into an order handling system. The structure
identifies the system itself, the nature of the entity within the
system (e.g. class name) and the unique ID of the entity within
the system. It is anticipated that multiple external IDs can be held
for a single entity, e.g. if the entity passed through multiple
systems on the way to the current system. In this case the
consumer is expected to sequence the IDs in the array in reverse
order of provenance, i.e. most recent system first in the list.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.

© TM Forum 2024. All Rights Reserved. Page 60


Resource Inventory Management

name A String. The name of the resource.


note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
place A RelatedPlaceRef. Entity reference. The polymorphic attributes
@type, @schemaLocation & @referredType are related to the
RelatedPlace entity and not the RelatedPlaceRef class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceCharacteristic A Characteristic. Describes a given characteristic of an object or
entity through a name/value pair. This is an abstract base class,
the actual value is in one of the strongly-typed subclasses :
StringCharacteristic, ObjectCharacteristic, FloatCharacteristic,
BooleanCharacteristic, NumberCharacteristic,
IntegerCharacteristic, StringArrayCharacteristic,
ObjectArrayCharacteristic, BooleanArrayCharacteristic,
NumberArrayCharacteristic, IntegerArrayCharacteristic…
resourceOrderItem A RelatedResourceOrderItem. RelatedResourceOrderItem (a
ResourceOrder item) .The resource order item which triggered
resource creation/change/termination.
resourceRelationship A ResourceRelationship. Linked resources to the one instantiate,
such as [bundled] if the resource is a bundle and you want to
describe the bundled resources inside this bundle; [reliesOn] if
the resource needs another already owned resource to rely on
(e.g. an option on an already owned mobile access resource)
[targets] or [isTargeted] (depending on the way of expressing the
link) for any other kind of links that may be useful.
resourceSpecification A ResourceSpecificationRef. Resources are physical or non-
physical components (or some combination of these) within an
enterprise’s infrastructure or inventory. They are typically
consumed or used by services (for example a physical port
assigned to a service) or contribute to the realization of a Product
(for example, a SIM card). They can be drawn from the
Application, Computing and Network domains, and include, for
example, Network Elements, software, IT systems, content and
information, and technology components. A
ResourceSpecification is an abstract base class for representing
a generic means for implementing a particular type of Resource.
In essence, a ResourceSpecification defines the common
attributes and relationships of a set of related Resources, while
Resource defines a specific instance that is based on a particular
ResourceSpecification.

© TM Forum 2024. All Rights Reserved. Page 61


Resource Inventory Management

resourceStatus A ResourceStatusType. ResourceStatusType enumerations.


ENUMERATED with values:
* alarm
* available
* installed
* not exists
* pendingRemoval
* planned
* reserved
* standby
* suspended
* unknown
resourceVersion A String. A field that identifies the specific version of an instance
of a resource.
startOperatingDate A DateTime. A date time( DateTime). The date from which the
resource is operating.
supportingResource A ResourceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Resource
entity and not the ResourceRefOrValue class itself.
usageState A ResourceUsageStateType. ResourceUsageStateType
enumerations; values defined by ITU X.731: 'idle': The resource
is not currently in use; 'active': The resource is in use, and has
sufficient spare operating capacity to provide for additional users
simultaneously; 'busy': The resource is in use, but it has no spare
operating capacity to provide for additional users at this instant.
ENUMERATED with values:
* idle
* active
* busy
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
value A String. The value of the logical resource. E.g '0746712345' for
MSISDN’s.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.

Notification Resource Models


4 notifications are defined for this API.

Notifications related to Resource:

• Create Event
• Delete Event
• Attribute Value Change Event

© TM Forum 2024. All Rights Reserved. Page 62


Resource Inventory Management

• State Change Event

The notification structure for all notifications in this API follow the pattern depicted by the
figure below. A notification event resource (depicted by "SpecificEvent" placeholder) is a sub
class of a generic Event structure containing at least an id of the event occurrence (eventId),
an event timestamp (eventTime), and the name of the resource (eventType). This notification
structure owns an event payload structure ("SpecificEventPayload" placeholder) linked to the
resource concerned by the notification using the resource name as access field
("resourceName" placeholder).

Figure 9 Notification Pattern

Resource

Create Event

Message example for ResourceCreateEvent event

Content-Type: application/json

{
"correlationId": "73d0c149-b4e0",
"description": "ResourceCreateEvent illustration",
"domain": "Commercial",

© TM Forum 2024. All Rights Reserved. Page 63


Resource Inventory Management

"eventId": "411f-a2c0-bd4519deeaa2",
"eventTime": "2022-08-25T12:19:41.419Z",
"eventType": "ResourceCreateEvent",
"priority": "4",
"timeOcurred": "2022-08-25T12:19:34.183Z",
"title": "ResourceCreateEvent",
"event": {
"resource": {
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"description": "This is a Router resource with the category Router and with a
reserved resourceStatus for organisations.",
"category": "Router",
"startOperatingDate": "2020-03-04T00:00:00.000Z",
"endOperatingDate": "2023-09-04T08:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"resourceVersion": "v2",
"@type": "Resource",
"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "something about this resource",
"@type": "Note"
}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"@type": "ResourceRef"
}
},
© TM Forum 2024. All Rights Reserved. Page 64
Resource Inventory Management

{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"@type": "ResourceRef"
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
},
"externalIdentifier": [
{
"externalIdentifierType": "Supplier-Router-Id",
"id": "XYZ-1174-B",
"owner": "Supplier-A",
"@type": "ExternalIdentifier"
}
],
"supportingResource": [
{
"id": "918273",
"href":
"http://server:port/resourceInventoryManagement/v5/resource/918273",
"@type": "ResourceRef"
}
],
"resourceCharacteristic": [
{
"name": "casing size",
"valueType": "String",
"value": "19\"",
"@type": "StringCharacteristic"
}
],
"resourceOrderItem": [
{
"role": "supplier purchase",
"itemAction": "add",
"itemId": "1",
"resourceOrderId": "66588438-2",
"resourceOrderHref":
"http://server:port/resourceOrderManagement/v5/resourceOrder/66588438-2",
"@type": "RelatedResourceOrderItem",
"@referredType": "ResourceOrderItem"
}
],
"attachment": [
{
"id": "D-2024-05-13-X47",
"href": "http://server:port/documentManagement/v5/document/D-2024-05-13-
X47",
"description": "delivery note",
"@type": "AttachmentRef",
"@referredType": "Document"
}
]
© TM Forum 2024. All Rights Reserved. Page 65
Resource Inventory Management

}
},
"reportingSystem": {
"id": "445",
"name": "APP-655",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "62",
"name": "APP-182",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ResourceCreateEvent"
}

Delete Event

Message example for ResourceDeleteEvent event

Content-Type: application/json

{
"correlationId": "dbd2cdb0-3631",
"description": "ResourceDeleteEvent illustration",
"domain": "Commercial",
"eventId": "403f-810a-354d44291cc0",
"eventTime": "2022-08-25T12:19:41.451Z",
"eventType": "ResourceDeleteEvent",
"priority": "1",
"timeOcurred": "2022-08-25T12:19:36.643Z",
"title": "ResourceDeleteEvent",
"event": {
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"@type": "Resource"
}
},
"reportingSystem": {
"id": "445",
"name": "APP-655",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "62",
"name": "APP-182",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ResourceDeleteEvent"
}

© TM Forum 2024. All Rights Reserved. Page 66


Resource Inventory Management

Attribute Value Change Event

Message example for ResourceAttributeValueChangeEvent event

Content-Type: application/json

{
"correlationId": "da76162e-c8ca",
"description": "ResourceAttributeValueChangeEvent illustration",
"domain": "Commercial",
"eventId": "4d1f-ac04-980d628aabcc",
"eventTime": "2022-08-25T12:19:41.429Z",
"eventType": "ResourceAttributeValueChangeEvent",
"priority": "3",
"timeOcurred": "2022-08-25T12:19:38.049Z",
"title": "ResourceAttributeValueChangeEvent",
"event": {
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"name": "Port 1",
"@type": "Resource"
}
},
"reportingSystem": {
"id": "445",
"name": "APP-655",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "62",
"name": "APP-182",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ResourceAttributeValueChangeEvent"
}

State Change Event

Message example for ResourceStateChangeEvent event

Content-Type: application/json

{
"correlationId": "c9ac271e-1cf8",
"description": "ResourceStateChangeEvent illustration",
"domain": "Commercial",
"eventId": "48cf-bf1d-53aec2ec89f8",
"eventTime": "2022-08-25T12:19:41.440Z",
"eventType": "ResourceStateChangeEvent",
"priority": "4",
"timeOcurred": "2022-08-25T12:19:38.764Z",
"title": "ResourceStateChangeEvent",
"event": {
"resource": {

© TM Forum 2024. All Rights Reserved. Page 67


Resource Inventory Management

"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"operationalState": "disable",
"@type": "Resource"
}
},
"reportingSystem": {
"id": "445",
"name": "APP-655",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "62",
"name": "APP-182",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ResourceStateChangeEvent"
}

© TM Forum 2024. All Rights Reserved. Page 68


Resource Inventory Management

API OPERATIONS
Remember the following Uniform Contract:

Operation on Entities Uniform API Operation Description


Query Entities GET Resource GET must be used to retrieve a
representation of a resource.
Create Entity POST Resource POST must be used to create a
new resource
Partial Update of an Entity PATCH Resource PATCH must be used to partially
update a resource
Remove an Entity DELETE Resource DELETE must be used to
remove a resource
Execute an Action on an Entity POST on TASK Resource POST must be used to execute
Task Resources
Other Request Methods POST on TASK Resource GET and POST must not be
used to tunnel other request
methods.

Filtering and attribute selection rules are described in the TMF REST Design Guidelines.

Notifications are also described in a subsequent section.

Operations on Resource

List or find Resource objects


GET /resource?fields=…

Description

This operation list Resource entities. Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an
implementation.

Usage samples

Here's an example of a request for retrieving a list of Resource(s). The given criteria is the
category (Router) and state (active).

Request

GET /resource?category=Router&usageState=active
Content-Type: application/json

Response

© TM Forum 2024. All Rights Reserved. Page 69


Resource Inventory Management

200

[
{
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"description": "This is a Router resource with the category Router and with a
reserved resourceStatus for organisations.",
"category": "Router",
"startOperatingDate": "2020-03-04T00:00:00.000Z",
"endOperatingDate": "2023-09-04T08:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "something about this resource",
"@type": "Note"
}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"@type": "ResourceRef"
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
© TM Forum 2024. All Rights Reserved. Page 70
Resource Inventory Management

"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"@type": "ResourceRef"
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
},
"externalIdentifier": [
{
"externalIdentifierType": "Supplier-Router-Id",
"id": "XYZ-1174-B",
"owner": "Supplier-A",
"@type": "ExternalIdentifier"
}
],
"supportingResource": [
{
"id": "918273",
"href": "http://server:port/resourceInventoryManagement/v5/resource/918273",
"@type": "ResourceRef"
}
],
"resourceCharacteristic": [
{
"name": "casing size",
"valueType": "String",
"value": "19\"",
"@type": "StringCharacteristic"
}
],
"resourceOrderItem": [
{
"role": "supplier purchase",
"itemAction": "add",
"itemId": "1",
"resourceOrderId": "66588438-2",
"resourceOrderHref":
"http://server:port/resourceOrderManagement/v5/resourceOrder/66588438-2",
"@type": "RelatedResourceOrderItem",
"@referredType": "ResourceOrderItem"
}
],
"attachment": [
{
"id": "D-2024-05-13-X47",
"href": "http://server:port/documentManagement/v5/document/D-2024-05-13-
X47",
"description": "delivery note",
"@type": "AttachmentRef",
"@referredType": "Document"
}
]
}
]

© TM Forum 2024. All Rights Reserved. Page 71


Resource Inventory Management

Retrieves a Resource by ID
GET /resource/{id}?fields=…

Description

This operation retrieves a Resource entity. Attribute selection is enabled for all first level
attributes. Filtering may be available depending on the compliance level supported by an
implementation.

Usage samples

Here's an example of a request for retrieving a Resource that contains other Resources. The
given criteria is the Resource id 8044.

Request

GET /resource/8044
Content-Type: application/json

Response

200

{
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"description": "This is a Router resource with the category Router and with a
reserved resourceStatus for organisations.",
"category": "Router",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"endOperatingDate": "2023-09-04T08:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "something about this resource",
"@type": "Note"
}
],
© TM Forum 2024. All Rights Reserved. Page 72
Resource Inventory Management

"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"@type": "ResourceRef"
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"@type": "ResourceRef"
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
},
"externalIdentifier": [
{
"externalIdentifierType": "Supplier-Router-Id",
"id": "XYZ-1174-B",
"owner": "Supplier-A",
"@type": "ExternalIdentifier"
}
],
"supportingResource": [
{
"id": "918273",
"href": "http://server:port/resourceInventoryManagement/v5/resource/918273",
"@type": "ResourceRef"
}
],
"resourceCharacteristic": [
{
"name": "casing size",
"valueType": "String",
"value": "19\"",
"@type": "StringCharacteristic"
}
],
© TM Forum 2024. All Rights Reserved. Page 73
Resource Inventory Management

"resourceOrderItem": [
{
"role": "supplier purchase",
"itemAction": "add",
"itemId": "1",
"resourceOrderId": "66588438-2",
"resourceOrderHref":
"http://server:port/resourceOrderManagement/v5/resourceOrder/66588438-2",
"@type": "RelatedResourceOrderItem",
"@referredType": "ResourceOrderItem"
}
],
"attachment": [
{
"id": "D-2024-05-13-X47",
"href": "http://server:port/documentManagement/v5/document/D-2024-05-13-X47",
"description": "delivery note",
"@type": "AttachmentRef",
"@referredType": "Document"
}
]
}

Here's an example of a request for retrieving a Resource. The given criteria is the Resource
id 8045.

Request

GET /resource/8045
Content-Type: application/json

Response

200

{
"id": "8045",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8045",
"category": "Router",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"resourceCharacteristic": [
{
"name": "premiumValue",
"valueType": "string",
"value": "gold",
"@type": "StringCharacteristic"
}
],
"resourceSpecification": {
"id": "4",
"href":

© TM Forum 2024. All Rights Reserved. Page 74


Resource Inventory Management

"http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}

Creates a Resource
POST /resource?fields=…

Description

This operation creates a Resource entity.

Mandatory Attributes

Mandatory Attributes Rule


@type

Usage samples

Creation of a new Resource (a Router) containing Sub-Resources (two Ports) via a POST
operation, assuming the 'Port' Resources (ids 44 and 45) have already been created before.

Request

POST /resource
Content-Type: application/json

{
"category": "Router",
"name": "Name of the resource",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "router installed at the user's premise",
"@type": "Note"

© TM Forum 2024. All Rights Reserved. Page 75


Resource Inventory Management

}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"@type": "Resource"
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"@type": "Resource"
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}

Response

201

{
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"category": "Router",
"name": "Name of the resource",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",

© TM Forum 2024. All Rights Reserved. Page 76


Resource Inventory Management

"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "router installed at the user's premise",
"@type": "Note"
}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"@type": "Resource"
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"@type": "Resource"
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
},
"externalIdentifier": [
{
"externalIdentifierType": "Supplier-Router-Id",
"id": "XYZ-1174-B",
© TM Forum 2024. All Rights Reserved. Page 77
Resource Inventory Management

"owner": "Supplier-A",
"@type": "ExternalIdentifier"
}
],
"supportingResource": [
{
"id": "918273",
"href": "http://server:port/resourceInventoryManagement/v5/resource/918273",
"@type": "ResourceRef"
}
],
"resourceCharacteristic": [
{
"name": "casing size",
"valueType": "String",
"value": "19\"",
"@type": "StringCharacteristic"
}
],
"resourceOrderItem": [
{
"role": "supplier purchase",
"itemAction": "add",
"itemId": "1",
"resourceOrderId": "66588438-2",
"resourceOrderHref":
"http://server:port/resourceOrderManagement/v5/resourceOrder/66588438-2",
"@type": "RelatedResourceOrderItem",
"@referredType": "ResourceOrderItem"
}
],
"attachment": [
{
"id": "D-2024-05-13-X47",
"href": "http://server:port/documentManagement/v5/document/D-2024-05-13-X47",
"description": "delivery note",
"@type": "AttachmentRef",
"@referredType": "Document"
}
]
}

Creation of a new Resource with POST operation

Request

POST /resource
Content-Type: application/json

{
"category": "Router",
"name": "Name of the resource",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"relatedParty": [

© TM Forum 2024. All Rights Reserved. Page 78


Resource Inventory Management

{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "router installed at the user's premise",
"@type": "Note"
}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"@type": "Resource"
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"@type": "Resource"
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}

Response

© TM Forum 2024. All Rights Reserved. Page 79


Resource Inventory Management

201

{
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"category": "Router",
"name": "Name of the resource",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "router installed at the user's premise",
"@type": "Note"
}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"@type": "Resource"
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
© TM Forum 2024. All Rights Reserved. Page 80
Resource Inventory Management

"@type": "Resource"
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
},
"externalIdentifier": [
{
"externalIdentifierType": "Supplier-Router-Id",
"id": "XYZ-1174-B",
"owner": "Supplier-A",
"@type": "ExternalIdentifier"
}
],
"supportingResource": [
{
"id": "918273",
"href": "http://server:port/resourceInventoryManagement/v5/resource/918273",
"@type": "ResourceRef"
}
],
"resourceCharacteristic": [
{
"name": "casing size",
"valueType": "String",
"value": "19\"",
"@type": "StringCharacteristic"
}
],
"resourceOrderItem": [
{
"role": "supplier purchase",
"itemAction": "add",
"itemId": "1",
"resourceOrderId": "66588438-2",
"resourceOrderHref":
"http://server:port/resourceOrderManagement/v5/resourceOrder/66588438-2",
"@type": "RelatedResourceOrderItem",
"@referredType": "ResourceOrderItem"
}
],
"attachment": [
{
"id": "D-2024-05-13-X47",
"href": "http://server:port/documentManagement/v5/document/D-2024-05-13-X47",
"description": "delivery note",
"@type": "AttachmentRef",
"@referredType": "Document"
}
]
}

Updates partially a Resource


PATCH /resource/{id}?fields=…

© TM Forum 2024. All Rights Reserved. Page 81


Resource Inventory Management

Description

This operation allows partial updates of a Resource entity. Support of json/merge


(https://tools.ietf.org/html/rfc7396) is mandatory, support of json/patch (http://tools.ietf.org/
html/rfc5789) is optional. Note: If the update operation yields to the creation of sub-resources
or relationships, the same rules concerning mandatory sub-resource attributes and default
value settings in the POST operation applies to the PATCH operation. Hence these tables
are not repeated here.

Patchable and Non Patchable Attributes

Non Patchable Attributes Rule


href
id
@baseType @baseType is immutable
@schemaLocation @schemaLocation is immutable
@type @type is immutable

Patchable Attributes Rule


activationFeature
administrativeState
attachment
category
description
endOperatingDate
externalIdentifier
intent
name
note
operationalState
place
relatedParty
resourceCharacteristic
resourceOrderItem
resourceRelationship
resourceSpecification
resourceStatus
resourceVersion
startOperatingDate

© TM Forum 2024. All Rights Reserved. Page 82


Resource Inventory Management

Patchable Attributes Rule


supportingResource
usageState
validFor

Usage samples

Update a Resource using json-patch-query+json

Request

PATCH /resource/{id}
Content-Type: application/json-patch-query+json

[
{
"op": "replace",
"path": ".note[?(@.date=='2024-05-18T010:54:42.690Z')]",
"value": {
"text": "Port 1 configured"
}
}
]

Response

200

{
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"category": "Router",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"administrativeState": "unlocked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "router installed at the user's premise",

© TM Forum 2024. All Rights Reserved. Page 83


Resource Inventory Management

"@type": "Note"
},
{
"text": "Port 1 configured",
"author": "Maria Doe",
"date": "2024-05-18T010:54:42.690Z",
"@type": "Note"
}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"description": "This is Port 1 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"description": "This is Port 2 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
© TM Forum 2024. All Rights Reserved. Page 84
Resource Inventory Management

"id": "56",
"href": "http://server:port/resourceInventoryManagement/v5/resource/56",
"description": "This is Port 15 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
},
"externalIdentifier": [
{
"externalIdentifierType": "Supplier-Router-Id",
"id": "XYZ-1174-B",
"owner": "Supplier-A",
"@type": "ExternalIdentifier"
}
],
"supportingResource": [
{
"id": "918273",
"href": "http://server:port/resourceInventoryManagement/v5/resource/918273",
"@type": "ResourceRef"
}
],
"resourceCharacteristic": [
{
"name": "casing size",
"valueType": "String",
"value": "19\"",
"@type": "StringCharacteristic"
}
],
"resourceOrderItem": [
{
"role": "supplier purchase",
"itemAction": "add",
"itemId": "1",
"resourceOrderId": "66588438-2",
"resourceOrderHref":
"http://server:port/resourceOrderManagement/v5/resourceOrder/66588438-2",
"@type": "RelatedResourceOrderItem",
"@referredType": "ResourceOrderItem"
}
],
"attachment": [
{
"id": "D-2024-05-13-X47",
"href": "http://server:port/documentManagement/v5/document/D-2024-05-13-X47",
"description": "delivery note",
"@type": "AttachmentRef",
© TM Forum 2024. All Rights Reserved. Page 85
Resource Inventory Management

"@referredType": "Document"
}
]
}

Update a Resource using json-patch

Request

PATCH /resource/{id}
Content-Type: application/json-patch+json

[
{
"op": "replace",
"path": "/administrativeState",
"value": "unlocked"
},
{
"op": "add",
"path": "/resourceRelationship",
"value": {
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"description": "This is Port 15 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}
}
}
]

Response

200

{
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"category": "Router",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"administrativeState": "unlocked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"relatedParty": [
{

© TM Forum 2024. All Rights Reserved. Page 86


Resource Inventory Management

"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "router installed at the user's premise",
"@type": "Note"
}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9912",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9912",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"description": "This is Port 1 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"description": "This is Port 2 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
© TM Forum 2024. All Rights Reserved. Page 87
Resource Inventory Management

"@referredType": "ResourceSpecification"
}
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "56",
"href": "http://server:port/resourceInventoryManagement/v5/resource/56",
"description": "This is Port 15 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}

PATCH Resource request leveraging merge-patch+json application example

Request

PATCH /resource/{id}
Content-Type: application/merge-patch+json

{
"@type": "Resource",
"place": [
{
"@type": "RelatedPlaceRef",
"role": "installationAddress",
"place": {
"id": "9012",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9012",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
]
}

Response

© TM Forum 2024. All Rights Reserved. Page 88


Resource Inventory Management

200

{
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"category": "Router",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",
"name": "John Doe",
"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "router installed at the user's premise",
"@type":"Note"
}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9012",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9012",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"description": "This is Port 1 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
© TM Forum 2024. All Rights Reserved. Page 89
Resource Inventory Management

}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"description": "This is Port 2 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}
}
],
"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
},
"externalIdentifier": [
{
"externalIdentifierType": "Supplier-Router-Id",
"id": "XYZ-1174-B",
"owner": "Supplier-A",
"@type": "ExternalIdentifier"
}
],
"supportingResource": [
{
"id": "918273",
"href": "http://server:port/resourceInventoryManagement/v5/resource/918273",
"@type": "ResourceRef"
}
],
"resourceCharacteristic": [
{
"name": "casing size",
"valueType": "String",
"value": "19\"",
"@type": "StringCharacteristic"
}
],
"resourceOrderItem": [
{
"role": "supplier purchase",
"itemAction": "add",
"itemId": "1",
"resourceOrderId": "66588438-2",
"resourceOrderHref":
"http://server:port/resourceOrderManagement/v5/resourceOrder/66588438-2",
"@type": "RelatedResourceOrderItem",
"@referredType": "ResourceOrderItem"
}
],
© TM Forum 2024. All Rights Reserved. Page 90
Resource Inventory Management

"attachment": [
{
"id": "D-2024-05-13-X47",
"href": "http://server:port/documentManagement/v5/document/D-2024-05-13-X47",
"description": "delivery note",
"@type": "AttachmentRef",
"@referredType": "Document"
}
]
}

PATCH Resource request leveraging json application example

Request

PATCH /resource/{id}
Content-Type: application/json

{
"@type": "Resource",
"place": [
{
"@type": "RelatedPlaceRef",
"role": "installationAddress",
"place": {
"id": "9012",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9012",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
]
}

Response

200

{
"id": "8044",
"href": "http://server:port/resourceInventoryManagement/v5/resource/8044",
"category": "Router",
"startOperatingDate": "2020-08-04T00:00:00.000Z",
"administrativeState": "locked",
"operationalState": "enable",
"usageState": "active",
"resourceStatus": "reserved",
"version": "v2",
"@type": "Resource",
"relatedParty": [
{
"role": "user",
"@type": "RelatedPartyRefOrPartyRoleRef",
"partyOrPartyRole": {
"href": "https://server:port/tmf-api/partyManagement/v5/individual/456",
"id": "456",

© TM Forum 2024. All Rights Reserved. Page 91


Resource Inventory Management

"name": "John Doe",


"@type": "PartyRef",
"@referredType": "Individual"
}
}
],
"note": [
{
"text": "router installed at the user's premise",
"@type":"Note"
}
],
"place": [
{
"role": "installationAddress",
"@type": "RelatedPlaceRef",
"place": {
"id": "9012",
"href":
"https://host:port/geographicAddressManagement/v5/geographicAddress/9012",
"@type": "PlaceRef",
"@referredType": "GeographicAddress"
}
}
],
"resourceRelationship": [
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "44",
"href": "http://server:port/resourceInventoryManagement/v5/resource/44",
"description": "This is Port 1 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}
},
{
"relationshipType": "contains",
"@type": "ResourceRelationship",
"resource": {
"id": "45",
"href": "http://server:port/resourceInventoryManagement/v5/resource/45",
"description": "This is Port 2 contained in the Router.",
"category": "Port",
"@type": "Resource",
"resourceSpecification": {
"id": "1004",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/1004",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
}
}
}
],
© TM Forum 2024. All Rights Reserved. Page 92
Resource Inventory Management

"resourceSpecification": {
"id": "4",
"href": "
http://server:port/resourceCatalogManagement/v5/resourceSpecification/4",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification"
},
"externalIdentifier": [
{
"externalIdentifierType": "Supplier-Router-Id",
"id": "XYZ-1174-B",
"owner": "Supplier-A",
"@type": "ExternalIdentifier"
}
],
"supportingResource": [
{
"id": "918273",
"href": "http://server:port/resourceInventoryManagement/v5/resource/918273",
"@type": "ResourceRef"
}
],
"resourceCharacteristic": [
{
"name": "casing size",
"valueType": "String",
"value": "19\"",
"@type": "StringCharacteristic"
}
],
"resourceOrderItem": [
{
"role": "supplier purchase",
"itemAction": "add",
"itemId": "1",
"resourceOrderId": "66588438-2",
"resourceOrderHref":
"http://server:port/resourceOrderManagement/v5/resourceOrder/66588438-2",
"@type": "RelatedResourceOrderItem",
"@referredType": "ResourceOrderItem"
}
],
"attachment": [
{
"id": "D-2024-05-13-X47",
"href": "http://server:port/documentManagement/v5/document/D-2024-05-13-X47",
"description": "delivery note",
"@type": "AttachmentRef",
"@referredType": "Document"
}
]
}

Deletes a Resource
DELETE /resource/{id}

Description

This operation deletes a Resource entity.

© TM Forum 2024. All Rights Reserved. Page 93


Resource Inventory Management

API NOTIFICATIONS
For every single of operation on the entities use the following templates and provide sample
REST notification POST calls.

It is assumed that the Pub/Sub uses the Register and UnRegister mechanisms described in
the REST Guidelines reproduced below.

Register listener
POST /hub

Description

Sets the communication endpoint address the service instance must use to deliver
information about its health state, execution state, failures and metrics. Subsequent POST
calls will be rejected by the service if it does not support multiple listeners. In this case
DELETE /api/hub/{id} must be called before an endpoint can be created again.

Behavior

Returns HTTP/1.1 status code 204 if the request was successful.

Returns HTTP/1.1 status code 409 if request is not successful.

Usage Samples

Here’s an example of a request for registering a listener.

Request

POST /api/hub

Accept: application/json

{
"callback": "http://in.listener.com"
}

Response

201

Content-Type: application/json

Location: /api/hub/42

{
"id":"42",
"callback": "http://in.listener.com",
"query":""
}

© TM Forum 2024. All Rights Reserved. Page 94


Resource Inventory Management

Unregister listener
DELETE /hub/{id}

Description

Clears the communication endpoint address that was set by creating the Hub..

Behavior

Returns HTTP/1.1 status code 204 if the request was successful.

Returns HTTP/1.1 status code 404 if the resource is not found.

Usage Samples

Here’s an example of a request for un-registering a listener.

Request

DELETE /api/hub/42

Accept: application/json

Response

204

Publish Event to listener


POST /client/listener

Description

Clears the communication endpoint address that was set by creating the Hub.

Provides to a registered listener the description of the event that was raised. The
/client/listener url is the callback url passed when registering the listener.

Behavior

Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

Usage Samples

Here’s an example of a notification received by the listener. In this example “EVENT TYPE”
should be replaced by one of the notification types supported by this API (see Notification
resources Models section) and EVENT BODY refers to the data structure of the given
notification type.

Request
© TM Forum 2024. All Rights Reserved. Page 95
Resource Inventory Management

POST /client/listener

Accept: application/json

{
"event": {
EVENT BODY
},
"eventType": "EVENT_TYPE"
}

Response

201

For detailed examples on the general TM Forum notification mechanism, see the TMF REST
Design Guidelines.

© TM Forum 2024. All Rights Reserved. Page 96


Resource Inventory Management

Acknowledgements
Release History
Release Date Release led by: Description
Number

Contributors to Document
Version Date Modified by Description
Number
5.0.0 04.06.2024 Lutz Bettge migrated to version 5
Alexander Klörig
Deutsche Telekom

© TM Forum 2024. All Rights Reserved. Page 97

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy