Customizing Catalog Items Using Parameters

Parameters provide a flexible way of changing pricing options without having to create new price components or revisions of price components.

You first create definitions for parameters in My MATRIXX. You can then add parameters with those definitions to catalog items, offers, bundles, or price components. You must specify the default value for the parameter when you add it to a pricing item. Your catalog items can be purchased with the parameter default values, or you can assign new values to those parameters at purchase time using the PurchaseOffer SubMan API or after purchase time using the ModifyOffer SubMan API. You use these parameters values to affect rating formulas, such as in the scale coefficient (slope), constant (intercept), or unit factor (multiplier).

For example, you could create a purchase discount pricing component configured to accept a DiscountPercentage parameter that it uses to calculate the percentage discount for a purchase. The offer that uses this discount component can have a DiscountPercentage parameter that it passes to the discount pricing component to be used as the DiscountPercentage. A 10% discount catalog item configured for this offer could pass a constant of .10 to the offer, which then passes it to the discount component, which results in a 10% discount. A second catalog item, Special Discount, can be configured that accepts a higher DiscountSpecial parameter that it passes to the offer. At purchase time the discount percentage can be set to any valid value without changing the underlying pricing.
Note: Parameters are unusual in My MATRIXX in that they require you to enter a decimal number for percentages. For example, for a 10% discount enter .10, and for a 20% discount, enter .20.
To show how catalog item parameters and parameters from other pricing objects interact, assume a catalog item has two parameters: DiscountPercentage and ChargeAmount. Assume that a bundle template used by the catalog item has three parameters: DiscountPercentage, ChargeAmount, and GrantAmount. The catalog item could define parameter binding for the bundle template like this:
  • Bundle.DiscountPercentage = CatalogItem.DiscountPercentage
  • Bundle.ChargeAmount = CatalogItem.ChargeAmount
  • Bundle.GrantAmount = 500.00
Note: The two parameters specified in a binding rule must have the same data type. So in this example, Bundle.DiscountPercentage and CatalogItem.DiscountPercentage must have the same data type, and Bundle.ChargeAmount and CatalogItem.ChargeAmount must have the same data type.

For information about using the SubMan APIs to change parameter values, see the discussion about catalog item management in MATRIXX Subscriber Management API.