Product Offer Validity Periods

A product offer can have a purchase validity period and a rating validity period that set when it is valid for purchase and rating, respectively. By default, both validity periods start immediately when the product offer is added to the pricing database and do not end until the product offer is deleted.

Purchase Validity Period

Purchase start and end dates can be specified for each version of a subscription and one time offer that defines the time period during which that version can be purchased by a subscriber, group, or device. An offer version can only be purchased if the time of the purchase operation is later than the purchase start date (if present) and earlier than the purchase end date (if present). Otherwise, an error is returned during purchase time.

Each version can have a different version start date that occurs before the end date (if one is set) of the initial offer version. All revisions of a version can also have a different purchase start date to limit when they can be purchased. By default, all versions and revisions of a product offer are available for purchase immediately and never become invalid for purchase. You can limit when an offer can be purchased by specifying the Purchase Start Date and Purchase End Date values for versions and the Revision Start Date value for revisions.

For more information about creating product offers, see My MATRIXX Help.

Rating Validity Period

Subscription offers have a start type attribute that sets when the product offer becomes valid for rating after it has been purchased. In the product offer template, this is identified by the Offer Start Type value and can be set to immediately (at purchase time), an absolute date, or be specified explicitly at purchase time by the SubMan APIs. If a date is not specified, the product offer becomes valid for rating immediately when purchased.
Important: Currently, when purchasing an offer with the SubMan APIs, the StartTime must be less than or equal to the purchase time. Specifying a StartTime in the future will generate an error during rating. In addition, if the absolute date is in the future, any attempted purchase of that offer will fail until the offer becomes valid.

Subscription offers also have an end time attribute that sets the time at which the offer is no longer valid for rating. In the product offer template, this is identified by the offer End type value and can be set to none (no end date), a time relative to the purchase date, a time relative to the start date, an absolute date, a purchase-relative and absolute date (whichever comes first), a start-relative and absolute date, or to end after a specified number of cycles. By default, subscription offers are valid until the time they are canceled. The offer start type and end type values can be specified for each revision of an offer. Each revision can have a separate Revision Start Date that specifies when the revision is valid for rating.

Each product offer revision can have a Revision Start Date that determines when it becomes valid for rating. The start date for a revision must be after the start time of the previous revision. If the offer start time is not set, it becomes available immediately at purchase time. The version start time is applicable for every revision of that version.

Product Offer End Time

Subscriptions offers with recurring price components can be purchased with a limited number of cycles instead of an end date. The end time of a subscription offer can be specified as a number of purchased item cycles when defining the product offer or bundle, ending after the number of successful recurring cycles.
Note: If an offer goes into a Recoverable state, the offer end time is adjusted when the offer comes out of the Recoverable state. For more information about offer transitions, see the discussion about offer transition conditions in MATRIXX Subscriber Management API.
The number of cycles can be overridden at the time of purchase through the NoEndTime or EndAfterCycleCount parameter in the MtxPurchasedOfferData SubMan API, or modified after purchase using the NoEndTime or EndAfterCycleCount parameter in the MtxRequestDeviceModifyOffer, MtxRequestGroupModifyOffer, or MtxRequestSubscriberModifyOffer SubMan APIs.
Note: Only one of the following can be specified, otherwise, an error displays:
  • NoEndTime — The offer does not expire.
  • EndAfterCycleCount — The offer ends after the specified number of successful recurring cycles.
    Note: If the EndAfterCycleCount is modified through a ModifyOffer SubMan API to a value lower than the current number of successful cycles, the modify request will fail.
  • EndTime — If supplied, modifies the catalog item EndTime. If the catalog item is canceled or in cancelation, this value cannot be modified and an error is returned.
  • EndTimeRelativeOffset — The number of units relative to the offer purchase time to set the offer end time.

For more information, see the discussions about MtxPurchasedOfferData, MtxRequestSubscriberModifyOffer, MtxRequestGroupModifyOffer, and MtxRequestDeviceModifyOffer in MATRIXX Subscriber Management API.

You can query the number of cycles each purchased item is supposed to have using SubMan APIs. The RecurringSuccessCycleCount and EndAfterCycleCount parameters are included in the purchased offer information in the query response. For more information, see the discussions about MtxRequestSubscriberQuery, MtxRequestSubscriptionQuery, MtxRequestGroupQuery, and MtxRequestDeviceQuery in MATRIXX Subscriber Management API.