Purchased Item Cycle Alignment

When purchasing a catalog item, you can specify if the purchased item cycle is independent or aligned to a billing cycle, balance cycle, or a different purchased item cycle. The cycle to which a purchased item cycle is aligned is the master cycle.

Multiple purchased item cycles can be linked to a single master cycle; during recurring processing, each purchased item is processed according to the priority defined in the product offer or bundle template in My MATRIXX. You cannot align a master cycle to another cycle; master cycles must be independent. For example, in Figure 1, Purchased Item 1 is the master cycle for Purchased Items 2,3,4. Purchased Item 5 cannot align to Purchased Item 2 because it is aligned to Purchased Item 1.
Figure 1. Purchased Item Cycle Alignment
Three independent purchased items aligned to a fourth purchased item.

When one or more purchased item cycles are aligned to a master cycle, any changes to the master cycle affects all cycles that are linked to it. For example, if the master cycle is a billing cycle and the beginning of the billing cycle is modified from the 1st day of the month to 15th day of the month, all purchased item cycles aligned to this master cycle now have a billing cycle that begins on the 15th day of the month. If a master cycle expires, is disabled, or is deleted, any purchased item cycles that are linked to it become independent.

If you attempt to align a master cycle to another cycle, or a cycle that will become a master cycle after a pending change to another cycle, an error is returned in the response. If you attempt to purchase or modify a catalog item and align it to a cycle which is already aligned to another cycle or that has a pending alignment, an error is returned in the response.

When a linked purchased item cycle is scheduled to align to another cycle at the end of the current period, it becomes immediately independent from the current cycle. For example, assume purchased item 2 is linked to purchased Item 1. Purchased item 2 has a pending modification to link to purchased item 5 at the end of its current cycle. If purchased item 1 is canceled before the end of the cycle, purchased item 2 immediately becomes independent, but retains the same cycle until its completion, when it links to purchased item 5.

When a purchased item is aligned to the time of purchase (whether as a result of the pricing definition or a purchase-time override) the purchase time is used for the cycle time-of-day and to determine the cycle offset. For example, if the purchase time is 0700 hours and the cycle offset is 12 hours, the cycle begins at 1900 hours.

A device-owned purchased item cycle can align to a subscription purchased item cycle by setting the CycleOwnerType field in the MtxPurchasedItemCycleData MATRIXX Data Container (MDC). The cycle alignment information for balances aligned to device-owned purchased items is removed immediately when the associated device is removed from the subscription or deleted.

Important: Billing cycles are always independent. For any cyclic catalog items aligned to a billing cycle, if the billing cycle is terminated early, the period termination proration for those catalog items is executed after the configured drain period (the delay from the time the period is terminated to generate the refund and forfeiture) for the billing cycle period termination. In addition, you cannot modify the aligned cycles until the previous period termination is completed.

SubMan APIs

The following APIs identify valid targets for purchased item cycle alignment for a group, subscription, device, and catalog item.
  • MtxRequestSubscriberCheckPurchasedItemCycleAlignment
  • MtxRequestGroupCheckPurchasedItemCycleAlignment
  • MtxRequestDeviceCheckPurchasedItemCycleAlignment
  • MtxResponseCheckPurchasedItemCycleAlignment
Valid targets for alignment are:
  • A balance cycle.
  • A billing cycle that is not already aligned.
  • A purchased item cycle that is not already aligned.

If the catalog item specified does not exist or is not cyclic, a "permission denied" error response is returned.