3.16.0

Release Date: 2024-11-28

Software Version

The document refers to the following applications and corresponding software versions:

Application Version
Promotion Calculation Engine 3.16.0

What's New

Promotions Triggered by Tenders

From now on, it is possible to define promotions triggered by one or more tender types used to pay for a specific transaction. To achieve this, a new kind of eligibility called a tender eligibility was introduced. This eligibility can define one or more logically OR combined tender types which must be registered in the transaction in order to activate the corresponding promotion condition. The new eligibility can be combined with almost all other existing eligibility types using a logical AND combination. However, it is not possible to specify the amount that must be paid by a specific tender type. The transaction must also not contain any tender type which is not listed in the tender eligibility, otherwise the tender eligibility and therefore the promotion condition itself would not be activated at all.

Once the promotion condition triggered by tender type(s) is activated, it is applied in the same way as any other already existing promotion condition. It can grant a monetary discount as well as a virtual discount or loyalty points. Promotions triggered by tenders are also available for recommendations if configured in the promotion definition. Unlike any other eligibility types, tender eligibilities and their corresponding promotion conditions are considered for recommendation even if the transaction does yet not contain a registered tender type.

For more details about the tender eligibilities, their possibilities and restrictions, please refer to the PCE Functional Guide.

Issue Key Release Notes Note
PPCE-6728

Integration of SAP interfaces for Bonus Point Multiplier

New SAP ClientAPI and Data Access Layer interfaces for the Bonus Point Multiplier promotions have been integrated.

PPCE-7859

Transaction-related non-monetary benefit proration improved

The virtual discount and loyalty points share proration of transaction-related promotions have been improved.

  • Non-monetary discount: previously, if the adjustment amount to be assigned to the last item was found to be invalid by the validation logic, then the proration failed all together. After the adjustments, the remaining amount is assigned to the rest of the proration items.
  • Loyalty points:
    • If the total benefit is not exactly distributed among the proration items, the applied correction is also rounded by the points share rounding rule. If the applied correction is invalidated on the last item by the validation logic, it is assigned to the rest of the proration items.
    • If, for some reason (e.g. due to rounding), an item in the proration list does not receive a bonus points share, it will receive zero bonus points share if this is allowed in the configuration.

If all virtual discount or loyalty points shares are considered invalid, the corresponding promotion is not applied.

As a result, expectations for the following JBehave stories had to be corrected:

  • i_can_calc_gec.story
  • cha_incentive_points_19.story
PPCE-7737

Improved transaction-related promotion rounding calculation

The calculation of the discount share rounding amounts for transaction-related promotion price derivation rules has been corrected. The rounding amount is the difference between the calculated, unrounded discount share and the finally assigned, rounded discount share value. In case the total discount amount cannot be assigned to the line items (due to rounding or invalid discount shares), the remaining unassigned amount is added to the rounding amount of the last item(s).

Resolved Issues

Issue Key Release Notes Note
PPCE-8010

Trailing zeros in PriceModificationValue field

Trailing zeros for the priceModificationValue field in the recommendation benefit section are now correctly stripped in the response.

PPCE-7914

M&M does not grant zero virtual discount when allowZeroRebate is set to false

Zero virtual discount (virtual discount types are: GIFT_CERTIFICATE("01"), TENDER("02"), COUPON("04"), MANUFACTURER_COUPON_TENDER("99")) must always be applied regardless of the rule type and allowZeroRebate flag state. This bug has been fixed.

PPCE-7902

Triggering line items without benefit do not get modifier references when the total price modification method is used

As long as the promotion is successfully applied, all triggering items get a modifier reference, even if they do not get any benefit due to price increase, zero discounts or for any other reason.

PPCE-8047

ChildEligibilitiesCount is not filled in when mapping REST API requests

Mapping of recalculate-transaction API request has been corrected so that the childEligibilitiesCount is filled in appropriately and PCE does not throw a Null Pointer Exception.