In Order Management, an in-flight order means an order that is amending or cancelling an already running order. The reasons differ. After getting the order, your customer may call you back and say he wants a new order item, or he may want to cancel the order.
Both of the operations (revise or cancel), needs some checks before accepting the order. The first and most important check is PoNR or ‘Point of No Return’ check. In Order Management, PoNR is an Order state. After that state is set, the Order cannot be cancelled or amended. Most of the cases, PoNR is the network activation or shipment and it is there to protect the provider from extra costs. For example, you may have a network activation order where 10 branch locations should be provisioned and activated. 2 of these locations does not have any connectivity at all, so a fiber cable should be laid to the customer location. This work is typically done by 3rd part supplier/partners who are contracted on an hourly basis. Also for the digging work, expensive permits may be required from regulatory bodies. In a much simpler scenario, a retailer may have shipped the goods and they may on their way. There may be no way to cancel the shipment at that moment.
PoNR is communicated with the customer at the order capturing time, so the customer is aware of it.
After the PoNR is checked, cancel and revise operations can be validated. For cancel, no validation is necessary. Typically, the customer will contact the contact center and ask for cancellation. The order id that is acquired at the order submission time will be used to cancel the in-flight order. After the ‘Cancel Order’ is received by the OM platform, the running workflow is signaled and if implemented, all the rollback scripts are run before setting the order state to ‘Cancelled’.
Revise operation is a little bit trickier as it requires a catalog validation step. The amendment order may be breaking some catalog rules so before submitting it from the order capturing platform (or after the submission, by order manager), the validation rules should be executed. After that point, the in-flight order is cancelled and a new order is created with the same order id as the previous one. The changing property is the revision number of the order. The revision is incremented by 1, indicating that the Order had some changes in the past. It should be noted that different OM vendors may be implementing different strategies here. The preferable way is to keep the order id same for consistent customer experience, however, some platforms may not allow doing so. It is better to check the implementation details with the OM vendors before designing your end to end flows.