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

PropertyReturnsDescription
cashDivisorDoubleThe 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.
categorySeoAssetFieldStringThe name of the custom field on a category that holds its SEO asset, used when rendering category pages. Null if not configured.
checkoutRulesCheckoutRulesThe 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.
currencyCodeStringThe ISO currency code prices in this store are expressed in, eg "USD" or "NZD". Null if not configured.
dataSeriesStringThe name of the sales data series that orders placed in this store are recorded against. Null if not configured.
inventoryControlBooleanWhether this store checks and enforces stock levels from inventory before allowing a purchase. Null if not configured.
inventoryLocationNameStringThe name of the inventory location that stock levels are checked against for this store. Null if not configured.
minimumPricesBigDecimalThe 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.
orderIdTemplateStringA template string used to generate order ids for orders placed in this store. Null if the default order id generation is used.
pointsBucketsList<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.
productSeoAssetFieldStringThe name of the custom field on a product that holds its SEO asset, used when rendering product pages. Null if not configured.
promotionalAvailabilitiesList<PromotionalAvailability>The promotional availability windows configured for this store, linking categories to promotions. Null if none are configured.
reasonCodeStringThe default reason code recorded against pricing adjustments made in this store. Null if not configured.
reasonMvelStringAn MVEL expression used to derive the reason text recorded against pricing adjustments in this store. Null if not configured.
rulesList<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.
shippingProvidersList<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.
taxCalcProvidersList<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.

ParameterDescription
userIdthe profile id to match rules against, or null to ignore this factor
productCodethe set of product codes to match rules against
groupNamesthe set of group names to match rules against
orgIdsthe set of organisation ids to match rules against
orgTypesthe 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.

ParameterDescription
idthe 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.

ParameterDescription
idthe 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.

ParameterDescription
idthe promotional availability id to look up

checkoutRule(String id)

Returns: CustomCheckoutRule

Looks up one of this store's custom checkout rules by its id.

ParameterDescription
idthe 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.

To get full access to the Kademi Hub existing customers can login here, or new customers can register here.