Open APIs

 View Only
Expand all | Collapse all

TMF 622: Change Order making changes to existing Product

  • 1.  TMF 622: Change Order making changes to existing Product

    TM Forum Member
    Posted Feb 20, 2024 09:46
    Edited by Varun Pandhi Feb 20, 2024 13:04

    Hi all,

    While going through API documentation for TMF 622 Product Order we were thinking of how could scenarios like change of Product characteristic value be supported from TMF 622 resource model perspective.

    Lets take an example for a New Provide order with below instance model -

    For change order scenario, we could have below instance model -

    If we look at TMF 622 Product Ordering API User guide, we could observe a composition relationship from ProductOrderItem to Product/ProductRef.

    Per our understanding, composition relationship means the Product cannot be associated to multiple Product Order Items which would be needed if we need to support Change Order on same Product instance.

    Thoughts?



    ------------------------------
    Varun Pandhi
    Infosys
    ------------------------------



  • 2.  RE: TMF 622: Change Order making changes to existing Product

    TM Forum Member
    Posted Feb 26, 2024 00:58

    Hi all,

    Can anyone please help with above?



    ------------------------------
    Varun Pandhi
    Infosys
    ------------------------------



  • 3.  RE: TMF 622: Change Order making changes to existing Product

    TM Forum Member
    Posted Feb 26, 2024 13:26

    TMF APIs are not products of TM Forum. So you don't get support besides the goodwill of this community. It might be better to contact your BSS vendor that supplied this API.
    I don't know nor use this API but your scenario is rather straightforward and all Order API I have seen behave the same way: in a nutshell what you ask should not be supported.


    I would recommend you read the API guide, especially use case 2, which provides, from what I understand, the exact same scenario than yours: change a characteristic value of a active product specification stored in the product inventory.
    a payload example for use case 2 is also provided somewhere in the document, so you can see what the order actually looks like.

    but from experience, I've never seen a situation where the Product is referenced on more than one Order Line. if you do, you would have the risk of having 2 different "action" values on the same product

    My 2 cents,



    ------------------------------
    Kind regards,

    Matthieu Hattab
    Lyse Platform
    ------------------------------



  • 4.  RE: TMF 622: Change Order making changes to existing Product

    TM Forum Member
    Posted Feb 26, 2024 15:30

    Hi Matthieu,

    Thanks for your response. I had a look at Use case 2 in API guide, but it provides more of a logical representation of how would Change order in such a case would look like.

    There are examples provided in notification sections. But, my question concerns reusability of Product instance under different ProductOrderItems (which seems to be not allowed per TMF 622 Resource Model because of composition relationship provided above).

    A Product is a product offering procured by a customer or other interested party playing a party role.

    Which means that once bought by a customer, its identifier should not change and any subsequent changes to it (in scope of change orders) should act on the same Product (i.e. Product instance with same identifier). This is typically the case in any Telco implementation.

    My question pertains to how is this basic use case realized right from New Provide order till change order for a simple product. Couldn't find a single point of reference where such illustration on use of the API is provided in TMF 622 Product Order document.



    ------------------------------
    Varun Pandhi
    Infosys
    ------------------------------



  • 5.  RE: TMF 622: Change Order making changes to existing Product

    TM Forum Member
    Posted Feb 26, 2024 19:08

    This is how we will do it, I checked with the architects. (I use the data from the API doc)

    phase 1: "new provide"

    step 1: use a configurator to customise the product to your wishes (choose National)
    step 2: submit the order with TMF622 for the "new provide" (called Acquisition in the doc, with use case 1):

    extract from API DOC:
    {

      "id": "130",
      "quantity": 1,
      "action": "add",
      "product": {
        "isBundle": false,
        "@type": "Product",
        "productCharacteristic": [
          {
            "name": "CoverageOptions",
            "valueType": "string",
            "value": "National"
          }
        ]
      }
    }

    -->  Notice that there is no product Id when action = add.

    step 3: when order is provisioned and completed, create the product in inventory with TMF637

    This when you get a product id: 6003

    phase 2: "change" (use case 2 in the api doc)

    step 1: use TMF637 to get the product instance (with Id 6003)
    step 2: use TMF620 to get the product offerings, prices, prodspec, char, char values... to know what coverage is available for selection (and price)
    step 3: use a configurator to change the coverage (choose International)
    step 4: submit the order (this also contains the Product Id 6003)

    extract from API DOC:

    {
        "productOrderItem": [
            {
                "id": "110",
                "quantity": 1,
                "action": "change",
                "product": {
                    "id": "6003",
                    "href": "https://host:port/productInventoryManagement/v4/product/6003",
                    "@type": "Product",
                    "productCharacteristic": [
                        {
                            "name": "CoverageOptions",
                            "valueType": "string",
                            "value": "International"
                        }
                    ]
                }
            }
        ]
    }

    After provisioning is done, TMF637 updates the (existing) product id 6003 in the product inventory .

    Repeat as many times as you want. the product id 6003 will never change.

    I think that would work for you.



    ------------------------------
    Kind regards,

    Matthieu Hattab
    Lyse Platform
    ------------------------------



  • 6.  RE: TMF 622: Change Order making changes to existing Product

    TM Forum Member
    Posted Feb 27, 2024 01:11

    Hi Matthieu,

    Thanks for your response. This helps.

    My question lies there only when you say "Repeat as many times as you want. the product id 6003 will never change."

    When we place a a subsequent change post Phase 2 (e.g. Change CoverageOptions to National), we will have to use same product id.

    That would mean same Product instance (i.e. Product id = 6003), would come under another ProductOrderItem (e.g. ProductOrderItem = 210)

    Sample payload for Phase 3 (Change CoverageOptions to National)

    {
        "productOrderItem": [
            {
                "id": "210",
                "quantity": 1,
                "action": "change",
                "product": {
                    "id": "6003",
                    "href": "https://host:port/productInventoryManagement/v4/product/6003",
                    "@type": "Product",
                    "productCharacteristic": [
                        {
                            "name": "CoverageOptions",
                            "valueType": "string",
                            "value": "National"
                        }
                    ]
                }
            }
        ]
    }

    If we look at TMF 622 Product Ordering API User guide, we observe a composition relationship from ProductOrderItem to Product/ProductRef.

    Per our understanding, composition relationship means the Product cannot be associated to multiple Product Order Items. As we understand from above mentioned Phase 3, same Product would be needed to be associated to multiple Product Order Items (Product Order Item ids: 110 and 210)  to support Change Order on same Product instance.

    <