### Qualifier Properties

The Qualifier class contains the following properties:

• filterForQualifierNegativePrices—Determines whether items with negative prices can act as qualifiers. If this property is set to true (the default value), negative prices cannot act as qualifiers.

• filterForQualifierZeroPrices—Determines whether items with zero prices can act as qualifiers. If this property is set to true (the default value), zero prices cannot act as qualifiers.

• filterForQualifierDiscountedByCurrentDiscountId—Determines whether items discounted by the current discount can act as qualifiers. If this property is set to true (the default value), items discounted by the current discount cannot act as qualifiers.

• filterForQualifierDiscountedByAnyDiscountId—Determines whether items discounted by any discount can act as qualifiers. If this property is set to true (the default value), it masks the filterForQualifierDiscountedByCurrentDiscountId property.

The following example demonstrates how the filterForQualifierDiscountedByAnyDiscountId works. In this example, the following three promotions are being applied to an order:

• Promotion #1: Buy 1 orange, get 1 apple for \$1

• Promotion #2: Buy 1 apple, get 1 banana for \$1

• Promotion #3: Buy 1 banana, get 1 plum for \$1

The order in this example is for one orange, one apple, one banana, and one plum. The value of the filterQualifierDiscountedByAnyDiscountId changes the way the promotions are applied in the following ways:

• If filterQualifierDiscountedByAnyDiscountId is false, then the orange is list price, discounting the apple, banana and plum to \$1 each.

• If filterQualifierDiscountedByAnyDiscountId is true, then the orange is list price, discounting the apple to \$1, and the banana is list price (since the apple was discounted), discounting the plum to \$1.

• filterForQualifierOnSale—Indicates whether items that were priced with a sale price should be allowed to act as qualifiers. This property is set to False by default.

The following Qualifier class properties determine the items that the evaluateTarget method can use to evaluate the target element of a PMDL rule. (For more information, see Replacing the Way a PMDL Rule Is Evaluated.)

• filterForTargetNegativePrices—Determines whether items with negative prices can receive the discount. The default value is true.

• filterForTargetZeroPrices—Determines whether items with zero prices can receive the discount. The default value is true.

• filterForTargetDiscountedByCurrentDiscountId—Determines whether items that have been discounted by the current discount can receive the discount again. The default value is true.

• filterForTargetDiscountedByAnyDiscountId—Determines whether items that have been discounted by any discount can receive the discount again. The default value is true.

• filterForTargetActedAsQualifierForAnyDiscount—Determines whether items that have acted as a qualifier for any discount can receive the current discount. The default value is true.

• filterForTargetOnSale—Indicates whether items that were priced with a sale price should be allowed to receive the current discount. The default value is false.

• filterForTargetPriceLessThanOrEqualToPromotionPrice—Determines whether items with prices that are already less than the price that would be granted by a “fixed price” promotion should receive the promotion. The default value is true.