Appearance
Tickets & inventory
Tickets are how attendees register. Every event needs at least one active ticket before it can be published. This page covers ticket types, pricing, inventory, and the rules that protect tickets once they've started selling.
Open Tickets in the event workspace. Each row is one ticket type; expand a row with Settings to edit it, or use Create ticket to add a new type.
Ticket types
You can add as many ticket types as you need — for example General Admission, Early Bird, VIP, or Student. Each has its own name, price, quantity, and sale window.
When you create the event with Ticket sales mode, a free General Admission ticket is created for you as a starting point.
TIP
There's an AI helper on the Tickets page. Describe your pricing, paste an old event's tickets, or upload a registration screenshot, and it proposes ticket types for you to review — only the ones you keep get created.
Free vs. paid
A ticket's Price decides whether it's free or paid:
- Free — set the price to
0. Good for registration-only events. - Paid — set any price above zero.
All prices are in the event currency (see Currency below); you set the amount, not the currency, on each ticket.
To actually collect money from paid tickets, you need a connected payment provider. See Connecting a payment provider. Until then, a paid event can't be published.
Quantity & inventory
Each ticket has a Total quantity. Leave it blank for unlimited; the list shows unlimited stock as ∞.
You can also set min and max per order to control how many of a ticket one buyer can take in a single order.
The Tickets list shows a Sold / qty column so you can see stock at a glance, for example 18 / 100.
Sold and locked stock
BagEvent tracks two kinds of committed inventory:
- Sold — tickets in confirmed orders.
- Locked — tickets reserved by carts and pending (unpaid) orders. Locked stock is released if the order isn't paid in time (see the auto-cancel setting under Registration → Rules).
These two numbers drive the safety rules below.
WARNING
You can't reduce Total quantity below sold + locked. If 40 tickets are committed, the lowest total you can set is 40. BagEvent rejects a smaller number with an error.
Pausing vs. deleting a ticket
- Pause / resume — the On sale / Paused toggle stops or restarts sales without removing the ticket. A paused ticket doesn't count toward the "at least one active ticket" publish requirement.
- Hide / show — the Visible / Hidden toggle controls whether the ticket appears on the public page.
- Copy — duplicates a ticket type as a fast way to create a variant.
- Delete — permanently removes a ticket.
WARNING
A ticket with any sold or locked inventory can't be deleted. BagEvent stops you with "Ticket has sold or locked inventory; deactivate instead of delete." Pause the ticket (toggle it to Paused) rather than deleting it, so you keep the records tied to it.
Sale period
By default a ticket stays on sale until the event start time. To sell within a specific window instead, uncheck the default in the ticket's Sale period and set a custom Sale start and Sale end (deadline). The list shows each ticket's effective end date ("Ends …").
Approval on purchase
Turn on "Purchasing this ticket requires my approval" to hold each registration for review instead of confirming it immediately. Attendees see a pending page after registering, and you approve or reject them. See Approvals.
Stage pricing (early-bird)
Stage pricing runs time-limited discounts across your tickets — the classic early-bird pattern where the price rises as dates pass. Open the Stage pricing tab on the Tickets page.
Each stage has a discount end date and a discounted price for each paid ticket:
- Add a discount period and pick its end date.
- Enter a discounted price for each paid ticket you want on sale during that stage.
- Save. Add more stages for a rising price ladder (up to 10 stages).
How stages behave:
- A stage's start defaults to the ticket sale start, or the day after the previous stage ends. Times run from 00:00 on the start date through 24:00 on the end date.
- Only paid tickets can have a stage price — free tickets stay free.
- A discounted price can't exceed the ticket's original price. BagEvent rejects a stage price higher than the base price.
- The stage currently in effect is marked Current.
Stage pricing is time-based (the price everyone pays right now depends on the date). This is different from quantity-based tier pricing, where a bigger group in one order pays a different unit price. If your event uses quantity tiers, set those on the individual ticket rather than on the Stage pricing tab.
Currency
Currency is set once, at the event level — every ticket in the event shares it, and you enter only the price amount per ticket.
- Currency is chosen when you create the event and can be changed on the Event details page while the event has no sales.
- It locks permanently after the first ticket is sold or reserved. A reserved cart already shows a buyer a price, so BagEvent won't let the currency move underneath it. The details page shows "Currency is locked because tickets have already been sold."
- Currencies that can't be charged through Stripe are usable only for free events or offline payment. Paid tickets in such a currency can't be published.
See Currencies & payouts for which currencies are chargeable and how payouts work.
Event-wide ticket settings
Below the ticket list are settings that apply to all tickets:
- General settings — whether to send a success notification and an approval-result notification by email.
- Advanced ticketing settings — whether attendees can request refunds from their personal center, and the refund policy text they see. See Refunds.
Next steps
- Registration forms — collect the right details from each attendee.
- Approvals — review registrations before confirming them.
- Connecting a payment provider — take payment for paid tickets.
- Discount codes — run promo codes alongside your ticket prices.
- Creating an event — the publish requirements tickets feed into.