Support promotion exclusion on a per-item level

Fixed in

EPiServer.Commerce 11.3.0

Created

Jun 30, 2017

Updated

Oct 28, 2020

Area

Core

State

Closed, Acceptance tests pass


Description

Add the option to base exclusion logic on items, as an alternative to the entire cart. Which behavior is used is configurable. Upgraded sites will use the previous behavior by default.

Example:
Set up a promotion on a generic category such as shampoo (10% off), and then create a more specific promotion giving 15% on a specific brand (Wella Shampoo is on sale). Since you don't want to stack these promotions, they are set to be exclusive against each other with the Wella having highest priority.

If you have a cart like this:

  • Wella shampoo
  • Other shampoo

The expected result is this

  • Wella shampoo -15%
  • Other shampoo -10%

Currently, you only get 15% off Wella since exclusivity is on the cart level, and that promotion has been applied to the cart, even if it's not applied to all items in the cart. If you use the new behavior, entry promotion exclusivity works on a per-line item level, not on an order form level. For more details, see https://world.episerver.com/documentation/developer-guides/commerce/marketing/promotion-exclusions/ .