Page tree
Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

« Previous Version 5 Next »

Managed Entity and Task Resource Models

ProductOrder lifecycle

Here is the state machine diagram for a product order. Each order states are described in the tab below.
The order item states are the same as the order ones. Note that the order and order item states are tightly linked and need to be consistent, for example :

  • Order, state : InProgress
    • Order item 1, state : InProgress (Valid)
    • Order item 2, state : Pending (Valid)
    • Order item 3, state : Held (Valid)
    • Order item 4, state : Completed (Valid until there is another order item which is NOT completed)
    • Order item 5, state : Cancelled (Not valid : if an order item is cancelled, maybe the whole order should be cancelled too)

Acknowledged

The Acknowledged state is where an order has been received and has passed message and basic business validations.

In Progress

The In Progress state is where an order has passed the Order Feasibility check successfully and service delivery has started.

Cancelled

The Cancelled state is where an In-Flight Order has been successfully cancelled.

Completed

The Completed state is where an order has complete provision and the service is now active.

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.

Pending

The Pending state is used when an order is currently in a waiting stage for an action/activity to be completed before the order 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, if no action is taken within the defined timeframes to be described under the Agreement.

Held

The Held state is used when an order cannot be progressed due to an issue. SP has temporarily delayed completing an order to resolve an infrastructure shortfall to facilitate supply of order. Upon resolution of the issue, the order will continue to progress.

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

ProductOrder

Here under a product order composed of 4 order lines (orderItems) :

  • Line "1" : Purchasing of a new simple product that needs a physical delivery place and an appointment to be delivered
  • Line "2" : Modification of a characteristic value of an already owned product, and change the user associated to this Product
  • Line "3" : Purchasing of a new simple product that needs (is supported by) another already owned product (in this case for example a new product that relies on the owned mobile access product to be installed)
  • Line "4" : Purchasing of a bundled product composed of two atomic products

 

{
   "id":"42",
   "href":"http://serverlocation:port/orderManagement/productOrder/42",
   "externalId":"NiceNameForTheConsumer_42",
   "priority":"1",
   "description":"A wonderful 42 order for brand new products",
   "category":"residential",
   "state":"InProgress",
   "orderDate":"2013-04-12T16:42:23-04:00",
   "completionDate":"2013-04-19T16:42:23-04:00",
   "requestedStartDate":"2013-04-12T16:42:23-04:00",
   "requestedCompletionDate":"2013-04-19T16:42:23-04:00",
   "expectedCompletionDate":"2013-04-19T16:42:23-04:00",
   "notificationContact":"email[email protected]",
   "note":[
      {
         "text":"A free text detailing the note",
         "date":"2013-04-12T16:42:23-04:00",
         "author":"name"
      }
   ],
   "relatedParty":[
      {
         "role":"customer",
         "id":"345221",
         "href":"http://serverlocation:port/partyManagement/customer/345221"
         "name":"John Doe"
      },
      {
         "role":"partner",
         "id":"42",
         "href":"http://serverlocation:port/partyManagement/partner/42"
      },
      {
         "role":"seller",
         "id":"4563",
         "href":"http://serverlocation:port/partnerManagement/partner/4563"
      }
   ],
   "orderItem":[
      {
         "id":"1",
         "action":"add",
         "state":"Acknowledged",
         "billingAccount":[{
               "id":"123456",
               "href":"http://serverlocation:port/billingManagement/billingAccount/123456"
         }],

         "appointment":"http://www.doodle.com/1WCV5647438",
         "productOffering":{
            "id":"42",
            "href":"http: //serverlocation: port/catalogManagement/productOffering/42"
         },
         "product":{
         "place":{
            "href":"http://map.google.com/.../1234112GDE",
            "role":"DeliveryPlace"
         },
            "productCharacteristic":[
               {
                  "name":"Colour",
                  "value":"White"
               },
               {
                  "name":"Memory",
                  "value":"16"
               }
            ]
         }
      },
      {
         "id":"2",
         "action":"modify",
         "state":"InProgress",
         "productOffering":{
            "id":"43",
            "href":"http: //serverlocation: port/catalogManagement/productOffering/43"
         },
         "product":{
            "id":"456",
            "href":"http: //serverlocation: port/inventoryManagement/product/456",
            "productCharacteristic":[
               {
                  "name":"anotherCharacteristic",
                  "value":"itsValue"
               }
            ],
            "relatedParty":[
               {
                  "role":"user",
                  "id":"5667443",
                  "href":"http://serverlocation:port/partyManagement/user/5667443"
                  "name":"Jimmy Doe"
               }
            ]
         }
      },
      {
         "id":"3",
         "action":"add",
         "state":"InProgress",
         "billingAccount":[{
               "id":"123456",
               "href":"http://serverlocation:port/billingManagement/billingAccount/123456"
         }],
         "productOffering":{
            "id":"51",
            "href":"http: //serverlocation: port/catalogManagement/productOffering/51"
         },
         "product":{
            "id":"511",
            "href":"http: //serverlocation: port/inventoryManagement/product/456",
            "productCharacteristic":[
               {
                  "name":"anotherCharacteristic",
                  "value":"itsValue"
               }
            ],
            "productRelationship":[
               {
                  "type":"reliesOn",
                  "product":{
                     "productCharacteristic":[
                        {
                           "name":"MSISDN",
                           "value":"003467488299002"
                        }
                     ]
                  }
               }
            ]
         }
      },
      {
         "id":"4",
         "action":"add",
         "state":"InProgress",
         "billingAccount":[{
               "id":"1789",
               "href":"http://serverlocation:port/billingManagement/billingAccount/1789"
         }],
         "productOffering":{
            "id":"44",
            "href":"http://serverlocation:port/catalogManagement/productOffering/Bundle44",
            "bundledProductOffering":[
               {
                     "id":" BundledPSTN444",
                     "href":"http://serverlocation:port/catalogManagement/productOffering/BundledPSTN444"                      },

               {
                     "id":" Bundled Mobile443",
                     "href":"http://serverlocation:port/catalogManagement/productOffering/BundledMobile443"                      }
            ]
         },
         "product":{
            "productRelationship":[
               {
                  "type":"bundled",
                  "product":{
                     "productCharacteristic":[
                        {
                           "name":"PSTNNumber",
                           "value":"003427488299002"
                        }
                     ]
                  }
               },
               {
                  "type":"bundled",
                  "product":{
                     "productCharacteristic":[
                        {
                           "name":"MobileNumber",
                           "value":"003464553000300"
                        }
                     ]
                  }
               }
            ]
         }
      }
   ]
}


Field Descriptions :
BillingAccount: is the billingAccount to use to bill the ordered products

Field

Description

id

Unique identifier of the billing account

href

Reference of the billing account


Note: Extra-information about the order (e.g. useful to add extra delivery information that could be useful for a human process : a digicode access to a building, …).

Field

Description

date

Date of the note

author

Author of the note

text

Text of the note


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.

Field

Description

category

Used to categorize the order from a business perspective that can be useful for the OM system (e.g. "enterprise", "residential", ...)

completionDate

Date when the order was completed

description

Description of the product order

expectedCompletionDate

Expected delivery date amended by the provider

externalId

ID given by the consumer and only understandable by him (to facilitate his searches afterwards)

href

Hyperlink to access the order

id

ID created on repository side (OM system)

notificationContact

Contact attached to the order to send back information regarding this order

orderDate

Date when the order was created

priority

A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)

requestedCompletionDate

Requested delivery date from the requestor perspective

requestedStartDate

Order start date wished by the requestor

state

State of the order : described in the state-machine diagram above


OrderItem: Order items that have to be treated

Field

Description

id

Identifier of the line item (generally it is a sequence number 01, 02, 03, …)

action

Can be "add" / "modify" / "no_change"/ "delete"

state

State of the order item : described in the state machine diagram

appointment

Used to precise that an appointment was set up with a related party for this order item


Place: Used to defined a place useful for the product (for example a delivery geographical place)

Field

Description

href

Reference of a place (for instance in google map)

role

Role of the place (for instance delivery geographical place)


Product: Configure the product characteristics (only configurable characteristics and necessary only if a non-default value is selected) and/or identify the product that needs to be modified/deleted.
May be a bundle product instantiation, in this case, it will contain the list of bundled product to instantiate
Nota: Each product to instantiate corresponds to a purchased productOffering. In case of bundles, the order of the list in the productOffering bundle must match the order of the list in the product instance bundle to deliver.

Field

Description

id

Identifier of the owned product (useful for delete or modify command)

href

Reference to the owned product (useful for delete or modify command)


ProductCharacteristic: Characteristics of the product to instantiate or to modify

Field

Description

name

Name of the characteristic

value

Value of the characteristic


ProductOffering: Ordered offering (pricing, default values, etc. are fetched by the OM directly from the catalogue). May be a bundle ProductOffering, in this case, it will contain the list of bundled offers that are ordered

Field

Description

id

Unique identifier of the product offering

href

Reference of the product offering


ProductRelationship: Linked products to the one instantiate.

Field

Description

type

Type of the product relationship. It can be :

  • "bundled" if the product is a bundle and you want to describe the "bundled" products inside this bundle
  • "reliesOn" if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product)
    "targets" or "isTargeted" (depending on the way of expressing the link) for any other kind of links that may be useful


RelatedParty: Defines parties which are involved in the order and the role they are playing. At product order level, it may be the customer and at the product level, it may be the user.

Field

Description

id

Unique identifier of related party

href

Reference of the relatedParty, could be a party reference or a partyRole reference

role

Role of the related party

name

Name of the related party


UML model:

Notification Resource Models

Five notification types are defined :

  • orderCreationNotification
  • orderRemoveNotification
  • orderStateChangeNotification
  • orderValueChangeNotification
  • orderInformationRequiredNotification


UML model:

Order Creation Notification

Used to notify that a new order has just been created.

{
      "eventId":"00001",
      "eventTime":"2013-04-19T16:42:25-04:00",
      "eventType":"orderCreationNotification",
      "event":{
      "productOrder":{
   "id":"42",
   "href":"http://serverlocation:port/orderManagement/productOrder/42",
   "externalId":"NiceNameForTheConsumer_42",
   "priority":"1",
   "description":"A wonderful 42 order for brand new products",
   "category":"residential",
   "state":"InProgress",
   "orderDate":"2013-04-12T16:42:23-04:00",
   "completionDate":"2013-04-19T16:42:23-04:00",
   "requestedStartDate":"2013-04-12T16:42:23-04:00",
   "requestedCompletionDate":"2013-04-19T16:42:23-04:00",
   "expectedCompletionDate":"2013-04-19T16:42:23-04:00",
   "notificationContact":"email[email protected]",

   "note":[
      {
         "text":"A free text detailing the note",
         "date":"2013-04-12T16:42:23-04:00",
         "author":"name"
      }
   ],
   "relatedParty":[
      {
         "role":"customer",
         "id":"345221",
         "href":"http://serverlocation:port/partyManagement/customer/345221"
         "name":"John Doe"
      },
      {
         "role":"partner",
         "id":"42",
         "href":"http://serverlocation:port/partyManagement/partner/42"
      },
      {
         "role":"seller",
         "id":"4563",
         "href":"http://serverlocation:port/partnerManagement/partner/4563"
      }
   ],
   "orderItem":[
      {
         "id":"1",
         "action":"add",
         "state":"Acknowledged",
         "billingAccount":[{
               "id":"123456",
               "href":"http://serverlocation:port/billingManagement/billingAccount/123456"
         }],

         "appointment":"http://www.doodle.com/1WCV5647438",
         "productOffering":{
            "id":"42",
            "href":"http: //serverlocation: port/catalogManagement/productOffering/42"
         },
         "product":{
         "place":{
            "href":"http://map.google.com/.../1234112GDE",
            "role":"DeliveryPlace"
         },
            "productCharacteristic":[
               {
                  "name":"Colour",
                  "value":"White"
               },
               {
                  "name":"Memory",
                  "value":"16"
               }
            ]
         }
      },
      {
         "id":"2",
         "action":"modify",
         "state":"InProgress",
         "productOffering":{
            "id":"43",
            "href":"http: //serverlocation: port/catalogManagement/productOffering/43"
         },
         "product":{
            "id":"456",
            "href":"http: //serverlocation: port/inventoryManagement/product/456",
            "productCharacteristic":[
               {
                  "name":"anotherCharacteristic",
                  "value":"itsValue"
               }
            ],
            "relatedParty":[
               {
                  "role":"user",
                  "id":"5667443",
                  "href":"http://serverlocation:port/partyManagement/user/5667443"
                  "name":"Jimmy Doe"
               }
            ]
         }
      },
      {
         "id":"3",
         "action":"add",
         "state":"InProgress",
         "billingAccount":[{
               "id":"123456",
               "href":"http://serverlocation:port/billingManagement/billingAccount/123456"
         }],
         "productOffering":{
            "id":"51",
            "href":"http: //serverlocation: port/catalogManagement/productOffering/51"
         },
         "product":{
            "id":"511",
            "href":"http: //serverlocation: port/inventoryManagement/product/456",
            "productCharacteristic":[
               {
                  "name":"anotherCharacteristic",
                  "value":"itsValue"
               }
            ],
            "productRelationship":[
               {
                  "type":"reliesOn",
                  "product":{
                     "productCharacteristic":[
                        {
                           "name":"MSISDN",
                           "value":"003467488299002"
                        }
                     ]
                  }
               }
            ]
         }
      },
      {
         "id":"4",
         "action":"add",
         "state":"InProgress",
         "billingAccount":[{
               "id":"1789",
               "href":"http://serverlocation:port/billingManagement/billingAccount/1789"
         }],
         "productOffering":{
            "id":"44",
            "href":"http://serverlocation:port/catalogManagement/productOffering/Bundle44",
            "bundledProductOffering":[
               {
                     "id":" BundledPSTN444",
                     "href":"http://serverlocation:port/catalogManagement/productOffering/BundledPSTN444"                      },

               {
                     "id":" Bundled Mobile443",
                     "href":"http://serverlocation:port/catalogManagement/productOffering/BundledMobile443"                      }
            ]
         },
         "product":{
            "productRelationship":[
               {
                  "type":"bundled",
                  "product":{
                     "productCharacteristic":[
                        {
                           "name":"PSTNNumber",
                           "value":"003427488299002"
                        }
                     ]
                  }
               },
               {
                  "type":"bundled",
                  "product":{
                     "productCharacteristic":[
                        {
                           "name":"MobileNumber",
                           "value":"003464553000300"
                        }
                     ]
                  }
               }
            ]
         }
      }
   ]
}
}

Order Remove Notification

Used to notify that an order was deleted.

{
      "eventId":"00002",
      "eventTime":"2013-04-19T16:42:25-30:00",
      "eventType":"orderRemoveNotification",
      "event":{
      "productOrder":{
         "id":" 42",

         "href":"http://serverlocation:port/orderManagement/productOrder/42",

         "externalID":"NiceNameForTheConsumer_42"

      }}
}


Order State change Notification

Used to notify that an order state is evolving.

{
      "eventId":"00003",
      "eventTime":"2013-04-19T16:42:25-30:00",
      "eventType":"orderStateChangeNotification",
      "event":{
      "productOrder":{
         "id":" 42",

         "href":"http://serverlocation:port/orderManagement/productOrder/42",
         "externalID":"NiceNameForTheConsumer_42",

         "state":"Completed"

      }}
}


Order Value Notification

Used to notify that any data in an order has just changed.

{
      "eventId":"00004",
      "eventTime":"2013-04-19T16:42:25-30:00",
      "eventType":"orderValueChangeNotification",
      "event":{
      "productOrder":{
         "id":" 42",

         "href":"http://serverlocation:port/orderManagement/productOrder/42",
         "externalID":"NiceNameForTheConsumer_42",

         "orderItem":[
            {
               "id":"1",
               "product":{
                  "productCharacteristic":[
                     {
                        "name":"Colour",
                        "value":"Black"
                     }
                  ]
               }
            }

         ]

      }}
}

Order Information Required Notification

Used to notify that some data in the order needs to be filled / is missing.

  • "resourcePath" allows to precise if it is a data at order level or at orderItem level (and which one of them) that is missing
  • "fieldPath" details which field is missing, its structure is quite similar to GET filter criteria
    • "missing=" points at the missing field
    • "&<criteria>" can be used to identify a specific element in lists

Simple example : notification contact is missing

{
   "eventId":"00005",
   "eventTime":"2013-04-19T16:42:25-30:00",
   "eventType":"orderInformationRequiredNotification",
   "resourcePath":"/order/42 ",
   "fieldPath":"missing=notificationContact",
      "event":{
   "productOrder":{
      "id":" 42",
      "href":"http://serverlocation:port/orderManagement/productOrder/42",
      "externalID":"NiceNameForTheConsumer_42"
   }}
}


Complex example : in the order item "1", the IMEI characteristic value is missing to instantiate the product "465665"

{
   "eventId":"00006",
   "eventTime":"2013-04-19T16:42:25-30:00",
   "eventType":"orderInformationRequiredNotification",
   "resourcePath":"/order/42/orderItem/1",
   "fieldPath":"missing=product.productCharacteristic.value&product.id=465665&product.productCharacteristic.name=IMEI",
      "event":{
   "productOrder":{
      "id":" 42",
      "href":"http://serverlocation:port/orderManagement/productOrder/42",
      "externalID":"NiceNameForTheConsumer_42"
   }}
}



© TM Forum 2015. All Rights Reserved.

  • No labels