Price Groups - Structure/Priorities/Relationships
About this Guide
If you create a lot of Price Groups, you may have a hard time figuring out why a customer was charged a certain price for an item. This is because Price Grops can affect each other in a number of ways.
Miva handles different Discount Modules in different ways depending on what kind of discount it provides.
In addition, Exclusions and differing Priorities each affect how discounts are calculated.
The content below will help you understand some of the behind the scenes work Miva does, when it figures discounts based on Price Groups.
On this Page
Architecture of a Discount Module
A Discount Module’s capabilities tells Miva the type of discount this module provides.
- Pre-Items: Get called before item-/basket-level discounts. The intended use is for modules that need to add/change items in the basket, like an Add-On Product Price Group for example.
- Item: Discounts which apply to individual items.
- Basket: Discounts which apply to individual baskets.
- Shipping: Discounts which apply to shipping charges.
Other capabilities include: Eligibility, precalc and provision_settings, and qualifying.
Order of Operations
Discount Module Capabilities
This is for existing discount modules.
- Add On Product - Pre-Item, Items
- Basket Discount - Basket
- Basket Discount (Specific Products) - Basket
- Buy X Get y - Items
- Markup from Cost - Items
- Customer Sale Pricing - Items
- Product Discount - Items
- Sale Price - Items
- Volume Discount - Items
There are three Exclusion types:
- Exclude for Same Basket
- Exclude for Same Item Group
- Exclude for Same Item
An Item Group is a group of multiple items that are identical except for their pricing due to discounts (for example, Buy X Get 1 Free). These are grouped together and shown as a single line item in the basket.
If there are no exclusions, each price group is segregated into one of the three classifications and then applied based on the priority within those groups.
If there are exclusions:
- Price Group Qualifications are applied first to determine if eligible (basket or qualifying weight, quantity, subtotal).
- Exclusions are applied based on highest priority first.
- Price Groups are applied to a basket based on each price group’s priority.
- The higher the priority, the higher its order in which it will be applied.
- 10 will be applied before 1.
- 1000 will be applied before 500.
- Priorities can be negative or 0
Discount Price Recalculation
- Any change to the basket to add, remove, or update an item will automatically force the price groups applied to the basket to be recalculated.
- This cannot be prevented or changed.
- Miva will look at all qualifying price groups and process each discount individually in the order based on pre-calc, items, baskets with groups and the highest priority from within each group.
- Basket Subtotal used for qualifications is updated as each price group is applied.