Group-Owned Balances and Meters
All balances associated with a product offer that was purchased by a group can be shared by group members or limited to the group owner. The balances can be allocated across devices to enable family sharing plans, corporate asset pools, and the like, and enable service providers a way to enforce spend control on services and track member usage.
- The aggregated balance is added to the purchaser's wallet, or the wallet of the group at the specified tier if a required balance tier is specified. This balance is a G/L balance that the owner is responsible for paying. Aggregated G/L balances are typically associated with a product offer purchased by a group and provide a grant of assets to group members. All impacts, credit limits, and notifications related to non-usage pricing are associated only with the aggregated G/L balance and processed against it. These impacts are, however, propagated up to any associated virtual balance in any parent group wallets so they can be tracked at all levels of the group hierarchy.
- A virtual balance with the same Aggregated ID is added to the wallet of each subscriber in the group and each subgroup. This balance has no GL implication for the subscriber. It is impacted during subscriber usage and can have credit limits set on it to limit subscriber usage. The impacts are propagated up to the aggregated G/L balance in real-time so usage can be tracked across all group members concurrently and spend control enforced.
- A virtual balance with the same Aggregated ID is added to each parent group wallet in the same group hierarchy. This balance has no GL implication for the parent group. It enables usage from all sub-group members in the hierarchy to roll up to the highest ancestor group so impacts can be tracked at all levels of the group hierarchy. The aggregated virtual balance can also have credit limits set to limit subscriber usage.
- If an aggregate balance template is marked as private in the product offer’s required balance list, the corresponding virtual balances (including virtual periodic balances) across the group hierarchy are marked as private to the original purchasing owner and offer.
- For each aggregate balance, you can specify whether virtual balances are created in both higher and lower group tiers (default behavior) or only in lower tiers. For more information, see the discussion about suppressing higher tier virtual balances.
Figure 1 shows a group hierarchy with GL and virtual balances. Note that the aggregated G/L balance in Group B has a virtual aggregated balance that was propagated up the hierarchy to Group A.
During rating, when selecting the rate tables and rating formulas to apply, a balance is considered only if there is a G/L balance in the wallet of the subscriber who initiated the event or in the wallet of any ancestor group in the hierarchy.
During product offer purchasing, if there is already an aggregated balance with the same balance ID in any parent group's wallet, it is used instead of creating a new balance. This is true for both GL and virtual balances and enables the MATRIXX Charging Application to manage spend control across all groups and group members.
- MtxRequestSubscriberAddThreshold
- MtxRequestGroupAddThreshold
Whenever an AddThreshold or RemoveThreshold SubMan API is called to add, modify, or remove a threshold for a subscriber or group, an MtxBalanceThresholdModifyEvent event is generated.
You can use the MtxRequestSubscriberAddThreshold and MtxRequestGroupAddThreshold SubMan APIs to override new threshold history configuration data details in My MATRIXX for a subscriber or group addressed by the SubMan request. These requests contain the MDC structure MtxThresholdData.
For more information about configuring a balance template threshold and overriding the threshold history configuration data details, see the discussion about configuring balance template thresholds in My MATRIXX Help. For more information about the Event Enabled attribute, see the discussions about MtxThresholdData and MtxThresholdInfo in MATRIXX Subscriber Management API. For more information about the AddThreshold and RemoveThreshold SubMan APIs, see the discussions about MtxRequestSubscriberAddThreshold, MtxRequestGroupAddThreshold, MtxRequestSubscriberRemoveThreshold, and MtxRequestGroupRemoveThreshold in MATRIXX Subscriber Management API.