Skip to content

Multiple Ticket types #60

Open
Open

Description

@G1ne

Waves works for timing, but not having multiple categories/prices running parallel for same event.

Example

Child Ticket
Adult Ticket
Student Ticket

Each ticket type can have its own independent pricing/discount/description/product image.

Enables event organisers to sell different types of ticket for the same event.

Could be completed so multiple tickets are displayed on page or drop-down to select ticket type, which changes image/price/description.

Activity

  1. self-assigned this
    on Jun 26, 2026
  2. dadofsambonzuki commented on Oct 6, 2026

    @dadofsambonzuki

    Implemented in #64 (draft).

    Ticket types are now a real per-event entity: name, description, price, max tickets, its own sales window (available_from / available_to), sort order and an active toggle. Each type keeps its own sold count and can sell out independently, and the public page lists them as separate cards with price, availability and remaining count, each with its own quantity box.

    Discounts are per type as well — a promo code can be scoped to specific ticket types, and ticket-scoped offers (upgrades, bring-a-friend) can additionally restrict which source types qualify.

    Two differences from your write-up, so they're not surprises:

    1. image_url exists on the ticket type and is editable in the admin form, but it isn't rendered on the public page yet — that page shows name / description / price / availability only. Straightforward to add if you want the image to change with the selected type.
    2. Currency stays event-level: types differ in price, not currency, so a GBP event can't carry a USD ticket type. That's deliberate — mixed currencies in one basket would need per-line payment handling.

    Ticket waves still exist as legacy fields and still show on tickets, but ticket types are the axis for pricing from here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions