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.