Configuring promotion reservation
Enable promotion reservation to reserve a promotion for an order for a set time. This feature can be used to count an order against a redemption limit, without the need for the order to be completed.
Before you begin
- This feature was implemented in Fix Pack 24 of Mod Pack 4. Install this, or a later version of WebSphere Commerce before you enable this feature.
- This feature requires the version of CheckoutPayments.js from Fix Pack 24 of Mod Pack 4, or later be included on your storefront. Ensure that the version of this file on your storefront is updated to the version provided in the Aurora starter store that is packaged with WebSphere Commerce 8.0.4.24, or later.
About this task
In the standard order flow, a redemption limit is only iterated upon once an order is completed. Due to a lack of tolerance in the design of the order flow, this can potentially allow for multiple orders receiving a limited promotion if a promotion has a very low redemption limit, or if the redemption limit is close to being hit. For more granular control of redemption limits through the order flow, you can configure and use promotion reservations.
This process is designed through the use of two new database tables, PX_RESRV and PX_RESRVUSAGE.
Procedure
Results
ReservePromotionCmdImpl
will check
against the PromotionArgumentPersistenceManager
to see if there is a redemption
limit for the associated promotion. If there is a limit for the promotion, an attempt is made to
reserve the promotion for the associated order ID. If the associated promotion reservation is
already maxed out against the promotion redemption limit,
RedemptionLimitEnforcementPolicy
will fail, and the promotion will not be applied
to the associated order.