TMF622 Product Ordering Userguide
TMF622 Product Ordering Userguide
ProductOrdering
TMF622
NOTICE
Copyright © TM Forum 2023. 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.
Table of Contents
NOTICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Product Order state lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Cancel Product Order state lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Sample Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Use case 1 (UC1): Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Use case 2 (UC2): Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Support of polymorphism and extension patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
RESOURCE MODEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Managed Entity and Task Resource Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ProductOrder resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
CancelProductOrder resource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Notification Resource Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Product Order Delete Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Product Order Information Required Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Product Order State Change Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Product Order Jeopardy Alert Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Product Order Create Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Product Order Milestone Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Product Order Attribute Value Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Product Order Error Message Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Cancel Product Order State Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Cancel Product Order Create Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Cancel Product Order Information Required Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
API OPERATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Operations on ProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
List or find ProductOrder objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Retrieves a ProductOrder by ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Creates a ProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Updates partially a ProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Deletes a ProductOrder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Operations on CancelProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
List or find CancelProductOrder objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Retrieves a CancelProductOrder by ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Creates a CancelProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
API NOTIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Register listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Unregister listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Publish Event to listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Introduction
The following document is the user guide of the REST API for Product Ordering
management. It includes the model definition as well as all available operations. Possible
actions are creating, updating and retrieving Product Orders. The specification covers also a
task-based resource to request Product Order Cancellation.
The Product Ordering API provides a standardized mechanism for placing a product order
with all of the necessary order parameters. The API consists of a simple set of operations
that interact with Customer Relationship Management / Order Negotiation systems in a
consistent manner. A product order is created based on a product offer that is defined in a
catalog. The product offer identifies the product or set of products that are available to a
customer, and includes characteristics such as pricing, product options and market. The
product order references the product offer and identifies any specific requests made by the
customer.
• A Product Order is a type of order which can be used to place an order between a
customer and a service provider or between a service provider and a partner and vice
versa
• Main Product Order attributes are its identifier, state, priority, category (mass market,
enterprise, etc.), related dates (acknowledged, inProgress, completed…), related billing
account, related parties and order items
• Main Order Items (aka order lines) attributes are the ordered offering and product
characteristics with the related action to be performed (e.g. add or delete the products),
state, location information for delivery.
• The Order Management system has access to the commercial catalog system.
• The Order Management system has the capability to assess product order cancellation
request.
A Product Order is a type of order which can be used to place an order between a customer
and a service provider or between a service provider and a partner.
State Definition
Acknowledged The Acknowledged state is where an order/item
has been received and has passed message and
basic business validations.
Rejected The Rejected state is where: An order failed the
Order Feasibility check / Invalid information is
provided through the order request / The order
request fails to meet business rules for ordering
Same rules applied for order item.
State Definition
Pending The Pending state is used when an order/item is
currently in a waiting stage for an action/activity to
be completed before the order/item can progress
further, pending order amend or cancel
assessment. In situations where Access Seeker
action is required, an “information required”
notification will be issued on transition into this
state. A pending stage can lead into auto
cancellation of an order/item, if no action is taken
within the defined timeframes to be described
under the Agreement.
InProgress The In Progress state is where an order Item has
passed the Order Feasibility check successfully
and product delivery has started. For the order at
least one order item is inProgress
Held The Held state is used when an order/item cannot
be progressed due to an issue. SP has
temporarily delayed completing an order/item to
resolve an infrastructure shortfall to facilitate
supply of order. Upon resolution of the issue, the
order/item will continue to progress.
AssessingCancellation Following a cancel request, the SP is assessing if
cancel can be done for the order/item (or if the
PO has reached PONR). If cancellation request is
not accepted after assessment the order will
return in Held or Pending or InProgress state.
PendingCancellation Once a cancel order has been accepted by SP, it
could in some UC take time to effectively cancel
the order/item. During this time when accepted
cancellation is effectively processed we use
Pending Cancellation.
Cancelled The Cancelled state is where an In-Flight
Order/item has been successfully cancelled.
Completed The Completed state is where an item has
complete provision and the service is now active.
For an order all order item are completed
Failed Order item as not a successful delivery
completion. The product is not delivered and the
order item failed. All Order items have failed
which results in the entire Order has Failed.
Partial Some Order items have failed and some have
succeeded so the entire Order is in a Partial
state. This provides support for partial Failure of
an Order. This state is not available at item level
• The choice to accept order is done for the complete order and we cannot have a partial
acceptance with some item in rejected and some other in acknowledged.
© TM Forum 2023. All Rights Reserved. Page 5
ProductOrdering
• Consistence rules must be defined between order state & order item state (example: an
order has a failed state if it has all order item state with Completed or Failed status with
at least one Completed and one Failed)
State Definition
Acknowledged The acknowledged state is where a cancellation
request has been received and has passed
message and basic business validations.
InProgress The In Progress state is when the cancel request
is currently in the hands of the SP sales team to
assess customer cancel request.
TerminatedWithErrors The Cancellation Request could not be correctly
completed by SP sales team. Cancel result is not
available.
Done Cancellation request has been assessed and
result available.
To illustrate JSON representation of resources concerned by these APIs, we use the two use
cases detailed below.
Generic support of polymorphism and pattern extensions is described in the TMF API
Guidelines v3.0 Part 2 document.
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 @baseType attribute gives a way to provide explicitly the base of class of a given
resource that has been extended.
RESOURCE MODEL
Managed Entity and Task Resource Models
ProductOrder resource
A Product Order is a type of order which can be used to place an order between a customer
and a service provider or between a service provider and a partner and vice versa,.
Resource model
Figure 1 - ProductOrder
Figure 2 - GeographicAddress
Figure 3 - Intent
Figure 4 - ProductOrderItem
Figure 5 - Product
Field descriptions
ProductOrder fields
day A String. Day where the calendar status applies (e.g.: monday,
mon-to-fri, weekdays, weekend, all week, …).
hourPeriod A HourPeriod.
status A String. Indication of the availability of the caledar period (e.g.:
available, booked, etc.).
timeZone A String. Indication of the timezone applicable to the calendar
information (e.g.: Paris, GMT+1).
@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.
contactType A String. Type of the contact medium to qualifiy it like pro email /
personal email. This is not used to define the contact medium
used.
id A String. Identifier for this contact medium.
preferred A Boolean. If true, indicates that is the preferred contact medium.
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.
bbox A Number. A bounding box array that contains the geometry. The
axes order follows the axes order of the geometry.
href A String. Hyperlink reference.
id A String. Unique identifier.
@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.
calendar A CalendarPeriod.
code A String. A code that may be used for some addressing schemes
eg: [ANSI T1.253-1999].
creationDate A DateTime. Date and time when the GeographicSite was
created.
description A String. Text describing additional information regarding the site.
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.
place A PlaceRefOrValue. The polymorphic attributes @type,
@schemaLocation & @referredType are related to the Place
entity and not the PlaceRefOrValue class itself.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
siteRelationship A GeographicSiteRelationship.
status A String. The condition of the GeographicSite, such as planned,
underConstruction, cancelled, active, inactive, former.
@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.
subUnitNumber A String. The discriminator used for the subunit, often just a
simple number but may also be a range.
alertDate A DateTime. A date time( DateTime). The date that the alert
issued.
exception A String. The exception associated with this jeopardy alert.
id A String. Identifier of the JeopardyAlert.
jeopardyType A String. A string represents the type of jeopardy/risk like
Normal, Hazard, Critical, …
message A String. A string represents the message of the alert.
name A String. A string used to give a name to the jeopardy alert.
@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.
organization An OrganizationRef.
relationshipType A String. Type of the relationship. Could be juridical, hierarchical,
geographical, functional for example.
@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.
organization An OrganizationRef.
relationshipType A String. Type of the relationship. Could be juridical, hierarchical,
geographical, functional for example.
@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.
@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.
productSerialNumber A String. Is the serial number for the product. This is typically
applicable to tangible products e.g. Broadband Router.
productSpecification A ProductSpecificationRef. ProductSpecification reference. A
product Specification represents entities that are orderable from
the provider of the catalog.
productTerm A ProductTerm. Description of a productTerm linked to this
product. This represent a commitment with a duration.
realizingResource A ResourceRef. Resource reference, for when Resource is used
by other entities.
realizingService A ServiceRef. Service reference, for when Service is used by
other entities.
relatedParty A RelatedPartyOrPartyRole. RelatedParty reference. A related
party defines party or party role or its reference, linked to a
specific entity.
startDate A DateTime. Is the date from which the product starts.
status A ProductStatusType. Possible values for the status of the
product.
terminationDate A DateTime. Is the date when the product was terminated.
@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.
alertDate A DateTime. A date time( DateTime). The date that the alert
issued.
exception A String. The exception associated with this jeopardy alert.
id A String. Identifier of the JeopardyAlert.
jeopardyType A String. A string represents the type of jeopardy/risk like
Normal, Hazard, Critical, …
message A String. A string represents the message of the alert.
name A String. A string used to give a name to the jeopardy alert.
productOrderItem A ProductOrderItemRef. A list of order item references
corresponded to this alert.
@baseType A String. When sub-classing, this defines the super-class.
partyOrPartyRole A PartyOrPartyRole.
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.
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.
@schemaLocation A Uri. This field provides a link to the schema describing the
target product.
@type A String. Class type of the target product.
{
"note": [{
"date": "2019-04-30T08:13:59.509Z",
"author": "Jean Pontus",
"@type": "Note",
"id": "1",
"text": "This is a TMF product order illustration"
}],
"@type": "ProductOrder",
"channel": [{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"@type": "ChannelRef",
"name": "Online channel",
"id": "1"
}
}],
"description": "Product Order illustration sample",
"externalId": [{
"owner": "TMF",
"externalIdentifierType": "POnumber",
"@type": "ExternalIdentifier",
"id": "456"
}],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"productOrderItem": [
{
"quantity": 1,
"productOffering": {
"@type": "ProductOfferingRef",
"name": "TMF25",
"id": "14277",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14277"
© TM Forum 2023. All Rights Reserved. Page 56
ProductOrdering
},
"@type": "ProductOrderItem",
"action": "add",
"id": "100",
"state": "completed",
"productOrderItemRelationship": [
{
"relationshipType": "bundles",
"@type": "OrderItemRelationship",
"id": "110"
},
{
"relationshipType": "bundles",
"@type": "OrderItemRelationship",
"id": "120"
},
{
"relationshipType": "bundles",
"@type": "OrderItemRelationship",
"id": "130"
}
]
},
{
"product": {
"isBundle": false,
"productSpecification": {
"@type": "ProductSpecificationRef",
"name": "Mobile Telephony",
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"version": "1"
},
"@type": "Product",
"productCharacteristic": [{
"@type": "StringCharacteristic",
"valueType": "string",
"name": "TEL_MSISDN",
"id": "Char6",
"value": "415 279 7439"
}]
},
"quantity": 1,
"productOffering": {
"@type": "ProductOfferingRef",
"name": "TMF Mobile Telephony",
"id": "14305",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305"
},
"@type": "ProductOrderItem",
"action": "add",
"itemPrice": [{
"@type": "OrderPrice",
"price": {
"taxRate": 0,
"@type": "Price",
"taxIncludedAmount": {
"unit": "EUT",
"@type": "Money",
"value": 0.99
},
© TM Forum 2023. All Rights Reserved. Page 57
ProductOrdering
"dutyFreeAmount": {
"unit": "EUR",
"@type": "Money",
"value": 0.99
}
},
"name": "Access Fee",
"priceType": "nonRecurring",
"description": "Access Fee"
}],
"payment": [{
"@referredType": "CashPayment",
"@type": "PaymentRef",
"name": "Cash payment for access fee",
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365"
}],
"id": "110",
"state": "completed"
},
{
"itemTerm": [{
"duration": {
"amount": 12,
"@type": "Duration",
"units": "month"
},
"@type": "OrderTerm",
"name": "12Months",
"description": "Tariff plan 12 Months commitment"
}],
"product": {
"isBundle": false,
"productSpecification": {
"@type": "ProductSpecificationRef",
"name": "TMF Tariff plan",
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"version": "1"
},
"@type": "Product"
},
"quantity": 1,
"productOffering": {
"@type": "ProductOfferingRef",
"name": "TMF Tariff Plan",
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344"
},
"@type": "ProductOrderItem",
"action": "add",
"itemPrice": [{
"@type": "OrderPrice",
"price": {
"taxRate": 0,
"@type": "Price",
"taxIncludedAmount": {
"unit": "EUR",
"@type": "Money",
"value": 20
},
© TM Forum 2023. All Rights Reserved. Page 58
ProductOrdering
"dutyFreeAmount": {
"unit": "EUR",
"@type": "Money",
"value": 20
}
},
"name": "MonthlyFee",
"priceType": "recurring",
"description": "Tariff plan monthly fee",
"recurringChargePeriod": "month",
"priceAlteration": [{
"applicationDuration": 3,
"@type": "PriceAlteration",
"price": {
"taxRate": 0,
"@type": "Price",
"percentage": 20
},
"name": "WelcomeDiscount",
"priceType": "recurring",
"description": "20% for first 3 months",
"priority": 1,
"recurringChargePeriod": "month"
}]
}],
"id": "120",
"state": "completed",
"billingAccount": {
"@type": "BillingAccountRef",
"id": "1513",
"href": "https://host:port/billingAccountManagement/v5/billingAccount/1513"
},
"productOrderItemRelationship": [{
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship",
"id": "110"
}]
},
{
"product": {
"isBundle": false,
"productSpecification": {
"@type": "ProductSpecificationRef",
"name": "Coverage",
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"version": "1"
},
"@type": "Product",
"productCharacteristic": [{
"@type": "StringCharacteristic",
"valueType": "string",
"name": "CoverageOptions",
"id": "Char7",
"value": "National"
}]
},
"quantity": 1,
"productOffering": {
"@type": "ProductOfferingRef",
"name": "Coverage Options",
"id": "14354",
© TM Forum 2023. All Rights Reserved. Page 59
ProductOrdering
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354"
},
"@type": "ProductOrderItem",
"action": "add",
"id": "130",
"state": "completed",
"productOrderItemRelationship": [{
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship",
"id": "110"
}]
}
],
"relatedParty": [
{
"partyOrPartyRole": {
"@referredType": "Individual",
"@type": "PartyRef",
"name": "Joe Doe",
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45"
},
"role": "Seller",
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"partyOrPartyRole": {
"@referredType": "Customer",
"@type": "PartyRoleRef",
"name": "Jean Pontus",
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4"
},
"role": "Customer",
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"completionDate": "2019-05-02T08:13:59.506Z",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"state": "completed",
"category": "B2C product order",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z"
}
CancelProductOrder resource
Request for cancellation an existing product order.
Resource model
Figure 6 - CancelProductOrder
Field descriptions
CancelProductOrder fields
{
"requestedCancellationDate": "2021-08-30T09:14:46.145Z",
"cancellationReason": "Duplicate order",
"@type": "CancelProductOrder",
"productOrder": {
"@referredType": "ProductOrderRef",
"@type": "ProductOrder",
"id": "45f-98f-ss45",
"href": "https://host:port/productOrderingManagement/v5/productOrder/45f-98f-
ss45"
},
"id": "789-fsds5-kjp",
"href": "https://host:port/productOrderingManagement/v5/cancelProductOrder/789-
fsds5-kjp",
"state": "done",
"creationDate": "2019-04-30T08:13:59.506Z",
"effectiveCancellationDate": "2021-08-30T11:14:46.145Z"
}
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).
Content-Type: application/json
{
"correlationId": "145d-8hh",
"description": "ProductOrderDeleteEvent illustration",
"domain": "Commercial",
"eventId": "523",
"eventTime": "2021-09-27T07:43:59.059Z",
"eventType": "ProductOrderDeleteEvent",
"priority": "3",
"timeOcurred": "2021-09-27T07:43:59.059Z",
"title": "ProductOrderDeleteEvent",
"event": {
"productOrder": {
"id": "9693",
"href": "https://host:port/productOrderingManagement/v5/productOrder/9693",
"@type": "ProductOrder",
"@referredType": "ProductOrderRef"
}
},
"reportingSystem": {
© TM Forum 2023. All Rights Reserved. Page 64
ProductOrdering
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ProductOrderDeleteEvent"
}
Content-Type: application/json
{
"correlationId": "qs1-k33",
"description": "ProductOrderInformationRequiredEvent illustration",
"domain": "Commercial",
"eventId": "966",
"eventTime": "2021-09-27T07:43:59.059Z",
"eventType": "ProductOrderInformationRequiredEvent",
"priority": "1",
"timeOcurred": "2021-09-27T07:43:59.059Z",
"title": "ProductOrderInformationRequiredEvent",
"event": {
"productOrder": {
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"@type": "ProductOrder",
"@referredtype": "ProductOrderRef"
},
"informationRequired": {
"op": "add",
"path": "agreement.id"
}
},
"reportingSystem": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ProductOrderInformationRequiredEvent"
}
Content-Type: application/json
{
"correlationId": "333-fd6",
"description": "ProductOrderStateChangeEvent illustration",
"domain": "Commercial",
"eventId": "569",
"eventTime": "2021-09-27T07:43:59.059Z",
"eventType": "ProductOrderStateChangeEvent",
"priority": "1",
"timeOcurred": "2021-09-27T07:43:59.059Z",
"title": "ProductOrderStateChangeEvent",
"event": {
"productOrder": {
"id": "9693",
"href": "https://host:port/productOrderingManagement/v5/productOrder/9693",
"@type": "ProductOrder",
"state": "inProgress",
"itemStateChange": [
{
"itemId": "1",
"state": "inProgress"
},
{
"itemId": "2",
"state": "inProgress"
}
]
}
},
"reportingSystem": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ProductOrderStateChangeEvent"
}
Content-Type: application/json
{
"correlationId": "8a1d7f00-245b",
Content-Type: application/json
{
"correlationId": "126-54f",
"description": "ProductOrderCreateEvent illustration",
"domain": "Commercial",
"eventId": "125",
"eventTime": "2021-09-27T07:43:59.059Z",
"eventType": "ProductOrderCreateEvent",
"priority": "1",
"timeOcurred": "2021-09-27T07:43:59.059Z",
"title": "ProductOrderCreateEvent",
"event": {
"productOrder": {
"id": "30001",
© TM Forum 2023. All Rights Reserved. Page 67
ProductOrdering
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"category": "B2C product order",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifierExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
"action": "add",
"productOffering": {
"id": "14277",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
© TM Forum 2023. All Rights Reserved. Page 68
ProductOrdering
}
],
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"@type": "OrderPrice",
"priceType": "nonRecurring",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99,
"@type": "Money"
},
"taxIncludedAmount": {
"unit": "EUT",
"value": 0.99,
"@type": "Money"
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"valueType": "string",
"value": "415 279 7439"
}
],
"productSpecification": {
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14305",
© TM Forum 2023. All Rights Reserved. Page 69
ProductOrdering
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1513",
"href":
"https://host:port/billingAccountManagement/v5/billingAccount/1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20,
"@type": "Money"
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20,
"@type": "Money"
}
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
"priceType": "recurring",
"priority": 1,
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
"@type": "OrderTerm",
"duration": {
© TM Forum 2023. All Rights Reserved. Page 70
ProductOrdering
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"name": "TMF Tariff plan",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344",
"name": "TMF Tariff Plan",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "130",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"valueType": "string",
"value": "National"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14354",
"href":
© TM Forum 2023. All Rights Reserved. Page 71
ProductOrdering
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "acknowledged",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "acknowledged",
"@type": "ProductOrder"
}
},
"relatedParty": [
{
"role": "Issuer",
"partyOrPartyRole": {
"id": "56d",
"href": "https://host:port/partyManagement/v5/organization/56d",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Organization"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"reportingSystem": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
© TM Forum 2023. All Rights Reserved. Page 72
ProductOrdering
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ProductOrderCreateEvent"
}
Content-Type: application/json
{
"correlationId": "8a1d7f00-245b",
"description": "ProductOrderMilestoneEvent illustration",
"domain": "Commercial",
"eventId": "467c-937d-9afe827e85ee",
"eventTime": "2022-09-14T12:14:28.774Z",
"eventType": "ProductOrderMilestoneEvent",
"priority": "3",
"timeOcurred": "2022-09-14T12:14:23.473Z",
"title": "ProductOrderMilestoneEvent",
"event": {
"productOrder": {
"href": "http://servername/productOrder/30001",
"id": "30001",
"@type": "ProductOrder",
"@referredtype": "ProductOrderRef",
"productOrderMilestone": [
{
"id": "456-dd-df45",
"message": "ready to be submitted",
"milestoneDate": "2022-09-14T12:14:23.473Z",
"status": "Completed",
"@type": "Milestone"
}
]
}
},
"reportingSystem": {
"id": "533",
"name": "APP-963",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "200",
"name": "APP-893",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ProductOrderMilestoneEvent"
}
Content-Type: application/json
{
"correlationId": "8a1d7f00-245b",
"description": "ProductOrderAttributeValueChangeEvent illustration",
"domain": "Commercial",
"eventId": "467c-937d-9afe827e85ee",
"eventTime": "2022-09-14T12:14:28.774Z",
"eventType": "ProductOrderAttributeValueChangeEvent",
"priority": "3",
"timeOcurred": "2022-09-14T12:14:23.473Z",
"title": "ProductOrderAttributeValueChangeEvent",
"event": {
"productOrder": {
"href": "http://servername/productOrder/30001",
"id": "30001",
"@type": "ProductOrder",
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-
df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-
hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
]
}
},
"reportingSystem": {
"id": "533",
"name": "APP-963",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "200",
"name": "APP-893",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ProductOrderAttributeValueChangeEvent"
}
Content-Type: application/json
{
"correlationId": "8a1d7f00-245b",
"description": "ProductOrderErrorMessageEvent illustration",
"domain": "Commercial",
"eventId": "467c-937d-9afe827e85ee",
"eventTime": "2022-09-14T12:14:28.774Z",
"eventType": "ProductOrderErrorMessageEvent",
"priority": "3",
"timeOcurred": "2022-09-14T12:14:23.473Z",
"title": "ProductOrderErrorMessageEvent",
"event": {
"productOrder": {
"href": "http://servername/productOrder/30001",
"id": "30001",
"@type": "ProductOrder",
"productOrderErrorMessage": [
{
"code": "456-dd-df45",
"reason": "missing product configuration attribute",
"message": "product characteristic information are not consistent",
"timestamp": "2022-09-14T12:14:23.473Z",
"@type": "ErrorMessage"
}
]
}
},
"reportingSystem": {
"id": "533",
"name": "APP-963",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "200",
"name": "APP-893",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "ProductOrderErrorMessageEvent"
}
Content-Type: application/json
© TM Forum 2023. All Rights Reserved. Page 75
ProductOrdering
{
"correlationId": "456-fff",
"description": "CancelProductOrderStateChangeEvent illustration",
"domain": "Commercial",
"eventId": "129",
"eventTime": "2021-09-28T07:43:59.059Z",
"eventType": "CancelProductOrderStateChangeEvent",
"priority": "1",
"timeOcurred": "2021-09-28T07:43:59.059Z",
"title": "CancelProductOrderStateChangeEvent",
"event": {
"cancelProductOrder": {
"id": "789-fsds5-kjp",
"href":
"https://host:port/productOrderingManagement/v5/cancelProductOrder/789-fsds5-kjp",
"cancellationReason": "Duplicate order",
"creationDate": "2019-04-30T08:13:59.506Z",
"requestedCancellationDate": "2021-08-30T09:14:46.145Z",
"productOrder": {
"id": "45f-98f-ss45",
"href": "https://host:port/productOrderingManagement/v5/productOrder/45f-
98f-ss45",
"@referredType": "ProductOrder",
"@type": "ProductOrderRef"
},
"state": "inProgress",
"@type": "CancelProductOrder"
}
},
"relatedParty": [
{
"role": "Issuer",
"partyOrPartyRole": {
"id": "56d",
"href": "https://host:port/partyManagement/v5/organization/56d",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Organization"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"reportingSystem": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "CancelProductOrderStateChangeEvent"
}
Content-Type: application/json
{
"correlationId": "456-fff",
"description": "CancelProductOrderCreateEvent illustration",
"domain": "Commercial",
"eventId": "129",
"eventTime": "2021-09-28T07:43:59.059Z",
"eventType": "CancelProductOrderCreateEvent",
"priority": "1",
"timeOcurred": "2021-09-28T07:43:59.059Z",
"title": "CancelProductOrderCreateEvent",
"event": {
"cancelProductOrder": {
"id": "789-fsds5-kjp",
"href":
"https://host:port/productOrderingManagement/v5/cancelProductOrder/789-fsds5-kjp",
"cancellationReason": "Duplicate order",
"creationDate": "2019-04-30T08:13:59.506Z",
"requestedCancellationDate": "2021-08-30T09:14:46.145Z",
"productOrder": {
"id": "45f-98f-ss45",
"href": "https://host:port/productOrderingManagement/v5/productOrder/45f-
98f-ss45",
"@referredType": "ProductOrder",
"@type": "ProductOrderRef"
},
"state": "acknowledged",
"@type": "CancelProductOrder"
}
},
"relatedParty": [
{
"role": "Issuer",
"partyOrPartyRole": {
"id": "56d",
"href": "https://host:port/partyManagement/v5/organization/56d",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Organization"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"reportingSystem": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "123",
"name": "CRM app",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "CancelCancelProductOrderCreateEvent"
}
Content-Type: application/json
{
"correlationId": "d5894698-6801",
"description": "CancelProductOrderInformationRequiredEvent illustration",
"domain": "Commercial",
"eventId": "408f-a88f-40f2ebbe8a06",
"eventTime": "2022-09-14T12:14:28.790Z",
"eventType": "CancelProductOrderInformationRequiredEvent",
"priority": "4",
"timeOcurred": "2022-09-14T12:14:21.843Z",
"title": "CancelProductOrderInformationRequiredEvent",
"event": {
"cancelProductOrder": {
"id": "789-fsds5-kjp",
"href": "http://servername/cancelProductOrder/789-fsds5-kjp",
"requestedCancellationDate": "2019-04-30T12:56:21.931Z",
"productOrder": {
"id": "45f-98f-ss45",
"href":
"https://host:port/productOrderingManagement/v4/productOrder/45f-98f-ss45",
"@referredType": "ProductOrder",
"@type": "ProductOrderRef"
},
"state": "acknowledged",
"@type": "CancelProductOrder"
},
"informationRequired":
{
"op": "add",
"path": "cancellationReason"
}
},
"reportingSystem": {
"id": "533",
"name": "APP-963",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "200",
"name": "APP-893",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"@baseType": "Event",
"@type": "CancelProductOrderInformationRequiredEvent"
}
API OPERATIONS
Remember the following Uniform Contract:
Filtering and attribute selection rules are described in the TMF REST Design Guidelines.
Operations on ProductOrder
Description
This operation list ProductOrder 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
Request
GET /productOrder
Content-Type: application/json
Response
200
[
{
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"category": "B2C product order",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
"action": "add",
"productOffering": {
"id": "14277",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
© TM Forum 2023. All Rights Reserved. Page 80
ProductOrdering
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"@type": "OrderPrice",
"priceType": "nonRecurring",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 0.99
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"value": "415 279 7439",
"valueType": "string"
}
],
"productSpecification": {
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
© TM Forum 2023. All Rights Reserved. Page 81
ProductOrdering
},
"productOffering": {
"id": "14305",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1513",
"href":
"https://host:port/billingAccountManagement/v5/billingAccount/1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
"priceType": "recurring",
"priority": 1,
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "Price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
© TM Forum 2023. All Rights Reserved. Page 82
ProductOrdering
"@type": "OrderTerm",
"duration": {
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"name": "TMF Tariff plan",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344",
"name": "TMF Tariff Plan",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "130",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"value": "National",
"valueType": "string"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
© TM Forum 2023. All Rights Reserved. Page 83
ProductOrdering
"id": "14354",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "acknowledged",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "acknowledged",
"@type": "ProductOrder"
},
{
"id": "30002",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30002",
"category": "B2B product order",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "785"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"productOrderItem": [
© TM Forum 2023. All Rights Reserved. Page 84
ProductOrdering
{
"id": "110",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "UNI",
"productSpecification": {
"id": "dfg-56d",
"href": "https://api.com/productSpec/dfg-56d",
"version": "v2",
"name": "UNI specification",
"@type": "ProductSpecificationRef"
},
"productCharacteristic": [
{
"@type": "ObjectCharacteristic",
"id": "UNI_Characteristic",
"name": "UNI order configuration",
"valueType": "Slice5G JSON descriptor",
"value": {
"@valueSchemaLocation": "https://github.com/productSpec/UNISpec.json",
"@type": "UNI_json_Specification",
"physicalLayer": "10BASE-T",
"synchronousModeEnabled": true,
"numberOfLinks": 1,
"tokenShareEnabled": true,
"uniResiliency": "NONE",
"maxServiceFrameSize": 1256
}
}
]
},
"state": "acknowledged",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "acknowledged",
"@type": "ProductOrder"
© TM Forum 2023. All Rights Reserved. Page 85
ProductOrdering
}
]
Request
GET
/productOrder?state=acknowledged&fields=@type,id,href,expectedCompletionDate,state
Content-Type: application/json
Response
200
[
{
"id": "6987",
"href": ".../productOrderingManagement/v5/productOrder/6987",
"expectedCompletionDate": "2019-04-11T14:52:21.823Z",
"@type": "ProductOrder",
"state": "acknowledged"
},
{
"id": "7412",
"href": ".../productOrderingManagement/v5/productOrder/7412",
"expectedCompletionDate": "2019-04-18T14:21:31.325Z",
"@type": "ProductOrder",
"state": "acknowledged"
},
{
"id": "3214",
"href": ".../productOrderingManagement/v5/productOrder/3214",
"expectedCompletionDate": "2019-04-21T18:08:31.325Z",
"@type": "ProductOrder",
"state": "acknowledged"
},
{
"id": "6547",
"href": ".../productOrderingManagement/v5/productOrder/6547",
"expectedCompletionDate": "2019-04-29T10:48:28.325Z",
"@type": "ProductOrder",
"state": "acknowledged"
}
]
Retrieves a ProductOrder by ID
GET /productOrder/{id}?fields=…
Description
This operation retrieves a ProductOrder entity. Attribute selection is enabled for all first level
attributes. Filtering may be available depending on the compliance level supported by an
implementation.
© TM Forum 2023. All Rights Reserved. Page 86
ProductOrdering
Usage samples
Request
GET /productOrder/30001
Content-Type: application/json
Response
200
{
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"category": "B2C product order",
"completionDate": "2019-05-02T08:13:59.506Z",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
"action": "add",
"productOffering": {
"id": "14277",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"priceType": "nonRecurring",
"@type": "OrderPrice",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 0.99
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
© TM Forum 2023. All Rights Reserved. Page 88
ProductOrdering
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"value": "415 279 7439",
"valueType": "string"
}
],
"productSpecification": {
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14305",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1513",
"href":
"https://host:port/billingAccountManagement/v5/billingAccount/1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
"priceType": "recurring",
"priority": 1,
© TM Forum 2023. All Rights Reserved. Page 89
ProductOrdering
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "Price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
"@type": "OrderTerm",
"duration": {
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"name": "TMF Tariff plan",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344",
"name": "TMF Tariff Plan",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "130",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "CoverageOptions",
"id": "Char7",
© TM Forum 2023. All Rights Reserved. Page 90
ProductOrdering
"@type": "StringCharacteristic",
"value": "National",
"valueType": "string"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14354",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "completed",
"@type": "ProductOrder"
}
Request
GET /productOrder/3774
Content-Type: application/json
Response
200
{
"id": "3774",
"href": "https://host:port/productOrderingManagement/v5/productOrder/3774",
"category": "B2C product order",
"description": "Product Order change illustration sample",
"expectedCompletionDate": "2019-05-22T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "457"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-22T08:13:59.506Z",
"requestedStartDate": "2019-05-22T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-05-22T08:13:59.509Z",
"text": "This is a TMF product order illustration to change existing product",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
"action": "noChange",
"product": {
"id": "6000",
"@type": "ProductRef",
"href": "https://host:port/productInventoryManagement/v5/product/6000"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"state": "inProgress",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"product": {
"id": "6003",
"href": "https://host:port/productInventoryManagement/v5/product/6003",
"@type": "Product",
"productCharacteristic": [
{
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"valueType": "string",
"value": "International"
}
],
"productRelationship": [
{
"relationshipType": "reliesOn",
"product": {
"id": "6001",
"@type": "ProductRef",
"href":
"https://host:port/productInventoryManagement/v5/product/6001"
},
"@type": "ProductRelationship"
}
]
},
"state": "inProgress",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
© TM Forum 2023. All Rights Reserved. Page 93
ProductOrdering
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "inProgress",
"@type": "ProductOrder"
}
Creates a ProductOrder
POST /productOrder?fields=…
Description
Mandatory Attributes
Usage samples
Request
POST /productOrder
Content-Type: application/json
{
"category": "B2C product order",
"description": "Product Order illustration sample",
© TM Forum 2023. All Rights Reserved. Page 94
ProductOrdering
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
"action": "add",
"productOffering": {
"id": "14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
© TM Forum 2023. All Rights Reserved. Page 95
ProductOrdering
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"@type": "OrderPrice",
"priceType": "nonRecurring",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 0.99
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"value": "415 279 7439",
"valueType": "string"
}
],
"productSpecification": {
"id": "14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1513",
© TM Forum 2023. All Rights Reserved. Page 96
ProductOrdering
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
"priceType": "recurring",
"priority": 1,
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "Price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
"@type": "OrderTerm",
"duration": {
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"name": "TMF Tariff plan",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
© TM Forum 2023. All Rights Reserved. Page 97
ProductOrdering
"productOffering": {
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344",
"name": "TMF Tariff Plan",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"@type": "ProductOrderItem"
},
{
"id": "130",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"value": "National",
"valueType": "string"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14354",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "ProductOrderItemRelationship"
}
],
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
© TM Forum 2023. All Rights Reserved. Page 98
ProductOrdering
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"@type": "ProductOrder"
}
Response
201
{
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"category": "B2C product order",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"@type": "OrderPrice",
"priceType": "nonRecurring",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 0.99
}
}
}
],
"payment": [
© TM Forum 2023. All Rights Reserved. Page 100
ProductOrdering
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"value": "415 279 7439",
"valueType": "string"
}
],
"productSpecification": {
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14305",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1513",
"href":
"https://host:port/billingAccountManagement/v5/billingAccount/1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
© TM Forum 2023. All Rights Reserved. Page 101
ProductOrdering
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
"priceType": "recurring",
"priority": 1,
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "Price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
"@type": "OrderTerm",
"duration": {
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"name": "TMF Tariff plan",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344",
"name": "TMF Tariff Plan",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "acknowledged",
© TM Forum 2023. All Rights Reserved. Page 102
ProductOrdering
"@type": "ProductOrderItem"
},
{
"id": "130",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"value": "National",
"valueType": "string"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14354",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "acknowledged",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
© TM Forum 2023. All Rights Reserved. Page 103
ProductOrdering
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "acknowledged",
"@type": "ProductOrder"
}
Request
POST /productOrder
Content-Type: application/json
{
"category": "B2B product order",
"description": "Product Order illustration sample",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "785"
}
],
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"productOrderItem": [
{
"id": "110",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "UNI",
"productSpecification": {
"id": "dfg-56d",
"href": "https://api.com/productSpec/dfg-56d",
"version": "v2",
"name": "UNI specification",
"@type": "ProductSpecificationRef"
},
"productCharacteristic": [
{
"@type": "ObjectCharacteristic",
"id": "UNI_Characteristic",
"name": "UNI order configuration",
"valueType": "Slice5G JSON descriptor",
"value": {
"@valueSchemaLocation": "https://github.com/productSpec/UNISpec.json",
"@type": "UNI_json_Specification",
"physicalLayer": "10BASE-T",
"synchronousModeEnabled": true,
"numberOfLinks": 1,
"tokenShareEnabled": true,
"uniResiliency": "NONE",
"maxServiceFrameSize": 1256
}
}
]
},
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"@type": "ProductOrder"
}
Response
201
{
"id": "30002",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30002",
"category": "B2B product order",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "785"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"productOrderItem": [
{
"id": "110",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "UNI",
"productSpecification": {
"id": "dfg-56d",
"href": "https://api.com/productSpec/dfg-56d",
"version": "v2",
"name": "UNI specification",
"@type": "ProductSpecificationRef"
},
"productCharacteristic": [
{
"@type": "ObjectCharacteristic",
"id": "UNI_Characteristic",
"name": "UNI order configuration",
"valueType": "Slice5G JSON descriptor",
"value": {
"@valueSchemaLocation": "https://github.com/productSpec/UNISpec.json",
"@type": "UNI_json_Specification",
"physicalLayer": "10BASE-T",
"synchronousModeEnabled": true,
"numberOfLinks": 1,
"tokenShareEnabled": true,
"uniResiliency": "NONE",
"maxServiceFrameSize": 1256
}
}
]
},
"state": "acknowledged",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "acknowledged",
"@type": "ProductOrder"
}
Request
POST /productOrder
Content-Type: application/json
{
"category": "B2C product order",
"description": "Product Order illustration sample",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
"action": "add",
"productOffering": {
"id": "14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"@type": "OrderPrice",
"priceType": "nonRecurring",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 0.99
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"value": "415 279 7439",
"valueType": "string"
}
],
"productSpecification": {
"id": "14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
© TM Forum 2023. All Rights Reserved. Page 108
ProductOrdering
"id": "14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
"priceType": "recurring",
"priority": 1,
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "Price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
"@type": "OrderTerm",
"duration": {
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
© TM Forum 2023. All Rights Reserved. Page 109
ProductOrdering
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"name": "TMF Tariff plan",
"version": "1",
"@type": "ProductSpecificationRef"
},
"intent":{
"@type": "Intent",
"id": "42",
"description": "Intent for ordering live broadcast service for an
event",
"validFor": {
"startDateTime": "2022-10-23T00:30:00.00Z",
"endDateTime": "2022-10-19T23:30:00.00Z"
},
"isBundle": true,
"version": "1.0.0",
"intentSpecification": {
"@type": "IntentSpecificationRef",
"id": "EventLiveBroadcast_IntentSpec",
"name": "EventLiveBroadcastIntentSpec",
"@referredType": "IntentSpecification",
"@href":
"/intent/v5/IntentSpecification/EventLiveBroadcast_IntentSpec"
},
"name": "EventLiveBroadcast",
"expression": {
"@type": "JsonLdExpression",
"expressionValue": {
"@context": {
"icm":
"http://www.models.tmforum.org/tio/v1.0.0/IntentCommonModel#",
"cat": "http://www.operator.com/Catalog#",
"idan": "http://www.idan-tmforum-
catalyst.org/IntentDrivenAutonomousNetworks#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"t": "http://www.w3.org/2006/time#",
"elb": "http://www.operator.com/Catalog/EventWirelessAccess#",
"app":
"http://www.operator.com/Catalog/StreamingApplication#",
"geo": "https://tmforum.org/2020/07/geographicPoint#"
},
"idan:EventLiveBroadcast000001": {
"@type": "icm:Intent",
"icm:intentOwner": "idan:Salesforce",
"icm:hasExpectation": {
"idan:Delivery_service": {
"@type": "icm:DeliveryExpectation",
"icm:target": "_:service",
"icm:params": {
"icm:targetDescription": "cat:EventWirelessAccess"
}
},
"idan:Delivery_app": {
"@type": "icm:DeliveryExpectation",
"icm:target": "_:application",
"icm:params": {
"icm:targetDescription": "cat:StreamingApplication"
© TM Forum 2023. All Rights Reserved. Page 110
ProductOrdering
}
},
"idan:Property_service": {
"@type": "icm:PropertyExpectation",
"icm:target": "_:service",
"icm:params": {
"elb:serviceQuality": [{
"icm:value": "4KUHD"
}],
"elb:numberOfParticipants": [{
"icm:atMost": "200"
}],
"elb:areaOfService": [{
"geo:geographicPoints": [{
"geo:longitude": 90,
"geo:latitude": 44,
"geo:altitude": 84
},
{
"geo:longitude": 84,
"geo:latitude": -12,
"geo:altitude": 24
},
{
"geo:longitude": 131,
"geo:latitude": -36,
"geo:altitude": 29
},
{
"geo:longitude": 7,
"geo:latitude": 81,
"geo:altitude": -42
}
]
}]
}
},
"idan:Property_app": {
"@type": "icm:PropertyExpectation",
"icm:target": "_:application",
"icm:params": {
"app:appType": [{
"icm:value": "AWS MediaLive"
},
{
"icm:value": "Facebook Live"
},
{
"icm:value": "YouTube"
}
]
}
},
"idan:Reporting": {
"@type": "icm:ReportingExpectation",
"icm:target": "idan:EventLiveBroadcast",
"icm:params": {
"icm:reportingInterval": [{
"t:Duration": [{
"t:numbericDuration": 10,
"t:temporalUnit": "unitMinute"
}]
}],
© TM Forum 2023. All Rights Reserved. Page 111
ProductOrdering
"icm:reportingEvent": [
"icm:StateComplies",
"icm:StateDegrades"
]
}
}
}
}
}
},
"lastUpdate": "2023-03-09T08:42:33.044Z"
}
},
"productOffering": {
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344",
"name": "TMF Tariff Plan",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"@type": "ProductOrderItem"
},
{
"id": "130",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"value": "National",
"valueType": "string"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14354",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
© TM Forum 2023. All Rights Reserved. Page 112
ProductOrdering
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"intentSpecification": {
"@type": "IntentSpecificationRef",
"id": "EventLiveBroadcast_IntentSpec",
"name": "EventLiveBroadcastIntentSpec",
"@referredType": "IntentSpecification",
"@href": "/intent/v5/IntentSpecification/EventLiveBroadcast_IntentSpec"
},
"@type": "ProductOrder"
}
Response
201
{
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"category": "B2C product order",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
"action": "add",
"productOffering": {
"id": "14277",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
© TM Forum 2023. All Rights Reserved. Page 114
ProductOrdering
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"valueType": "string",
"value": "415 279 7439"
}
],
"productSpecification": {
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
},
"intent":{
"@type": "Intent",
"id": "42",
"description": "Intent for ordering live broadcast service for an
event",
"validFor": {
"startDateTime": "2022-10-23T00:30:00.00Z",
"endDateTime": "2022-10-19T23:30:00.00Z"
},
"isBundle": true,
"version": "1.0.0",
"intentSpecification": {
"@type": "IntentSpecificationRef",
"id": "EventLiveBroadcast_IntentSpec",
"name": "EventLiveBroadcastIntentSpec",
© TM Forum 2023. All Rights Reserved. Page 115
ProductOrdering
"@referredType": "IntentSpecification",
"@href":
"/intent/v5/IntentSpecification/EventLiveBroadcast_IntentSpec"
},
"name": "EventLiveBroadcast",
"expression": {
"@type": "JsonLdExpression",
"expressionValue": {
"@context": {
"icm":
"http://www.models.tmforum.org/tio/v1.0.0/IntentCommonModel#",
"cat": "http://www.operator.com/Catalog#",
"idan": "http://www.idan-tmforum-
catalyst.org/IntentDrivenAutonomousNetworks#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"t": "http://www.w3.org/2006/time#",
"elb": "http://www.operator.com/Catalog/EventWirelessAccess#",
"app": "http://www.operator.com/Catalog/StreamingApplication#",
"geo": "https://tmforum.org/2020/07/geographicPoint#"
},
"idan:EventLiveBroadcast000001": {
"@type": "icm:Intent",
"icm:intentOwner": "idan:Salesforce",
"icm:hasExpectation": {
"idan:Delivery_service": {
"@type": "icm:DeliveryExpectation",
"icm:target": "_:service",
"icm:params": {
"icm:targetDescription": "cat:EventWirelessAccess"
}
},
"idan:Delivery_app": {
"@type": "icm:DeliveryExpectation",
"icm:target": "_:application",
"icm:params": {
"icm:targetDescription": "cat:StreamingApplication"
}
},
"idan:Property_service": {
"@type": "icm:PropertyExpectation",
"icm:target": "_:service",
"icm:params": {
"elb:serviceQuality": [{
"icm:value": "4KUHD"
}],
"elb:numberOfParticipants": [{
"icm:atMost": "200"
}],
"elb:areaOfService": [{
"geo:geographicPoints": [{
"geo:longitude": 90,
"geo:latitude": 44,
"geo:altitude": 84
},
{
"geo:longitude": 84,
"geo:latitude": -12,
"geo:altitude": 24
},
{
"geo:longitude": 131,
"geo:latitude": -36,
"geo:altitude": 29
© TM Forum 2023. All Rights Reserved. Page 116
ProductOrdering
},
{
"geo:longitude": 7,
"geo:latitude": 81,
"geo:altitude": -42
}
]
}]
}
},
"idan:Property_app": {
"@type": "icm:PropertyExpectation",
"icm:target": "_:application",
"icm:params": {
"app:appType": [{
"icm:value": "AWS MediaLive"
},
{
"icm:value": "Facebook Live"
},
{
"icm:value": "YouTube"
}
]
}
},
"idan:Reporting": {
"@type": "icm:ReportingExpectation",
"icm:target": "idan:EventLiveBroadcast",
"icm:params": {
"icm:reportingInterval": [{
"t:Duration": [{
"t:numbericDuration": 10,
"t:temporalUnit": "unitMinute"
}]
}],
"icm:reportingEvent": [
"icm:StateComplies",
"icm:StateDegrades"
]
}
}
}
}
}
},
"lastUpdate": "2023-03-09T08:42:33.044Z"
}
},
"productOffering": {
"id": "14305",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"state": "acknowledged",
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
© TM Forum 2023. All Rights Reserved. Page 117
ProductOrdering
"action": "add",
"billingAccount": {
"id": "1513",
"href":
"https://host:port/billingAccountManagement/v5/billingAccount/1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
"priceType": "recurring",
"priority": 1,
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "Price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
"@type": "OrderTerm",
"duration": {
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
© TM Forum 2023. All Rights Reserved. Page 118
ProductOrdering
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"intentSpecification": {
"@type": "IntentSpecificationRef",
"id": "EventLiveBroadcast_IntentSpec",
"name": "EventLiveBroadcastIntentSpec",
"@referredType": "IntentSpecification",
"@href": "/intent/v5/IntentSpecification/EventLiveBroadcast_IntentSpec"
},
"state": "acknowledged",
"@type": "ProductOrder"
}
Description
Usage samples
Request
PATCH /productOrder/30001
Content-Type: application/json
{
"@type": "ProductOrder",
"category": "B2B product order"
}
Response
200
{
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"category": "B2B product order",
"completionDate": "2019-05-02T08:13:59.506Z",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
© TM Forum 2023. All Rights Reserved. Page 122
ProductOrdering
"action": "add",
"productOffering": {
"id": "14277",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"priceType": "nonRecurring",
"@type": "OrderPrice",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 0.99
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
© TM Forum 2023. All Rights Reserved. Page 123
ProductOrdering
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"value": "415 279 7439",
"valueType": "string"
}
],
"productSpecification": {
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14305",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1513",
"href":
"https://host:port/billingAccountManagement/v5/billingAccount/1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
© TM Forum 2023. All Rights Reserved. Page 124
ProductOrdering
"priceType": "recurring",
"priority": 1,
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "Price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
"@type": "OrderTerm",
"duration": {
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"name": "TMF Tariff plan",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344",
"name": "TMF Tariff Plan",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "130",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
© TM Forum 2023. All Rights Reserved. Page 125
ProductOrdering
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"value": "National",
"valueType": "string"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14354",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "completed",
"@type": "ProductOrder"
}
Request
PATCH /productOrder/30001
Content-Type: application/merge-patch+json
{
"@type": "ProductOrder",
"category": "B2B product order"
}
Response
200
{
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"category": "B2B product order",
"completionDate": "2019-05-02T08:13:59.506Z",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online channel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
© TM Forum 2023. All Rights Reserved. Page 127
ProductOrdering
"action": "add",
"productOffering": {
"id": "14277",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"priceType": "nonRecurring",
"@type": "OrderPrice",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 0.99
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
© TM Forum 2023. All Rights Reserved. Page 128
ProductOrdering
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"value": "415 279 7439",
"valueType": "string"
}
],
"productSpecification": {
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14305",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1513",
"href":
"https://host:port/billingAccountManagement/v5/billingAccount/1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
© TM Forum 2023. All Rights Reserved. Page 129
ProductOrdering
"priceType": "recurring",
"priority": 1,
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "Price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
"@type": "OrderTerm",
"duration": {
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"name": "TMF Tariff plan",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344",
"name": "TMF Tariff Plan",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "130",
"quantity": 1,
"action": "add",
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
© TM Forum 2023. All Rights Reserved. Page 130
ProductOrdering
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"value": "National",
"valueType": "string"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14354",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "completed",
"@type": "ProductOrder"
}
Request
PATCH /productOrder/30001
Content-Type: application/json-patch+json
[
{"op":"replace",
"path": "/category",
"value": "B2B product order"
}
]
Response
200
{
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"category": "B2B product order",
"completionDate": "2019-05-02T08:13:59.506Z",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online chanel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
© TM Forum 2023. All Rights Reserved. Page 132
ProductOrdering
"id": "100",
"quantity": 1,
"action": "add",
"productOffering": {
"id": "14277",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"priceType": "nonRecurring",
"@type": "OrderPrice",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 0.99
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
© TM Forum 2023. All Rights Reserved. Page 133
ProductOrdering
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"value": "415 279 7439",
"valueType": "string"
}
],
"productSpecification": {
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14305",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1513",
"href":
"https://host:port/billingAccountManagement/v5/billingAccount/1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
},
"priceAlteration": [
{
"applicationDuration": 3,
© TM Forum 2023. All Rights Reserved. Page 134
ProductOrdering
"productCharacteristic": [
{
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"value": "National",
"valueType": "string"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14354",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
],
"state": "completed",
"@type": "ProductOrder"
Request
PATCH /productOrder/30001
Content-Type: application/json-patch-query+json
[
{"op":"replace",
"path": "/productOrderItem/billingAccount/id?productOrderItem.id=120",
"value": "1889"
}
]
Response
200
{
"id": "30001",
"href": "https://host:port/productOrderingManagement/v5/productOrder/30001",
"category": "B2C product order",
"completionDate": "2019-05-02T08:13:59.506Z",
"description": "Product Order illustration sample",
"expectedCompletionDate": "2019-05-02T08:13:59.506Z",
"externalId": [
{
"@type": "ExternalIdentifier",
"owner": "TMF",
"externalIdentifierType": "POnumber",
"id": "456"
}
],
"creationDate": "2019-04-30T08:13:59.506Z",
"priority": "1",
"requestedCompletionDate": "2019-05-02T08:13:59.506Z",
"requestedStartDate": "2019-05-03T08:13:59.506Z",
"channel": [
{
"role": "Used channel for order capture",
"@type": "RelatedChannel",
"channel": {
"id": "1",
"name": "Online chanel",
"@type": "ChannelRef"
}
}
],
"note": [
{
"id": "1",
"author": "Jean Pontus",
"date": "2019-04-30T08:13:59.509Z",
"text": "This is a TMF product order illustration",
"@type": "Note"
}
],
"productOrderItem": [
{
"id": "100",
"quantity": 1,
"action": "add",
"productOffering": {
"id": "14277",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14277",
"name": "TMF25",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "120",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
},
{
"id": "130",
"relationshipType": "bundles",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "110",
"quantity": 1,
"action": "add",
"itemPrice": [
{
"description": "Access Fee",
"name": "Access Fee",
"priceType": "nonRecurring",
"@type": "OrderPrice",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 0.99
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 0.99
}
}
}
],
"payment": [
{
"id": "2365",
"href": "https://host:port/paymentManagement/v5/cashPayment/2365",
"name": "Cash payment for access fee",
© TM Forum 2023. All Rights Reserved. Page 138
ProductOrdering
"@type": "PaymentRef",
"@referredType": "CashPayment"
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "TEL_MSISDN",
"id": "Char6",
"@type": "StringCharacteristic",
"value": "415 279 7439",
"valueType": "string"
}
],
"productSpecification": {
"id": "14307",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14307",
"name": "Mobile Telephony",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14305",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14305",
"name": "TMF Mobile Telephony",
"@type": "ProductOfferingRef"
},
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "120",
"quantity": 1,
"action": "add",
"billingAccount": {
"id": "1889",
"href":
"https://host:port/billingAccountManagement/v5/billingAccount/1513",
"@type": "BillingAccountRef"
},
"itemPrice": [
{
"description": "Tariff plan monthly fee",
"name": "MonthlyFee",
"priceType": "recurring",
"@type": "OrderPrice",
"recurringChargePeriod": "month",
"price": {
"taxRate": 0,
"@type": "Price",
"dutyFreeAmount": {
"unit": "EUR",
"value": 20
},
"taxIncludedAmount": {
"unit": "EUR",
"value": 20
}
© TM Forum 2023. All Rights Reserved. Page 139
ProductOrdering
},
"priceAlteration": [
{
"applicationDuration": 3,
"description": "20% for first 3 months",
"name": "WelcomeDiscount",
"priceType": "recurring",
"priority": 1,
"recurringChargePeriod": "month",
"@type": "PriceAlteration",
"price": {
"percentage": 20,
"taxRate": 0,
"@type": "Price"
}
}
]
}
],
"itemTerm": [
{
"description": "Tariff plan 12 Months commitment",
"name": "12Months",
"@type": "OrderTerm",
"duration": {
"amount": 12,
"units": "month",
"@type": "Duration"
}
}
],
"product": {
"isBundle": false,
"@type": "Product",
"productSpecification": {
"id": "14395",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14395",
"name": "TMF Tariff plan",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14344",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14344",
"name": "TMF Tariff Plan",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
},
{
"id": "130",
"quantity": 1,
© TM Forum 2023. All Rights Reserved. Page 140
ProductOrdering
"action": "add",
"product": {
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "CoverageOptions",
"id": "Char7",
"@type": "StringCharacteristic",
"value": "National",
"valueType": "string"
}
],
"productSpecification": {
"id": "14353",
"href":
"https://host:port/productCatalogManagement/v5/productSpecification/14353",
"name": "Coverage",
"version": "1",
"@type": "ProductSpecificationRef"
}
},
"productOffering": {
"id": "14354",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354",
"name": "Coverage Options",
"@type": "ProductOfferingRef"
},
"productOrderItemRelationship": [
{
"id": "110",
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship"
}
],
"state": "completed",
"@type": "ProductOrderItem"
}
],
"relatedParty": [
{
"role": "Seller",
"partyOrPartyRole": {
"id": "456-dd-df45",
"href": "https://host:port/partyManagement/v5/individual/456-dd-df45",
"name": "Joe Doe",
"@type": "PartyRef",
"@referredType": "Individual"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
},
{
"role": "Customer",
"partyOrPartyRole": {
"id": "ff55-hjy4",
"href": "https://host:port/partyRoleManagement/v5/customer/ff55-hjy4",
"name": "Jean Pontus",
"@type": "PartyRoleRef",
"@referredType": "Customer"
},
"@type": "RelatedPartyRefOrPartyRoleRef"
}
© TM Forum 2023. All Rights Reserved. Page 141
ProductOrdering
],
"state": "completed",
"@type": "ProductOrder"
}
Deletes a ProductOrder
DELETE /productOrder/{id}
Description
Usage samples
Request
DELETE /productOrder/3774
Content-Type: application/json
Response
204
Operations on CancelProductOrder
Description
This operation list CancelProductOrder 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
Request
GET /cancelProductOrder
Content-Type: application/json
Response
200
[
{
"id": "789-fsds5-kjp",
"href": "https://host:port/productOrderingManagement/v5/cancelProductOrder/789-
fsds5-kjp",
"cancellationReason": "Duplicate order",
"creationDate": "2019-04-30T08:13:59.506Z",
"requestedCancellationDate": "2021-08-30T09:14:46.145Z",
"productOrder": {
"id": "45f-98f-ss45",
"href": "https://host:port/productOrderingManagement/v5/productOrder/45f-98f-
ss45",
"@referredType": "ProductOrder",
"@type": "ProductOrderRef"
},
"state": "done",
"@type": "CancelProductOrder"
}
]
Request
GET /cancelProductOrder?fields=@type,id,productOrder
Content-Type: application/json
Response
200
[
{
"id": "6987",
"productOrder": {
"id": "45f-98f-ss45",
"href": "https://host:port/productOrderingManagement/v5/productOrder/45f-
98f-ss45",
"@type": "ProductOrderRef"
},
"@type": "CancelProductOrder"
},
{
"id": "7412",
"productOrder": {
"id": "45f-789-sdre",
"href": "https://host:port/productOrderingManagement/v5/productOrder/45f-
789-sdre",
"@type": "ProductOrderRef"
},
"@type": "CancelProductOrder"
},
{
"id": "3214",
"productOrder": {
"id": "45f-as4-os3f",
"href": "https://host:port/productOrderingManagement/v5/productOrder/45f-
as4-os3f",
"@type": "ProductOrderRef"
},
"@type": "CancelProductOrder"
}
]
Retrieves a CancelProductOrder by ID
GET /cancelProductOrder/{id}?fields=…
Description
This operation retrieves a CancelProductOrder 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
Request
GET /cancelProductOrder/{id}
Content-Type: application/json
Response
200
{
"id": "789-fsds5-kjp",
"href": "https://host:port/productOrderingManagement/v5/cancelProductOrder/789-
fsds5-kjp",
"cancellationReason": "Duplicate order",
"creationDate": "2019-04-30T08:13:59.506Z",
"effectiveCancellationDate": "2021-08-30T11:14:46.145Z",
"requestedCancellationDate": "2021-08-30T09:14:46.145Z",
"productOrder": {
"id": "45f-98f-ss45",
"href": "https://host:port/productOrderingManagement/v5/productOrder/45f-98f-
ss45",
"@referredType": "ProductOrder",
"@type": "ProductOrderRef"
},
"state": "done",
"@type": "CancelProductOrder"
}
Creates a CancelProductOrder
POST /cancelProductOrder?fields=…
Description
Mandatory Attributes
Usage samples
Request
POST /cancelProductOrder
Content-Type: application/json
{
"cancellationReason": "Duplicate order",
"requestedCancellationDate": "2021-08-30T09:14:46.145Z",
"productOrder": {
"id": "45f-98f-ss45",
"@referredType": "ProductOrder",
"@type": "ProductOrderRef"
},
"@type": "CancelProductOrder"
}
Response
201
{
"id": "789-fsds5-kjp",
"href": "https://host:port/productOrderingManagement/v5/cancelProductOrder/789-
fsds5-kjp",
"cancellationReason": "Duplicate order",
"creationDate": "2019-04-30T08:13:59.506Z",
"requestedCancellationDate": "2021-08-30T09:14:46.145Z",
"productOrder": {
"id": "45f-98f-ss45",
"href": "https://host:port/productOrderingManagement/v5/productOrder/45f-98f-
ss45",
"@referredType": "ProductOrder",
"@type": "ProductOrderRef"
},
"state": "done",
"@type": "CancelProductOrder"
}
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
Usage Samples
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":""
}
Unregister listener
DELETE /hub/{id}
Description
Clears the communication endpoint address that was set by creating the Hub..
Behavior
Usage Samples
Request
DELETE /api/hub/42
Accept: application/json
Response
204
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 2023. All Rights Reserved. Page 148
ProductOrdering
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.
Acknowledgements
Release History
Release Date Release led by: Description
Number
Contributors to Document