Offer Owner State Update Components

An offer owner state update component implements the business logic that decides which object state update profile to select during rating for a given set of normalization parameters. An offer owner state update component can be configured to run during a Purchase, Activation, Recurring, or Balance Threshold operation. When an offer owner state update component is executed, a decision table is used to select an object state update profile to update the custom data/time field of the offer owner object (subscriber/group/device).

Important: Offer owner state update components cannot be added to the following types of offers:
The offer owner state update component contains decision tables that map normalization parameters to result values. The result can be the ID of an object state update profile or a SKIP value. When a SKIP value is selected, the next decision table in the component is examined. When an object state update profile is selected, the Charging Server modifies the custom date/time field of the Subscriber/Group/Device object by using the rules defined in the profile to extend an amount of time from either the existing date/time value or from now. For example:
  • You want to trigger the automatic transition of an offer owner object (subscriber, group, or device) when the main prepaid balance is less than $0.50.
    1. Set up a decision table that checks whether the balance is less than $0.50.
    2. Create an offer owner state update component with an Application type of balance_threshold.
    3. Configure the offer owner state update component to use the decision table to run an object state update profile if the balance is less than $0.50. This object state update profile is configured to update a custom date/time field to now. This custom date/time field is used by an object status transition condition to calculate the object status transition time.
  • You want to extend the automatic transition timeout of an object by three months whenever a top-up offer is purchased.
    1. Create an offer owner state update component with an Application type of purchase.
    2. Configure the offer owner state update component to use a single row decision table to run an object state update profile that extends the custom date/time field by three months. This custom date/time field is used by the object status transition condition to calculate the object status transition time.

When the object is updated, a SubscriberModifyEvent, GroupModifyEvent, or DeviceModifyEvent EDR is generated as appropriate to record the update and the offer for which the offer owner state update component was executed.

Note: The Subscriber/Group/Device object is only updated per the object state update profile if the product offers have an offer owner state update component and that component gets executed at the end of a Purchase, Activation, Recurring, or Balance Threshold operation. When SubMan APIs are called to modify the end time of a purchased offer or to recharge a balance but no offer owner state update component is executed, then the Subscriber/Group/Device object is not updated. In this case, the SubscriberModify, GroupModify, and DeviceModify SubMan APIs can be called to manually update the Subscriber/Group/Device object (including the custom fields).

Offer owner state update components are executed after other types of pricing components (such as charges and grants) are successfully executed. If the offer owner state update component execution fails, the overall rating operation is not affected and can still be executed successfully.

Multiple offer owner state update components can be assigned to a product offer, including for multiple application types.
Note: An offer owner state pricing component cannot be added to a global offer.

For more information, see the discussion about adding an offer owner state update component to a product offer.