You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

PRODUCT Resource

{
"id": " 42",
"href": "http://server:port/inventoryApi/product/42",
"name": "Broadband",
"description": "Description of the instantiated broadband product",
"status": "active",
"isCustomerVisible": true,
"isBundle" : true,
"productSerialNumber": "Not useful in this case, we are describing a service…",
"startDate": "2013-07-21 08:16:39ZGMT+1",
"orderDate": "2013-07-21 06:16:39ZGMT+1",
"terminationDate": "",

"productOffering":
{
"id": " 4",
"href": "http://server:port/catalogApi/productOffering/4",
"name": "My Quick BB Offer"
},
"productSpecification":
{
"id": " 4",
"href": " http://server:port/catalogApi/ productSpecification /42"
},
"productCharacteristic":[
{
"name":"speed",
"value":"16M"
}],
"productRelationship":[
{
"type":"contains",
"product":{
"id": "59",
"href":" http://server:port/inventoryApi/product/59"
}
}],
"billingAccount": [
{
"id": "678",
"href": http://server:port/billingApi/billingAccount/678",
"name" : "account name"
}],
"relatedParty": [
{
"id": "42",
"role":"partner",
"href":"http://serverlocation:port/partnerManagement/partner/42"
}],

"place":"http://map.google.com/.../1234112GDE",
"realizingResource": [
{
"id": "not useful in this case, we are describing a service…",
"href": "not useful in this case, we are describing a service…"
}],
"realizingService": [
{
"id": "46779",
"href": "http://server:port/inventoryApi/service/46779"
}],
"productPrice" : [{
"name" : "…",
"description" : "",
"validFor":{
"startDateTime":"2013-04-19T16:42:23-04:00",
"endDateTime":"2013-06-19T00:00:00-04:00"
},
"priceType":"recurring",
"recurringChargePeriod":"monthly",
"unitOfMeasure":"",
"price":{
"amount":"12",
"currency":"$"
}
}]
}

 

Field Descriptions

Field Name

Mandatory/
Optional

Description

Id

M

"id" is the ID created for the product

Name

M

"name" is the name of the product. It could be the same as the name of the Product Offering

Description

O

"description" is the description of the product. It could be copied from the description of the Product Offering.

Status

M

"status" is the lifecycle status of the product.

isBundle

M

 

isCustomerVisible

M

 

productSerialNumber

O

"productSerialNumber" is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router.

startDate

O

"startDate" is the date from which the product starts

orderDate

O

"orderDate" is the date when the product was ordered.

terminationDate

O

"terminationDate" is the date when the product was terminated. Not applicable to active products.

productOffering

M

"productOffering" is a link to the product offering.

productSpecification

O

"productSpecification" is a link to the product specification. It may be useful to manage links directly to the ProductSpec, when the product is a non-bundle one you may not manage the ProductOffering link with this Product.

productCharacteristics

O

"productCharacteristics" is a list of name value pairs to list the various relevant characteristics of the instantiated product.

productRelationships

O

"productRelationships" is a collection of a number of types of relationships between the product e.g bundle.
The value of the 'type' attribute should describe the direction of the relationship. E.g. "isContainedIn"

billingAccount

O

"billingAccount" is a link to the billing account on which the product is billed. This is optional because in some cases the parent is billed and not all the children.

relatedParties

O

"relatedParties" is a link to collection of parties. Each party will contain a role and a link.

agreementItem

O

"agreementItem" is a link to the agreement item for the product. Agreement item will contain the terms and conditions for the product including the product term.

Place

O

"place" is a link to the place where the product is provided.

Service

O

"service" is a link to the service that realizes the product.

Resource

O

"resource" is a link to the resource that realizes the product.

productPrice

O

"productPrice" is a collection of all applicable prices for the product, it's an override of the default one specified in the ProductOffering.

-name

 

 

-description

 

 

-valid for

 

 

 

Status attribute

The status attribute is used by a state machine through the different lifecycle stages for the product records. Valid status values are:|

Status code

Description

 

created

No identified status yet - newly injected into the target system

 

pending active

Prepared, but not active for customer yet

 

aborted

Activation aborted for technical / internal reasons

 

cancelled

Activation aborted by customer / legal request

 

active

Active for customer use of product

 

pending terminate

To be terminated, but still in use

 

terminated

No longer active for customer

From this status on, the ratedProductUsage collection will have a values

suspended

Temporary suspension, not usable for customer, typically because of barring caused by payment / dunning issues or customer request

 

State machine diagram for status attribute on product


UML Model:

Notification Resource Models

ProductCreationNotification

Used to notify that a product entry was created in the inventory

{
"event": { "id": "http://server:port/inventoryApi/product/42",
"name": "Broadband",
"description": "Description of the instantiated broadband product",
"status": "active",
"isCustomerVisible": true,
"isBundle": true,
"startDate": "2013-07-21 08:16:39ZGMT+1",
"orderDate": "2013-07-21 06:16:39ZGMT+1",
"productOffering":
{
"href": "http://server:port/catalogApi/productOffering/4",
"name": "My Quick BB Offer"
},
"productSpecification":
{
"href": " http://server:port/catalogApi/productOffering/4"
},
"productCharacteristics":[
{
"name":"speed",
"value":"16M"
}],
"productRelationships":[
{
"type":"contains",
"product":{
"id":" http://server:port/inventoryApi/product/59"
}
}],
"billingAccount":
{
"id": "http://server:port/billingApi/billingAccount/678"
},
"relatedParties": [
{
"role":"partner",
"reference":"http://serverlocation:port/partnerManagement/partner/42"
}],
"realizingServices": [
{
"id": "46779",
"href": "http://server:port/inventoryApi/service/46779"
}],
"productPrice" : [{
"name" : "…",
"description" : "",
"validFor":{
"startDateTime":"2013-04-19T16:42:23-04:00",
"endDateTime":"2013-06-19T00:00:00-04:00"
},
"priceType":"recurring",
"recurringChargePeriod":"monthly",
"unitOfMeasure":"",
"price":{
"amount":"12",
"currency":"$"
}
}]
},
"eventType": "productCreationNotification"
}

ProductValueChangeNotification

Used to notify that a product entry was modified in the inventory

{
"event": {
"id": "42", "href": "http://server:port/inventoryApi/product/42",
"productCharacteristics":[
{
"name":"speed",
"value":"32M"
}]
},
"eventType": "productValueChangeNotification"
}

ProductStatusChangeNotification

Used to notify that a product entry status has changed in the inventory

{
"event": { "href": "http://server:port/inventoryApi/product/42",
"status": "active"
},
"eventType": "productStatusChangeNotification"
}

ProductDeletionNotification

Used to notify that a product entry was removed from the inventory

{ "event": { "id": "http://server:port/inventoryApi/product/42", }, "eventType": "ProductDeletionNotification" }

ProductBatchNotification

Used to notify that one or many changes appeared in the inventory concerning a specific party, this (these) change(s) being the result of a specific business interaction.

{ "event": [
{ "event": { "id": "http://server:port/inventoryApi/product/42", }, "eventType": "ProductDeletionNotification" },
{ "event": { "id": "http://server:port/inventoryApi/product/42",
"state" : "…" }, "eventType": "ProductStateChangeNotification" }

],
"reason" : "Contract Termination",
"details" : {
"name" : "",
"value" : ""
} "eventType": "ProductTransactionNotification" }

 

© TM Forum 2015. All Rights Reserved.

  • No labels