You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
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.
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.
Activity
dadofsambonzuki commentedon Oct 6, 2026
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 ownsoldcount 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:
image_urlexists 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.Ticket waves still exist as legacy fields and still show on tickets, but ticket types are the axis for pricing from here.