Combines a store's pricing rules with its resolved shipping providers, tax calc providers, promotional availabilities and checkout rules into one immutable snapshot for a single pricing calculation. Built by PricingRulesService from a PricingConfiguration and a set of PricingRule instances, it is looked up per request through PriceManager and used to filter matching rules and locate providers by id during checkout and pricing display.
Properties
| Property | Returns | Description |
|---|---|---|
| cashDivisor | Double | The divisor used to convert a points balance to a cash value in this store, ie cash value equals points divided by this value. Null if not configured. |
| categorySeoAssetField | String | The name of the custom field on a category that holds its SEO asset, used when rendering category pages. Null if not configured. |
| checkoutRules | CheckoutRules | The custom checkout rules configured for this store, such as extra required fields or validation logic applied during checkout. Null if the store has no custom checkout rules configured. |
| currencyCode | String | The ISO currency code prices in this store are expressed in, eg "USD" or "NZD". Null if not configured. |
| dataSeries | String | The name of the sales data series that orders placed in this store are recorded against. Null if not configured. |
| inventoryControl | Boolean | Whether this store checks and enforces stock levels from inventory before allowing a purchase. Null if not configured. |
| inventoryLocationName | String | The name of the inventory location that stock levels are checked against for this store. Null if not configured. |
| minimumPrices | BigDecimal | The minimum price a product may be sold for in this store after all pricing rules and discounts are applied. Null if no minimum is enforced. |
| orderIdTemplate | String | A template string used to generate order ids for orders placed in this store. Null if the default order id generation is used. |
| pointsBuckets | List<String> | The names of the loyalty points buckets that can be used to pay for purchases in this store. Null if points payment is not configured. |
| productSeoAssetField | String | The name of the custom field on a product that holds its SEO asset, used when rendering product pages. Null if not configured. |
| promotionalAvailabilities | List<PromotionalAvailability> | The promotional availability windows configured for this store, linking categories to promotions. Null if none are configured. |
| reasonCode | String | The default reason code recorded against pricing adjustments made in this store. Null if not configured. |
| reasonMvel | String | An MVEL expression used to derive the reason text recorded against pricing adjustments in this store. Null if not configured. |
| rules | List<PricingRule> | The full, unmodifiable list of pricing rules that make up this rule set. Empty if the store has no pricing rules of its own. |
| shippingProviders | List<ShippingProvider> | The shipping providers configured for this store, in the order they should be offered to a shopper. Null if the store has no shipping configuration. |
| taxCalcProviders | List<TaxCalcProvider> | The tax calculation providers configured for this store. Null if the store has no tax configuration. |
Methods
filter(String userId, Set<String> productCode, Set<String> groupNames, Set<String> orgIds, Set<String> orgTypes) · getCheckoutRules() · getRules() · getShippingProviders() · getTaxCalcProviders() · getPromotionalAvailabilities() · shippingProvider(String id) · taxCalcProvider(String id) · promotionalAvailability(String id) · checkoutRule(String id) · getCurrencyCode() · getReasonCode() · getReasonMvel() · getInventoryLocationName() · getPointsBuckets() · getCashDivisor() · getProductSeoAssetField() · getCategorySeoAssetField() · getDataSeries() · getOrderIdTemplate() · getMinimumPrices() · getInventoryControl()
filter(String userId, Set<String> productCode, Set<String> groupNames, Set<String> orgIds, Set<String> orgTypes)
Returns: Set<PricingRule>
Does a quick hashmap based lookup of pricing rules that could plausibly apply to the given activation factors. This is a coarse first pass only - the returned rules still need to be checked individually with their own matches method to confirm they apply. Returns an empty set if there is no underlying rules index.
| Parameter | Description |
|---|---|
userId | the profile id to match rules against, or null to ignore this factor |
productCode | the set of product codes to match rules against |
groupNames | the set of group names to match rules against |
orgIds | the set of organisation ids to match rules against |
orgTypes | the set of organisation type names to match rules against |
getCheckoutRules()
Returns: CheckoutRules
The custom checkout rules configured for this store, such as extra required fields or validation logic applied during checkout. Null if the store has no custom checkout rules configured.
getRules()
Returns: List<PricingRule>
The full, unmodifiable list of pricing rules that make up this rule set. Empty if the store has no pricing rules of its own.
getShippingProviders()
Returns: List<ShippingProvider>
The shipping providers configured for this store, in the order they should be offered to a shopper. Null if the store has no shipping configuration.
getTaxCalcProviders()
Returns: List<TaxCalcProvider>
The tax calculation providers configured for this store. Null if the store has no tax configuration.
getPromotionalAvailabilities()
Returns: List<PromotionalAvailability>
The promotional availability windows configured for this store, linking categories to promotions. Null if none are configured.
shippingProvider(String id)
Returns: ShippingProvider
Looks up one of this store's configured shipping providers by its id.
| Parameter | Description |
|---|---|
id | the shipping provider id to look up |
taxCalcProvider(String id)
Returns: TaxCalcProvider
Looks up one of this store's configured tax calc providers by its id.
| Parameter | Description |
|---|---|
id | the tax calc provider id to look up |
promotionalAvailability(String id)
Returns: PromotionalAvailability
Looks up one of this store's configured promotional availabilities by its id.
| Parameter | Description |
|---|---|
id | the promotional availability id to look up |
checkoutRule(String id)
Returns: CustomCheckoutRule
Looks up one of this store's custom checkout rules by its id.
| Parameter | Description |
|---|---|
id | the checkout rule id to look up |
getCurrencyCode()
Returns: String
The ISO currency code prices in this store are expressed in, eg "USD" or "NZD". Null if not configured.
getReasonCode()
Returns: String
The default reason code recorded against pricing adjustments made in this store. Null if not configured.
getReasonMvel()
Returns: String
An MVEL expression used to derive the reason text recorded against pricing adjustments in this store. Null if not configured.
getInventoryLocationName()
Returns: String
The name of the inventory location that stock levels are checked against for this store. Null if not configured.
getPointsBuckets()
Returns: List<String>
The names of the loyalty points buckets that can be used to pay for purchases in this store. Null if points payment is not configured.
getCashDivisor()
Returns: Double
The divisor used to convert a points balance to a cash value in this store, ie cash value equals points divided by this value. Null if not configured.
getProductSeoAssetField()
Returns: String
The name of the custom field on a product that holds its SEO asset, used when rendering product pages. Null if not configured.
getCategorySeoAssetField()
Returns: String
The name of the custom field on a category that holds its SEO asset, used when rendering category pages. Null if not configured.
getDataSeries()
Returns: String
The name of the sales data series that orders placed in this store are recorded against. Null if not configured.
getOrderIdTemplate()
Returns: String
A template string used to generate order ids for orders placed in this store. Null if the default order id generation is used.
getMinimumPrices()
Returns: BigDecimal
The minimum price a product may be sold for in this store after all pricing rules and discounts are applied. Null if no minimum is enforced.
getInventoryControl()
Returns: Boolean
Whether this store checks and enforces stock levels from inventory before allowing a purchase. Null if not configured.