TMF622 Product Ordering Userguide
TMF622 Product Ordering Userguide
ProductOrdering
TMF622
NOTICE
Copyright © TM Forum 2024. All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative
works that comment on or otherwise explain it or assist in its implementation may be
prepared, copied, published, and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this section are included on all such
copies and derivative works. However, this document itself may not be modified in any way,
including by removing the copyright notice or references to TM FORUM, except as needed
for the purpose of developing any document or deliverable produced by a TM FORUM
Collaboration Project Team (in which case the rules applicable to copyrights, as set forth in
the TM FORUM IPR Policy, must be followed) or as required to translate it into languages
other than English.
The limited permissions granted above are perpetual and will not be revoked by TM FORUM
or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and TM
FORUM DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL
NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Notification Resource Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Product Order Delete Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Product Order Information Required Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Product Order State Change Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Product Order Jeopardy Alert Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Product Order Create Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Product Order Milestone Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Product Order Attribute Value Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Product Order Error Message Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Cancel Product Order State Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Cancel Product Order Create Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Cancel Product Order Information Required Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
API OPERATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Operations on ProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
List or find ProductOrder objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Retrieves a ProductOrder by ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Creates a ProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Updates partially a ProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Deletes a ProductOrder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Operations on CancelProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
List or find CancelProductOrder objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Retrieves a CancelProductOrder by ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Creates a CancelProductOrder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
API NOTIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Register listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Unregister listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Publish Event to listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
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 2024. 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 - Organization
© TM Forum 2024. All Rights Reserved. Page 13
ProductOrdering
Figure 5 - ProductOrderItem
Figure 6 - Characteristic
Figure 7 - Individual
© TM Forum 2024. All Rights Reserved. Page 16
ProductOrdering
Figure 8 - Party
© TM Forum 2024. All Rights Reserved. Page 17
ProductOrdering
Figure 9 - Product
Figure 10 - PartyRole
Figure 11 - PartyOrPartyRole
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.
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.
subUnitNumber A String. The discriminator used for the subunit, often just a
simple number but may also be a range.
subUnitType A String. The type of subunit e.g.BERTH, FLAT, PIER, SUITE,
SHOP, TOWER, UNIT, WHARF, RACK.
@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.
name A String. Full name flatten (first, middle, and last names) - this is
the name that is expected to be presented in reference data
types such as PartyRef, RelatedParty, etc. that refer to
Individual.
nationality A String. Nationality.
otherName An OtherNameIndividual. List of other names by which this
individual is known.
partyCharacteristic A Characteristic. List of additional characteristics that a Party can
take on.
placeOfBirth A String. Reference to the place where the individual was born.
preferredGivenName A String. Contains the chosen name by which the individual
prefers to be addressed. Note: This name may be a name other
than a given name, such as a nickname.
relatedParty A RelatedPartyOrPartyRole. List of parties and/or party roles
related to this party.
skill A Skill. List of skills exhibited by the individual.
status An IndividualStateType. Valid values for the lifecycle state of the
individual.
taxExemptionCertificate A TaxExemptionCertificate. List of tax exemptions granted to the
party. For example, a war veteran might have partial exemption
from state tax and a full exemption from federal tax.
title A String. Useful for titles (aristocratic, social,…) Pr, Dr, Sir, …
@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.
@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.
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.
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.
@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 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"
},
"@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
},
"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",
© TM Forum 2024. All Rights Reserved. Page 63
ProductOrdering
"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
},
"dutyFreeAmount": {
"unit": "EUR",
"@type": "Money",
"value": 20
}
},
"name": "MonthlyFee",
"priceType": "recurring",
"description": "Tariff plan monthly fee",
"recurringChargePeriod": "month",
"priceAlteration": [{
"applicationDuration": 3,
"@type": "PriceAlteration",
"price": {
© TM Forum 2024. All Rights Reserved. Page 64
ProductOrdering
"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",
"href":
"https://host:port/productCatalogManagement/v5/productOffering/14354"
},
"@type": "ProductOrderItem",
"action": "add",
"id": "130",
"state": "completed",
"productOrderItemRelationship": [{
"relationshipType": "reliesOn",
"@type": "OrderItemRelationship",
"id": "110"
}]
}
],
© TM Forum 2024. All Rights Reserved. Page 65
ProductOrdering
"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 12 - 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 2024. All Rights Reserved. Page 70
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 2024. All Rights Reserved. Page 73
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 2024. All Rights Reserved. Page 74
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 2024. All Rights Reserved. Page 75
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 2024. All Rights Reserved. Page 76
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 2024. All Rights Reserved. Page 77
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 2024. All Rights Reserved. Page 78
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 2024. All Rights Reserved. Page 81
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 2024. All Rights Reserved. Page 86
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 2024. All Rights Reserved. Page 87
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 2024. All Rights Reserved. Page 88
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 2024. All Rights Reserved. Page 89
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 2024. All Rights Reserved. Page 90
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 2024. All Rights Reserved. Page 91
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 2024. All Rights Reserved. Page 92
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 2024. All Rights Reserved. Page 94
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 2024. All Rights Reserved. Page 95
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 2024. All Rights Reserved. Page 96
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 2024. All Rights Reserved. Page 99
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 2024. All Rights Reserved. Page 100
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 2024. All Rights Reserved. Page 101
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 2024. All Rights Reserved. Page 102
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 2024. All Rights Reserved. Page 103
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 2024. All Rights Reserved. Page 104
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 2024. All Rights Reserved. Page 106
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 2024. All Rights Reserved. Page 107
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 2024. All Rights Reserved. Page 108
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 2024. All Rights Reserved. Page 109
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 2024. All Rights Reserved. Page 114
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 2024. All Rights Reserved. Page 115
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 2024. All Rights Reserved. Page 116
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 2024. All Rights Reserved. Page 117
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 2024. All Rights Reserved. Page 118
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 2024. All Rights Reserved. Page 120
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 2024. All Rights Reserved. Page 121
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 2024. All Rights Reserved. Page 122
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 2024. All Rights Reserved. Page 123
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 2024. All Rights Reserved. Page 124
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 2024. All Rights Reserved. Page 128
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 2024. All Rights Reserved. Page 129
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 2024. All Rights Reserved. Page 130
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 2024. All Rights Reserved. Page 131
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 2024. All Rights Reserved. Page 133
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 2024. All Rights Reserved. Page 134
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 2024. All Rights Reserved. Page 135
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 2024. All Rights Reserved. Page 136
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 2024. All Rights Reserved. Page 138
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 2024. All Rights Reserved. Page 139
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 2024. All Rights Reserved. Page 140
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 2024. All Rights Reserved. Page 144
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 2024. All Rights Reserved. Page 145
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 2024. All Rights Reserved. Page 146
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 2024. All Rights Reserved. Page 147
ProductOrdering
],
"state": "completed",
"@type": "ProductOrder"
}
Deletes a ProductOrder
DELETE /productOrder/{id}
Description
Usage samples
Request
DELETE /productOrder/87g-8tt
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 2024. All Rights Reserved. Page 154
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