Open APIs

 View Only
  • 1.  Partial cancellation of TMF622 product order - Cancel of one producrOrderItem from productOrder

    TM Forum Member
    Posted 15 days ago

    Hi Team

    I am looking for a solution to partially cancel the productOrder via TMF622 API

    My Use case is like

    use case1

    We have product Order consists of multiple orderitems for eg productOrderItem1 - which will be fulfilled in 1 day, productOrderItem2 which will be fulfilled in a 1 hr and productOrderItem3 which will be fulfilled in 10 days

    After the order gets placed today, by tomorrow (as per fulfilment times mentioned above) productOrderItem1 and productOrderItem2 would have completed, but ProductOrderItem3 is still in progress, and if customer want to cancel the productOrderItem3 which is still in progress, how can we achieve this via TMF622 APIs

    use case 2

    ProductOrder has 3 ProductOrderItems, POI1 with product.startDate as today, POI2 with product.startDate as today and for POI3 product.startDate as systemDate+3 days. 

    After fulfilment of POI1 and POI2 completion, if customer need to cancel the POI3 which is still pending for fulfilment, how can we achieve this via TMF622?

    I have checked the documentation and felt Patch operation is better operation to pick and partially delete the productOrderItem which customer trying to cancel

    Eg:

    POST /productOrder:

    POI1, POI2, POI3

    PATCH /productOrder/{id}

    POI3 - with action - delete

    Can you please confirm it this is a right option to solve the use cases? or any suggestions please



    ------------------------------
    Nagendra Kodavatikanti
    BT Group plc
    ------------------------------


  • 2.  RE: Partial cancellation of TMF622 product order - Cancel of one producrOrderItem from productOrder

    TM Forum Member
    Posted 14 days ago

    Hi Nagendra,

    The cancellation should be at the Line Item level (Product Order Line item). The overall order needs to be treated as a change order i.e. Order header is Update / change / revision and the DEL action should be against the particular line item Product Order Line Item 3 (assuming it has not crossed PONR). 

    Ideally OLI 1 and OLI2 should not be present in the change / revision order (622 with PATCH). If that is not possible, then they should not have any action code  and hence will be ignored by the Product Order Delivery Orch and Management.

    Hope this helps.



    ------------------------------
    Jag Baddukonda
    Deutsche Telekom AG
    ------------------------------



  • 3.  RE: Partial cancellation of TMF622 product order - Cancel of one producrOrderItem from productOrder

    TM Forum Member
    Posted 14 days ago

    Hi Nagendra,

          After you submitted an order and Order Management (OM) accepted it for order fulfillment, if you want to cancel the whole order or a few order line items within the order, you can send a cancellation request to the order management system if the order or order items have not passed PONR. Generarlly, CPQ system creates a supplemental order for canceling the order. When the cancellation is accepted by OM, the original order is superseded, and the supplemental order is canceled.

    For the whole order, please check "Operations on Cancel Product Order". For OLIs please check "Patch product order", attributes: cancellationDate, cancellationReason, state (AssessingCancellation, ...) -> Following a cancel request, the SP is assessing if cancel can be done for the order/item (or if the PO has reached PONR). If cancellation request is not accepted after assessment the order will return in Held or Pending or InProgress state.



    ------------------------------
    Santiago Lorente
    Salesforce
    ------------------------------



  • 4.  RE: Partial cancellation of TMF622 product order - Cancel of one producrOrderItem from productOrder

    TM Forum Member
    Posted 14 days ago
    Edited by Marlon Almazan 14 days ago

    Hi Nagendra,
    Cancelling an Order or Order Item involves rolling back any changes done by that Order/OrderItem.

    I do not think patching the Order with different action will work. In your case, the original Order has POI1, POI2 and POI3 as action=add, thus sending POI3 with action=delete may work (as this is the rollback for "add"). But what if the original action was "modify"? Sending PATCH with OI3.action="delete" will delete the service altogether, which is not what you want.

    I think the you may consider using the POST /cancelProductOrder .
    You can extend the "CancelProductOrder" resource and add OrderItem.id there. Then you can send this request with POI3.id and your orchestration flow should take care to suspend/abandon the original PIO3 sub-flow (if started) and then initiate new flow to do the rollback actions for POI3. At the end, it should set the POI3 state=cancelled



    ------------------------------
    Plamen Stanoev
    Ericsson Inc.
    ------------------------------