Price Lists

Alternate variant prices with a status and an optional date window.

A PriceList groups alternate prices. Operators manage them at /dashboard/platform/price-lists.

Model

FieldMeaning
name, descriptionLabels
typesale or override
statusactive or draft
startsAt, endsAtOptional window
moneyAmountsThe prices in this list. Each MoneyAmount has an amount, currency, optional region, variant, and optional minQuantity and maxQuantity.
customerGroupsCustomer groups linked to the list

PriceSet and PriceRule add more pricing structure. A price rule has a type (fixed or percentage), a value, a priority, and ruleAttribute and ruleValue fields.

How a price is calculated

MoneyAmount.calculatedPrice does the work:

  1. If the money amount belongs to a price list that is active and inside its date window, that list is reported as applied.
  2. If the money amount belongs to a price set, the lowest valid price in the same currency is used. Prices tied to an inactive or out-of-window list are skipped.
  3. The set's price rules run from highest priority down. fixed caps the amount at the rule value; percentage takes that percentage off.

The result includes calculatedAmount, originalAmount, priceListId and priceListType. The storefront product queries read these fields.

  • calculatedPrice does not check the shopper's customer group, so linking a list to customer groups does not limit who sees the price.
  • PriceRule.ruleAttribute and ruleValue are stored but not evaluated.
  • minQuantity and maxQuantity are read but not compared with the cart quantity.
  • Cart lines pick the first money amount for the variant in the cart's region. Test which price a cart actually uses before relying on a list.

When to use it

Use a price list for a scheduled sale or an alternate price. Use discounts for codes and promotions. Do not rely on price lists for wholesale or member-only pricing until group eligibility is enforced.

On this page