Hi All,
The product SID document defines an AllowedProductAction which can be associated with a ProductOffering.
Unfortunately, the product catalog apis doesn't have a placeholder for this. The product ordering apis on the other hand has an "action" for an orderItem. So we can say a product offering needs to be bought (add), changed (modify), terminated (delete). I assume these two are related.
We're trying for a use case of suspending a product with a price implication. There are a couple of design thoughts in our head
1. Introduce allowedProductAction in ProductOffering with a product action type as "suspend". Pass this on to orderItem.action. Needs to have a linking to a price for suspension.
2. Introduce allowedProductAction + subAction in ProductOffering. action would be "modify" and subAction would be "suspend". Pass action and subAction to orderItem (add subAction field in orderItem). The question here compared to point 1 is whether we can introduce new actions apart from the usual ones (add, modify, delete, noChange) defined in many of the TMF documents?. If not, we might have to resort to a subAction. Needs to have a linking to a price for suspension.
3. Introduce allowedProductAction in ProductOffering with action type as "modify", but when we send to order management, use action="modify" with orderItem.product.state="suspended". This looks cleaner. Compared to the above two, it is not very clear how we can link a price to a state change of a product.
Is there any other way to do this and if not what would be a better approach from the above list?
------------------------------
Shibin CK
Tecnotree
------------------------------