Pricing Workflow

Overview

Summary of how pricing is calculated in the shared backend and how differ in behaviour.

Key Concepts

  • Package: The product being sold (e.g., ticket).

  • Package Variant: A pricing entry tied to a specific Type and Subtype.

  • Price Tier: Defines prices for logged-in users based on their membership level.

  • Tier Variant: A price override at the Type/Subtype level for a given price tier.

  • Fallback Pricing: A method to calculate tier-specific prices when no Tier Variant is defined.

  • blockFallbackPricing: A flag to disable fallback pricing for a package.

  • hidePricingOnError config - if there is a validation error at cart Item Group, then the price of that package will not be displayed. The cart.Total will not be displayed.

Prerequisites

A. Package variants are setup

B. Price tier is setup

C. Tier variants are setup

Fallback Pricing Enabled (blockFallbackPricing = false/null)

Workflow

  1. Anonymous User (Not Logged In):

  2. On Package details page, anonymous user sees PackageVariant prices based on the package default price and the package's Type/Subtype.

  3. After adding package variant to cart

  4. Anonymous user authenticates at this point.

  5. If a Tier Variant exists for the selected Type/Subtype, its price is used.

  6. If not, system applies fallback logic:

  7. Uses the base tier price.

  8. Calculates offset as: Offset = Package Variant Price - Default Package Price

  9. Final Price = Base Tier Price + Offset

  10. Logged In User:

  11. On Package details page , system checks if a Price Tier exists for the user.

  12. If a Tier Variants exist, then the prices of these variants are presented to the user.

  13. User can add the tier variants to cart and proceed with payment

  14. Result:

  15. Users always receive a price (either from Tier Variant or fallback calculation).

Example:

  1. Package default price is $16. Tier price = $14.

Not logged in user sees package variant Type = DailyPass, SubType = Child, price = $10. User adds the variant to cart

  1. User logs in. When user logs in, system identifies the user is a tier member, and there is:

a) an exact tier variant match for the package variant Type = DailyPass, Subtype = Child, price = $5

b) Not an exact match tier variant ( fallback logic applies)

  1. Cart pricing for the above user will show $10 before, and:

a) $5 after they logged in

b) Offset = Package Variant Price - Default Package Price = -6

Final price = Base Tier Price + Offset = 14 + (-$6) = $8


Fallback Pricing Disabled

Workflow

  1. Anonymous User (Not Logged In):

  2. On Package details page, anonymous user sees PackageVariant prices based on the package default price and the package's Type/Subtype.

  3. After adding package variant to cart

  4. Anonymous user authenticates at this point.

  5. If an exact match Tier Variant exists for the selected Type/Subtype, its price is used.

  6. If not, system shows an error to the user at cart level. If config setting “hidePricingOnError” is set to true, the package price, subtotal and total prices on the checkout page will be hidden.

  1. Logged In User - Tier Member:

  2. System checks if blockFallbackPricing = true for the package.

  3. If Tier Variant exists for the user→ Price is shown as expected ( both on details and on checkout page if the package has already been added to cart , as well as on the package details page).

  4. If Tier Variant does not exist →

  5. No fallback is performed.

  6. System returns an error and shows an error to customer if they access their cart with the package added to it.

  7. Ticket is blocked from checkout.

  8. Subtotal and total payable are hidden on the checkout page.

Configuration Summary

Setting

blockFallbackPricing = true

blockFallbackPricing = false

Subtotal/Total hidden user if no Tier Variant

❌ No

✅ Yes

Error shown if Tier member cannot purchase

❌ No

✅ Yes

Last updated