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