Single Use

Single Use ensures that if the products have the same product ID and have been defined for single use with the order line actions as PROVIDE then those products are not provisioned more than once. It deletes one of the instances and ensures that the dependencies point to the single instance, which remains in the plan. This is done for products with the same parent only.

E.g. for a batch of phones typically we would only want to only send one shipment.

Product Model description in relation to Single Use:

The Product Model diagram shows the Single Use feature. If the Order is a 'BUNDLE in a single Order line', the UserID is generated only once, although it has been ordered twice by the products Broadband and VOIP respectively.

If the product exists more than once on the order, then it is only included once in the final plan. If the product exists on the order and in the inventory, it is not included in the plan.

Provide Single Use

The product catalog contains 2 bundles BundleA and BundleB. BundleA contains 2 sub-products A and B. Both the sub-products have sequence set to “1” and auto provision set to “True”. A has the attribute single use set to “True” when B has the attribute set to “False”. BundleB contains 2 sub-products A and C. Both the sub-products have sequence set to “1” and auto provision set to “True”. A has the attribute single use set to “True” when C has the attribute set to “False”.

The order sent into AFF contains 2 order lines. Order line 1 contains BundleA with order line action Provide. Order line 2 contains BundleB with order line action Provide. Both the order lines contain a user-defined field with name SingleUseID and the value is the same for both BundleA and BundleB.

The generated plan contains only one instance of sub product A. BundleA, which contains a dependency to sub product A and B. BundleB contains a dependency to sub product A and C. The User Defined Fields is not merged into the retained product.

Single use (Provide-Provide)

Single use (Provide-Provide)

Cease Single Use

This functionality ensures that if the products have the same product ID and have been defined for single use with their order line actions as PROVIDE and CEASE then those products are not provisioned more than once. It deletes instance, which has its order line action as CEASE, mark the action as UPDATE and also ensure that the dependencies point to the PROVIDE instance, which remains in the plan. This is done for products with the same parent only. Single Use is modeled in product model by setting record attribute single use as true.

In this scenario the Cease instance of the product is removed from the plan. Bundle A has a dependency to both sub product A and B. BundleB has a dependency to both sub product A and C. The instance of A still left in the plan has a new line action of UPDATE. The User Defined Fields is not merged into the retained product.

The plan fragment and the plan description is set to the Update fragments from the product information.

In cases where the sub product A has dependent products all those dependent products is made dependent to the remaining instance of product A.

Single use (Provide-Cease)

Single use (Provide-Cease)

Update Single Use

This functionality ensures that if the products have the same product ID and have been defined for single use with their order line actions as PROVIDE and UPDATE then those products are not provisioned more than once. It deletes instance, which has its order line action as PROVIDE and also ensure that the dependencies point to the UPDATE instance, which remains in the plan. This is done for products with the same parent only.

In the following scenario the Update instance of sub product A remains in the plan. Bundle A has a dependency to both sub product A and B. BundleB has a dependency to both sub product A and C. The instance of product A retains the line action of UPDATE. The User Defined Fields is not merged into the retained product.

The plan fragment and the plan description is set to the Update fragments from the product information

Single use (Provide-Update)

Single use (Provide-Update)

Sequenced Single Use

In this scenario OfferingA contains both BundleA and BundleB, which have been sequenced 2 and 1 respectively. Since both bundles contain sub product A, this product is merged into a single instance. BundleB is the only product to contain a dependency to sub product A since it is the 1st product to be provisioned in the plan. BundleA has the dependency to sub product A deleted.

The User Defined Fields is merged as mentioned in the above scenarios. The lineIDs and EOL attributes are merged as well with a comma as a separator.

Single use (Sequenced)

Single use (Sequenced)

Unconditional Removal of Child Products

The hierarchy single use flag in ConfigValues_AOPD.xml enables the unconditional removal of child products from the Plan. To enable this functionality, set the following flags:

  1. HierarchySingleUse = true (in Automated Order Plan Development).
  2. Merge inventory in Automated Order Plan Development request = true (in the Order Management Server user interface Configurator/ Member1/Order Management Server AFI Configuration/Orchestrator-Automated Order Plan Development Integration Configuration).

The HierarchySingleUse flag needs to be set for the Inventory Single Use functionality to work irrespective of Unconditional Removal of products. Unconditional removal of products removes all the child products of a product deleted due to single use. The MergeInventory flag must be set to true even if products are removed conditionally for inventory single use.

After implementing these settings, the HierarchySingleUse use case works for SingleUse and InventorySingleUse cases.

Note: The HierarchySingleUse global variable is disabled by default (HierarchySingleUse = false) to continue with the default implementation. The HierarchySingleUse flag works for all Single Use cases i.e. SingleUse, CeaseSingleUse,UpdateSingleUse and InventorySingleUse.

TIBCO Order Management provides an inbuilt integration with TIBCO Fulfillment Subscriber Inventory. To use this component, configure the properties in the ConfigValues_OMS.xml file described in "Post Installation Task: Integrating with TIBCO Fulfillment Subscriber Inventory" in the TIBCO Order Management - Long Running Installation and Configuration guide.