Balance End Time Modification Rules for Catalog Item Purchases

When you purchase a subscription offer, the following rules determine which instance of a simple or periodic balance to modify, and how it is modified.

  • If the offer identifies a required balance and the balance state update component identifies the same balance to extend, a new balance instance is added to the subscriber or group wallet and the end time of that balance instance is extended. The validity period of any existing instances of the required balance are not extended.
  • If the offer identifies a required tier balance, and that tier is specified as the target in a balance state update component, that balance instance is always selected for the balance class or template if one is associated with that offer. If a tier is not specified in a balance state update component, the group at the specified tier is selected and its local wallet is evaluated for possible balance class or template matches. For more information about required tier balances, see the discussion about product offer required tier balances in MATRIXX Pricing and Rating.
  • If the offer either does not identify a required balance, or if it identifies a required balance that is different from the balance identified by the balance state update component, the end time of an existing balance is extended.
  • If the balance state update component identifies a balance to extend, and the wallet contains more than one instance of that balance, the balances are sorted by their end time and the one that expires last is extended.
  • If the balance state update component identifies a balance to extend, and the wallet does not contain an instance of that balance, an error is returned if none of the decision tables in the balance state update component apply. This occurs when an applicable balance instance cannot be found in the wallet because it does not exist, all the decision tables are skipped, or no balance state update profiles could be selected.
  • If the balance state update component identifies a balance and that balance does not have a specified end time, the end time is not changed or set.
  • If the balance state update component identifies a balance instance that has already expired, the end time is still extended. If the extended end time is after the purchase time, the balance expiration is extended, and any balance quantity will be available again.
  • If the balance state update profile calculates a date earlier than the current balance end time and the Reduction Policy in the balance state update component is set to Allow Reduction Up To Now, the current balance is adjusted to the new reduced end time (the end time cannot be set to the past).
  • If the balance state update profile calculates a date earlier than the current balance end time and the Reduction Policy in the balance state update component is set to Deny Reduction, the current balance end time does not change.

For information about modifying the end time of a subscription offer specified as a number of purchased item cycles, see the discussion about product offer end time.