PRODUCT Resource
{ |
Field Descriptions
Field Name |
Mandatory/ |
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. |
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
{ |
ProductValueChangeNotification
Used to notify that a product entry was modified in the inventory
{ |
ProductStatusChangeNotification
Used to notify that a product entry status has changed in the inventory
{ |
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": [ |