Open APIs

 View Only
Expand all | Collapse all

TMF 641 - understanding Cancel Service Order resource

  • 1.  TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jun 18, 2020 19:01
    Hi there, 

    While going through the TMF 641 v4 document, we have noticed the introduction of the new resource for Cancel Service Oder resource. Wanted to understand below points in regards to that:

    1) Since "state" is a patchable attribute in V4 , can the consumers not directly do a patch on state for an inflight order. New states introduced in V4 like "assessingCancellation" and "Pending cancellation" can be used for long running cancellation 

    2) Is there any reference to understand the use case for introduction of Cancel service order resource?

    Thanks,
    Rati

    ------------------------------
    Rati Mehrotra
    Telstra Corporation
    ------------------------------


  • 2.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jun 19, 2020 04:47
    Hello Rati

    Adding a cancelOrder cames from the work done in cooperation with the MEF. In business between service provider it makes sense to have an operation requesting cancelling (product) order (and not allowing to modify the order itself). This cancellation request could take time, have its own status and required additional information (like cancellation reason) . Using the TMF Task pattern was assessed as a good option and in order to get MEF/TMF alignement MEF opted this way for product order.

    Then this feature was redistributed to TMF and to have global API consistence we introduced it to all order API (product/service/resource).

    Nothing prevent to still use a PATCH but to manage long running task you'll have to use Monitor pattern.

    Hope it helps,

    Ludovic

    ------------------------------
    Ludovic Robert
    Orange
    My answer are my own & don't represent necessarily my company or the TMF
    ------------------------------



  • 3.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jun 21, 2020 22:53
    Hi Ludovic,

    Thanks for this information. Is there any Jira  or any other link that i can refer to?

    Thanks,
    Rati


    ------------------------------
    Rati Mehrotra
    Telstra Corporation
    ------------------------------



  • 4.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 06, 2020 02:47
      |   view attached
    Hi Ludovic,
    Thanks for your assistance.

    Can you also please assist in the following queries on cancelling an order.

    1) As mentioned earlier, since service state is a patchable attribute, PATCH on service state can also be done for cancelling service order. According to 641 state transition, cancel state can be reached only from pending and held. Currently there is no state transition available from inProgress/acknowledge to Cancel. How can the consumer cancel if the service order state is inprogress/acknowledged? Attaching a presentation if further clarification is required.

    2) cancelServiceOrder exposes only GET and POST operations, how can the consumer modify(like requestedCancellationDate) or withdraw a cancelServiceOrder?

    Cheers,
    Rati

    ------------------------------
    Rati Mehrotra
    Telstra Corporation
    ------------------------------

    Attachment(s)

    pptx
    Presentation1.pptx   197 KB 1 version


  • 5.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 06, 2020 03:24
    Hello Rati

    1) Agreed with you. The 'cancelled' & 'assessiongCancellation" states should be reached from inProgress & Acnowledged. It was discussed as it and the state engine did do show it. We should add these transitions for next release (or before)
    2) This is also a very good point; Perhaps trickier than the previous one because we could trigger some complex loop.

    Because you company is part of the TMF API projet may I request you to trigger 2 separate JIRAs for these please? It will be them easier to track them for next release.
    Thanks

    Ludovic

    ------------------------------
    Ludovic Robert
    Orange
    My answer are my own & don't represent necessarily my company or the TMF
    ------------------------------



  • 6.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 06, 2020 19:59
    Edited by Rati Mehrotra Jul 06, 2020 21:18
    Hi Ludovic, 

    Have raised a request for getting access to the API project

    Thanks,
    Rati

    ------------------------------
    Rati Mehrotra
    Telstra Corporation
    ------------------------------



  • 7.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 07, 2020 20:30
    Hi Ludovic,

    Have created the two Jira tickets.  

    https://projects.tmforum.org/jira/browse/AP-2279

    https://projects.tmforum.org/jira/browse/AP-2280


    Thanks,
    Rati

    ------------------------------
    Rati Mehrotra
    Telstra Corporation
    ------------------------------



  • 8.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 08, 2020 03:21
    Thanks Rati - that will be very helpful to track these.

    ------------------------------
    Ludovic Robert
    Orange
    My answer are my own & don't represent necessarily my company or the TMF
    ------------------------------



  • 9.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 13, 2021 15:45
    hi @Ludovic Robert, I've taken a look at the Jira issue and the thread and we this has come up for us during implementation too.

    I'm interested in the case of going with the approach of performing a patch directly on the service order resource. Should a client perform this patch and update the state to 'Cancelled' (that sounds like the only sensible state to specify for a client from the state model) how would the service order transition through the 'AssessingCancellation' state which looking at the Jira it should (and i agree with).

    Is the answer that the API would recieve this patch but rather than updating the resource to cancelled it would update it to 'AssessingCancellation'?

    ------------------------------
    David Whitfield
    TalkTalk Group
    ------------------------------



  • 10.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 15, 2021 03:34
    Hello David,

    If you PATCH directly the service order, for me, we have 2 scenarios:
    • server side is able to handle it synchronously - in this case in the response the serviceOrder could shift to Cancelled directly (or inProgress if cancellation request wad denied by the server),
    • server side in not able to handle it on the fly... in this case you need to send back a 'monitor' resource in the response to the PATCH to follow the cancellation request (Use of Monitor resource for asynchronous task completion is explained in TMF630 and illustrated in TMF640).  The Monitor will allow you to follow the progress on the cancellation request. About the serviceOrder state itself, when the monitor is active, it is up to implementation rule to define it, but I guess using assessingCancellation is probably the best option.

    Hope it helps,
    Ludovic

    ------------------------------
    Ludovic Robert
    Orange
    My answer are my own & don't represent necessarily my company or the TMF
    ------------------------------



  • 11.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 19, 2021 05:09
    Hi David,

    As indicated by @Ludovic Robert the use of PATCH instead of the cancel URL is suitable for cases where the service Order handler can handle the cancellation synchronously.
    This really depends on the Service Order handler. For a lean implementation it is probably sufficient to change the status of all the service entries in the Inventory.
    Some "orcherestrator" based implementations however will insist on elaborate roll-back processes that cannot be handled synchronously. In those cases the task based endpoint seems more appropriate.

    Regards



    ------------------------------
    Koen Peeters
    Ciminko Luxembourg
    ------------------------------



  • 12.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 19, 2021 09:19
    Hi @Ludovic Robert thanks for your response i just wanted to check that this wasnt an illegal option as far as TMF goes, i think initially that our handler is async so this is the way we would have to go for the implementation. I will look into TMF 630 for the monitor implementation, thanks for the pointer.

    @Koen Peeters, I do agree that the task resource does seem to be perhaps the better longer term option for us. I we have commenced our implemetation of 641 using the v18 schema and as i can see the cancel task was added in v4? Do you have much experience in uplifting from one version to the next in this space? I note there are a number of breaking changes to the interface (i.e. serviceOrderItem vs orderItem)​​​​​

    ------------------------------
    David Whitfield
    TalkTalk Group
    ------------------------------



  • 13.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 20, 2021 02:44
    Hi @Ludovic Robert,

    I hope that the following changes are also planned for TMF622 Product Order API and TMF 652 Resource Order API so that we have everything is sync across the board

    https://projects.tmforum.org/jira/browse/AP-2279

    https://projects.tmforum.org/jira/browse/AP-2280



    ------------------------------
    Kinshuk Kulshreshtha
    Oracle Corporation
    ------------------------------



  • 14.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Jul 20, 2021 05:10
    Hello Kinshuk,

    We always target to have consistent behavior between order API when we have similar requirement (which could not be always the case... for example we could need additional state for productOrder not relevant for service/resourceOrder)

    For AP-2280 please note that TMF API team governance decided to not provide a PATCH for cancel operation. Indeed, we want to avoid a recursive loop on cancel. We let implementation adds specific behavior if local context mandate it.

    Thanks
    Ludovic

    ------------------------------
    Ludovic Robert
    Orange
    My answer are my own & don't represent necessarily my company or the TMF
    ------------------------------



  • 15.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Aug 11, 2021 11:26

    Hi @Ludovic Robert,

    I wanted to clarify on the state transitions documented in v4.1.0 of TMF641. I can see that the transition to assessingCancellation is only from the Pending state. In our use case the client needs to be able to cancel the order even when everything is progressing nicely (InProgress). This might be because the customer has changed their mind on a particular service. I wondered why this transition wasnt present?

    Whilst i know this is a little off topic there has clearly been some thoughts that the cancellation of an order is likely to be an asyncronous process needing some consideration hence the implementation of the task resource.

    In our use case where the Amendment of an order is also an async operation where we might need to integrate with one or more external systems it feels like  we have similar requirement. I wondered if this is something that had been discussed at TMF where rather than a patch of the order directly a 'amendServiceOrder' resource is created and the order managed through an assessingAmendment & pendingAmendment states?



    ------------------------------
    David Whitfield
    TalkTalk Group
    ------------------------------



  • 16.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Aug 12, 2021 02:01
    Hi David
    There's an open CR to add a task resource for order amendment, here (only API project members can see this CR).
    My guess is that it will be handled in v5 APIs, but I cannot give a commitment, of course.
    Hope it helps.

    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
    ------------------------------



  • 17.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Aug 16, 2021 04:44
    Hi David,
    I share your view about the state transition: From acknowledged, inProgress, pending and held states we should be able to go to assessingCancellation state. I'm a bit perplex because the diagram in our internal TMF API repo has these transitions, but not the diagram published in the user guide. Sorry for the confusion.

    Regarding amendment, as stated by @Jonathan Goldberg, we have a Jira to track this but from my knowledge work has not started.

    Hope it helps
    Ludovic




    ------------------------------
    Ludovic Robert
    Orange
    My answer are my own & don't represent necessarily my company or the TMF
    ------------------------------



  • 18.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Aug 24, 2021 10:14
    Hey @Ludovic Robert, I have joined the open API project now so have access to the members area for this could you send me the links on for the internal repo you describe with the correct diagram and the Jira for Amend please?​

    ------------------------------
    David Whitfield
    TalkTalk Group
    ------------------------------



  • 19.  RE: TMF 641 - understanding Cancel Service Order resource

    TM Forum Member
    Posted Aug 24, 2021 10:54
    Hello David
    Send by message.

    Ludovic

    ------------------------------
    Ludovic Robert
    Orange
    My answer are my own & don't represent necessarily my company or the TMF
    ------------------------------