Modelling Order cancellation at each step

Hello everyone,

I am modelling a business process and came across this interesting scenario. We are formulating an order process. At any step of this process, the order can be cancelled. What is a good way to represent this in bpmn.

The only method that comes to my mind is have a exclusive gateway after every task to check if we need to cancel the order. But that doesn’t seem right. Let me know your thoughts.

You can use an event sub process which scopes the whole process. It would look like this:
https://cawemo.com/share/d0cdc8e5-392d-4259-9c55-a8cd7d31a794

1 Like

@Niall thanks for the prompt reply. The event subprocess is indeed what I am looking for.

There also a case where I have an option to change the order type of an instance, at which point the order should return back to a particular step in the main flow.

Should I use a combination of event subprocess and throw event?

I think for that case it might be better to use gateways

I was thinking of something like this: https://cawemo.com/share/d31af74b-707d-4f5f-b6b0-491f1a921a2a

Can you please share details on using gateways on this