What is Discount Priority?
For the latest version of Commerce Server 2007 Help, see the Microsoft Web site.
You give every discount a priority that determines when to apply the discount in relation to other discounts that may also apply to a product. Discounts with the same priority are applied at the same time; discounts with different priorities are applied sequentially.
Consider a product whose price is 100.00 and receives awards for two different 25 percent off discounts. If the discounts have the same priority, they are applied in parallel:
D1 discount amount = 25.00 (100.00 * .25)
D2 discount amount = 25.00 (100.00 * .25)
If the discounts have different priorities they are applied sequentially:
D1 discount amount = 25.00 (100.00 * .25)
D2 discount amount = 18.75 ( (100.00 - 25.00) * .25)
Discounts are applied from the lowest number to the highest. For example, a discount with a priority of 10 will be applied before a discount with a priority of 20. This is true even if the discounts apply to the same award item. For example, the beverage department of your online store has a special offer for summer: buy one case of juice; get the second case for half price. However, your online store has another special offering 10 percent discount on each product in the beverage category. Assume that you prioritize these discounts as shown in the following table.
Discount |
Priority |
---|---|
Buy one case of juice, get the second case at a 50 percent discount. |
10 |
10 percent discount on each product in the beverage category. |
20 |
If a user buys four cases of juice, the discounts are applied as follows:
Case 1: No discount
Case 2: 50 percent discount
Case 3: No discount
Case 4: 50 percent discount, only if no limit was put on the "Buy one get second half price" discount. The 50 percent discount would apply again instead of the 10 percent discount because you gave it a higher priority.
You can combine multiple discounts if they have the same priority (for example, 10), the same discount type (for example, percentage off at the item-level), and the discount interaction policy set that lets the awards of the discount be reused as awards of other discounts. For example, in the following scenario, two discounts are combined into a single 30 percent discount.
The following table lists two discounts and assigns each a priority 10.
Discount |
Priority |
---|---|
Buy a telephone, get 10 percent off a radio. |
10 |
Buy a video game, get 20 percent off a radio. |
10 |
The two discounts will be combined into a single 30 percent discount because they have the same priority (10), the same discount type (percentage off at the item-level), and the "Award items of this discount can be reused as award items for other discounts" policy set. The following table shows a user basket after the discounts are applied.
Product |
Price |
Discount |
Adjusted Total |
---|---|---|---|
Telephone |
40.00 |
40.00 |
|
Video game |
50.00 |
50.00 |
|
Radio |
30.00 |
9.00 (30.00* .30) |
21.00 |
Total |
111.00 |
Monetary amount off discounts are prioritized the same way. The discounts will be combined if the discount priorities are the same.
Note
Discounts are first sorted by priority. If discounts have the same priority, they are sorted by interaction policy. If discounts have the same priority, but are not the same discount type (percentage off or dollar off discounts), the OrderDiscount pipeline component determines which discount type to apply first. For information about the OrderDiscount pipeline component, see the topic "How to Apply Discounts Programmatically" in the main Commerce Server 2007 Help.