Offer Life Cycle Profiles

An offer life cycle profile consists of a set of offer statuses, a set of policies associated with each offer status that describe behavior that can be executed in this status, and a set of transitions that can have conditions defined that can trigger a transition and actions defined that are executed after the transition is performed. Both offers and bundles can have an offer life cycle profile defined. Use offer life cycle profiles to customize the behavior of MATRIXX for your business processes.

Offer Life Cycle Profile Elements

Figure 1 lists the elements that make up an offer life cycle profile.

Figure 1. Offer Life Cycle Profile Elements
A tree with offer life cycle profile at the top, followed by status definitions, then branching to offer life cycle status code, status class, status policies, and status transitions which branches to transition conditions and transition actions.
  • Offer Status Definitions — Define the statuses available within an offer life cycle profile. Each definition is linked to a single offer life cycle status code. The status code's class determines the behavior allowed (through policies) when the offer is in that status. Status definitions are defined when you create and edit your offer life cycle profile.
  • Offer Life Cycle Status Codes — Linked to a status class, which determines status behavior. For example, the in_cancellation status code class is class_in_cancellation. Therefore, any status associated with the in_cancellation status code allows an offer to be canceled, suspended, and used for rating and policy. Offer life cycle status codes are provided by default. You can also create custom status codes in My MATRIXX. For more information, see the discussion about creating offer life cycle status codes in My MATRIXX Help.
  • Status Classes — Defines the behavior that is supported and the status transitions that are allowed. The behavior cannot be customized; you cannot modify the supported policies. For example, the class_in_cancellation offer status class does not allow the start time or the end of the offer to be modified and recurring processing is disabled.
  • Offer Status Policies — Defines specific behavior that can be executed in this status. For example, the MtxStatusPolicyCancel policy defines whether an offer can be canceled.
  • Offer Status Transitions — Defines the possible statuses to which this status can transition. Transitions can be performed either manually or automatically (for example, using conditions). A status transition can optionally define the following:
    • Transition Conditions — Defines a set of expressions that are evaluated for defined business actions. If a transition has a condition defined, this can result in an automatic transition when the condition is met. If any of the conditions evaluates to true, the transition to the next status occurs. Any condition can trigger a transition as long as all the filters also pass.
    • Transition Actions — Defines a set of actions that are performed on the transition (for example, canceling an offer when transitioning to an inactive status). Status actions are executed after the status object has transitioned to the new status.
    Important: Status conditions and actions can each include MtxFilter objects that must all pass for the status condition to be met or the status action to occur. For status conditions, the filters are applied before the object has transitioned to the new status. For status actions, the filters are applied after the object has transitioned to the new status.
Note: Offer life cycle profiles are similar to status life cycles in their use of statuses, policies, conditions, and transitions. However, offer life cycle profiles apply only to offers and bundles and use their own policies, conditions, and transitions. The status life cycle policies, conditions, activities, and transitions are not applicable to offer life cycle profiles.

For more information about status policies, classes, and codes, see the discussion about offer life cycle status codes in My MATRIXX Help. For more information about transitions and their conditions, see the discussion about offer transition conditions in My MATRIXX Help.

SubMan APIs

When purchasing a product offer with the SubMan APIs, you can set the OfferLifecycleProfileId parameter in MtxPurchasedOfferData. When set, it specifies the offer life cycle profile to be associated with the purchased item. This overrides the offer life cycle profile configured in the product offer or bundle definition in pricing. You can set this parameter for all catalog items except for one time offers.

For information about offer status notification fields and offer life cycles, see MATRIXX Subscriber Management API.