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.
- 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.
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.