Ticketing – Shopping Cart

Ticketing → Shops → [Shop Name] → Edit

The Shopping Cart handles ticket selections, reservations, and pricing in the shop entirely on the server. This enables accurate inventory control and a reliable checkout experience.


Overview

The Shopping Cart stores and processes ticket selections made in the shop before checkout. The cart runs on the server, meaning inventory is tracked in real time and reservations are secured the moment a buyer adds a ticket — not at the moment of payment.


Core Architecture

The cart runs on the server, not in the buyer's browser.

This means:

  • Tickets and seats are reserved immediately when added to the cart — not at checkout

  • Cart state is preserved even if the buyer refreshes the page or closes and reopens the browser

  • All cart operations are processed sequentially to prevent conflicts

  • Business rules and automation rules are enforced in real time as the cart changes


Immediate Ticket & Seat Reservation

Tickets are reserved the moment a buyer adds them to the cart:

  • For Best Available seat selection, the seat is claimed at the moment of selection

  • Reserved tickets count against the event inventory immediately

  • There is no risk of a ticket appearing available while already selected by another buyer

This eliminates "I selected a ticket but it was gone by checkout" support cases.


Cart Persistence

The cart is stored on the server rather than in the buyer's browser:

  • The cart survives page refreshes

  • The cart survives closing and reopening the browser

  • Buyers can return to their cart without losing their selection

This removes the risk of lost cart data due to browser issues or session timeouts.


Sequential & Atomic Processing

All cart operations are processed one at a time, in sequence:

  • Prevents race conditions where simultaneous changes result in an incorrect cart state

  • Ensures the final cart state is always correct, even during rapid changes

  • Eliminates "cart out of sync" errors that could result in incorrect orders


While a cart update is being processed, buyers cannot navigate away from the page:

  • This prevents incomplete or corrupted cart states

  • The block resolves automatically as soon as the server confirms the operation

  • This behaviour is automatic and requires no configuration


Pricing Breakdown

The shop displays a full breakdown of all costs to the buyer:

  • Product prices — the face value of each ticket or add-on

  • Service fees — per-ticket fees applied by the platform

  • Transaction fees — fees applied to the overall order

  • Discounts — active discount codes or promotions

All fees recalculate automatically whenever the cart changes, so buyers always see an accurate total before paying.


Discount Code Handling

Discount codes are processed as follows:

  1. Validation — the code is validated as soon as the buyer enters it

  2. Pending — during shopping, the discount is shown as pending in the cart overview

  3. Application — the discount is applied definitively at checkout

This prevents pricing confusion during the shopping phase and ensures the final total is accurate before payment is made.

To control whether buyers can enter discount codes in the shop, see the Display Discount Field setting in Advanced Settings.


Performance Under High Traffic

Pricing calculations are optimised for on-sale peaks:

  • Calculations are cached and reused across identical orders

  • Processing time is significantly reduced during high-traffic on-sales

  • The shop handles simultaneous buyers more reliably under load


What This Section Controls

The Shopping Cart enables the platform to:

  • Reserve tickets and seats instantly upon selection, directly against the event inventory

  • Maintain cart state across buyer browser sessions

  • Enforce sequential, conflict-free cart operations

  • Display a real-time, accurate pricing breakdown including all fees and discounts

  • Automatically prevent navigation during cart processing to maintain cart integrity

  • Deliver reliable checkout performance during high-traffic on-sale periods

It does NOT control:

  • Ticket types or capacity (configured in Inventory)

  • Payment methods (configured in Event Settings)

  • Shop design or branding (configured in Design)

  • Discount code creation (configured in Promotions)


Important Considerations

  • Reserved tickets count against the event inventory immediately — if a buyer abandons their cart, the reservation is released after the reservation timeout expires

  • Discount codes are shown as "pending" during shopping — the final discount amount is confirmed at checkout

  • Navigation blocking is automatic and cannot be configured per shop


Functional Summary

Within the Ticketing shop, the Shopping Cart:

  • Reserves tickets and seats on the server the moment they are added

  • Maintains cart state across page refreshes and browser sessions

  • Processes all changes sequentially to prevent conflicts

  • Displays a full, dynamic pricing breakdown including fees and discounts

  • Optimises checkout performance during high-traffic on-sale periods

The server-side cart guarantees: if a ticket is in a buyer's cart, it is reserved against the event inventory.