Extending Bundles

Bundles can be extended during configuration to allow normalizations on custom fields. This makes it possible for rating results to be different for a product offer when it is standalone and when it is part of a bundle. In addition, rating results can be different between each bundle in which a specific product offer is included.

Bundle versions can contain additional provider-specific information allowing normalizers to be applied on individual product offer data or on bundle data. Bundle extension field values can be set during bundle creation and can be the basis of normalizations and rating formulas. They can also be used to identify information for external applications, such as a downstream billing system. The field values are included automatically in bundle notifications and in Event Detail Records (EDRs) in the AppliedBundleArray.

In a proportional charge bundle, price components for configuring a bundle-level charge (those referenced from the BundleChargeComponentArray) are not specific to any product offer, so product offer extension fields are not available for the normalizers for these pricing components. If a normalizer is used, the normalization result for that field not found is used. If a result is not defined for the field not found, an error is generated. Product offer extension fields cannot be used as the scale basis of a rating formula in these pricing components. For more information about proportional charge bundles, see the discussion about proportional charge bundles.

Custom field values can be set during purchase time or any time afterward by using the SubMan APIs to modify the extended bundle instance. This allows service providers to provide multiple instances of the same bundle, each of which can have different values set for the same private fields. During rating, if the fields are specified in a normalizer template or as the basis of a rating formula, the values are evaluated and can control how pricing is applied and whether usage is allowed.

For example, an extended bundle has a private field called Country that is set with the subscriber's current location at purchase time (for example, Germany). Service providers can limit subscribers to using this bundle only when in Germany, but not while roaming in another country. In this case, a rating normalizer is set up to examine this field during rating and will cause a message to be sent to the network to deny usage when the value is not Germany.

To extend a bundle, define a custom MDC based on the MtxBundleExtension MDC and add any necessary fields. These fields can be used during normalization as the basis of rating. To use a private field as the scaled part of a rating formula, you must add the field to the Field Definitions in My MATRIXX, and then, when creating the rating formula, set the Quantity Definition value to Field and select the new field.

For information about extending MDCs, see the discussion about extending MATRIXX Engine functionality in MATRIXX Integration. For more information about adding fields to use during rating, see the discussion about adding a field to use as the basis of rating and normalizations in My MATRIXX Help.