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
| Field | Meaning |
|---|---|
name, description | Labels |
type | sale or override |
status | active or draft |
startsAt, endsAt | Optional window |
moneyAmounts | The prices in this list. Each MoneyAmount has an amount, currency, optional region, variant, and optional minQuantity and maxQuantity. |
customerGroups | Customer 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:
- If the money amount belongs to a price list that is
activeand inside its date window, that list is reported as applied. - 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.
- The set's price rules run from highest priority down.
fixedcaps the amount at the rule value;percentagetakes that percentage off.
The result includes calculatedAmount, originalAmount, priceListId and priceListType. The storefront product queries read these fields.
calculatedPricedoes not check the shopper's customer group, so linking a list to customer groups does not limit who sees the price.PriceRule.ruleAttributeandruleValueare stored but not evaluated.minQuantityandmaxQuantityare 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.