HCL Commerce Enterprise

Price List Condition

Use this condition in a price rule if you have two or more price lists and you want the price rule to determine which price list to use. For each catalog entry that is being priced, the price rule checks the price list that is specified in each Price List Condition, starting with the top path. When a price for the catalog entry is found, the price rule uses the actions on that path to set the price.

How the Price List Condition works in a price rule

Consider the following example in which a pricing manager maintains three price lists:

  • Furniture Clearance Prices - Contains prices for certain furniture catalog entries that are on clearance. The catalog entries in this list change frequently.
  • Tableware Clearance Prices - Contains prices for certain tableware catalog entries that are on clearance. The catalog entries in this list also change frequently.
  • Offer Price - Contains regular prices for all catalog entries in the master catalog.

Customers must get the clearance price for any catalog entries in either of the Clearance Prices lists. For all other catalog entries in the master catalog, customers get the offer price. The price rule looks like this:


Example: A price rule using the Price List Condition
When a customer views a catalog entry on the storefront, the price rule works like this:
  • 1 The price rule checks whether the catalog entry is in the price list specified in the Price List Condition element on the first path:
    • If the catalog entry is in the price list, then the price rule uses the actions on the first path to set the price of the catalog entry. In this example, the customer sees the price from the Furniture Clearance Prices price list.
    • If the catalog entry is not in this price list, then the price rule ignores the first path and continues to the next path.
  • 2 The second path works the same as the first path, but checks a different price list.
  • 3 On the bottom path, there is no Price List Condition element. Therefore, this path sets pricing for all other catalog entries that this price rule handles. In this example, the customer sees the offer price.

Note that the Price List Condition only checks a price list; it does not generate a price for the catalog entry. Only actions can generate a price. This is why the first and second paths in the previous example also contain a Get Price from Price List action, although this action specifies the same price list as the condition. You can use any actions to the right of a Price List Condition.

Guidelines for using the Price List Condition in price rules

To create a valid price rule, use the Price List Condition element according to the following guidelines. The previous price rule example adheres to these guidelines, so use it as a reference:
  • Your price rule must contain a Condition Branch element to split a single path into multiple paths.
  • Your price rule can have as many paths as you need.
  • Each path that follows the Condition Branch must start with a Price List Condition element, except for the bottom path. Typically, you should not add a condition element to the bottom path. The bottom path should determine pricing for any catalog entries that do not meet the price list conditions on the other paths. This prevents the situation in which a customer sees no prices on the store because the catalog entry is not in any price list specified in the conditions. If you have a business case for using a condition on every path, you can do so, but ensure that the price rule can output a price for every catalog entry it needs to handle.
  • For a given Condition Branch, all conditions must be of the same type. For example, you cannot use a Price List Condition element on one path and a Customer Condition element on another path.
  • You can use more than one Condition Branch in a price rule to nest conditions within other conditions. In this case, you can use multiple condition types in the same price rule, as long as each Condition Branch contains paths that use only a single condition type.