Skip to content

Ticket Allocation Modes

Quantum Competitions provides two distinct ticket allocation modes to accommodate different competition models and checkout flows.

The allocation mode is configured per competition using the Randomly assign ticket numbers (without ticket picking) setting in the product edit screen.


1. User Choice (Interactive Ticket Picker)

Section titled “1. User Choice (Interactive Ticket Picker)”

When Randomly assign ticket numbers is left unchecked, participants choose their exact ticket numbers manually from a visual grid on the competition product page.

  • Frontend Experience:
    • Displays an interactive interactive grid showing all available, reserved, and sold ticket numbers.
    • Participants click desired tickets to select them.
    • Lucky Dip: A quick-select button allows users to automatically pick a specified quantity of random available numbers with a single click.
    • Tabbed Pagination: For large ticket volumes (e.g. 500+ tickets), ticket numbers can be organized into tabbed batches (e.g. 100 tickets per tab) via Sort tickets in tabs? (_lottery_pick_number_use_tabs) to preserve page loading speed and mobile usability.
  • Cart Reservation System:
    • Selected tickets are held in temporary reservation (wc_lottery_pn_reserved table) during the user’s cart session.
    • Prevents double-booking and race conditions while the buyer completes checkout.
    • If the checkout is abandoned or the cart expires, tickets are released back to the available pool.
  • Admin Identifier: Indicated with the blue U (User Choice) badge in the Generation column on the Competitions list screen.
  • Best For: Competitions where specific numbers hold sentimental value (birthdays, car numbers, lucky numbers), prize draws with lower ticket caps, and interactive community games.

2. Automatic Random Allocation (Without Ticket Picking)

Section titled “2. Automatic Random Allocation (Without Ticket Picking)”

When Randomly assign ticket numbers (without ticket picking) (_lottery_pick_numbers_random) is checked, the plugin completely bypasses the visual grid.

  • Frontend Experience:
    • The visual ticket grid is hidden.
    • Participants only select their desired quantity of tickets (e.g. entering 10 or clicking a 1-click Bulk Discount preset).
    • Simplifies the page layout and eliminates decision fatigue.
  • Allocation Engine:
    • When the order is placed, the plugin selects and assigns unallocated numbers at random from the pool using cryptographically secure random integers.
    • Assigned ticket numbers are permanently recorded in the order meta and the participant log (wc_lottery_pn_log), and displayed on the order received page, customer account dashboard, and confirmation emails.
  • Performance & High-Traffic Scale:
    • Eliminates frontend grid DOM rendering for high-capacity draws (e.g., 10,000+ tickets).
    • Ideal for flash sales, high-speed sellouts, and syndicates.
  • Admin Identifier: Indicated with the green R (Random) badge in the Generation column on the Competitions list screen.
  • Best For: High-volume draws, instant sell-outs, multi-thousand ticket capacity competitions, and simplified mobile checkouts.

Feature User Choice (U) Automatic Random (R)
Grid UI on Product Page Yes (interactive clickable grid) No (quantity selector only)
Participant Chooses Numbers Yes No (randomly assigned on order)
Cart Reservation Locks Yes (temporary session lock) No (assigned upon purchase)
Lucky Dip Randomizer Supported (frontend helper button) Inherent (entire draw is random)
Tabbed Pagination Optional (_lottery_pick_number_use_tabs) N/A
Ideal Ticket Capacity 1 – 2,500 tickets 1 – 100,000+ tickets
Admin List Badge U (User Choice) R (Random)