Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
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:
|
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. |
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 |
Anchor | ||||
---|---|---|---|---|
|
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 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" }], |
...
Field | Description |
type | Type of the product relationship. It can be :
|
...
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:
Anchor | ||||
---|---|---|---|---|
|
Five notification types are defined :
- orderCreationNotification
- orderRemoveNotification
- orderStateChangeNotification
- orderValueChangeNotification
- orderInformationRequiredNotification
UML model:
Anchor | ||||
---|---|---|---|---|
|
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 protected]", |
Anchor | ||||
---|---|---|---|---|
|
Used to notify that an order was deleted.
{ "eventId":"00002", "eventTime":"2013-04-19T16:42:25-30:00", "eventType":"orderRemoveNotification", "event":{ "productOrder":{ "id":" 42", |
Anchor | ||||
---|---|---|---|---|
|
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", |
Anchor | ||||
---|---|---|---|---|
|
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", |
Anchor | ||||
---|---|---|---|---|
|
Used to notify that some data in the order needs to be filled / is missing.
...
{ "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.