Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 :

...

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) :

...

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.

...