Tickets, seats and pricing
Ticket types and inventory
Add ticket types with their own price and stock, share one pool of spots across types, set capacity per date and fix a ticket that can't be bought.
Updated September 29, 2026
Ticket types are the kinds of ticket an event sells, such as General Admission and VIP. Each type has its own price and an optional stock cap, and each one is a variant of the event's Shopify product.
Open the event and click Event settings. The Tickets tab opens first, and its section Ticket types & pricing lists every type. On a seated event this tab is read-only, and types and prices are managed under Reserved seating.
Add a ticket type
- Open the event, click Event settings and stay on the Tickets tab.
- Click Add ticket type.
- Fill in Title, Price, Inventory and Group size.
- Click Add.
The app adds a variant to the event's Shopify product with that title and price. The variant tracks stock, needs no shipping and gets a SKU from your SKU template. On a recurring event the new type is copied to every date.
What each field does:
- Title is the name shoppers see. Shopify needs a different option value for each variant, so give every type its own title.
- Price is in your store currency, 0 or more.
- Inventory is how many can be sold. It starts at 100, and a 0 typed in this form is saved as 100. To sell without a cap, add the type, then set Inventory to 0 in Edit.
- Group size is how many tickets one purchase creates. Use 1 for a normal ticket.
- Bundle ticket sells a pack, such as a table of 10, with claim links for the guests. You can only switch it on here, when the type is added.
Read group tickets, tables and claim links before you set Group size above 1 or turn on Bundle ticket.
Edit a ticket type
Click Edit on the row to change Title, Price, Inventory or Group size. A new title or price is written to the Shopify variant too.
- On a one-time event, a new Inventory sets Shopify's stock to the cap minus tickets sold. A cap of 50 with 3 sold sets Shopify to 47.
- On a recurring event, a new cap goes to every upcoming date that has no capacity of its own from the Time slots tab.
- A cap below what has already sold is allowed. The type then reads sold out, and nothing is refunded.
- Group size can't change once the type has sold tickets. Add a new ticket type with the new size instead.
- The dialog has no bundle settings. A bundle's size is fixed when the type is added.
A title or price you change on the variant in the Shopify admin is copied back onto the ticket type. A stock change made in Shopify is not copied back, because the app's Inventory decides the stock. A variant you add in Shopify does not become a ticket type.
Remove a ticket type
Click Delete on the row and confirm. If the type has never sold a ticket, the app deletes its Shopify variant and then the type.
If it has sold a ticket in any status, cancelled and refunded included, the dialog says "This ticket type can't be deleted". Lower its Inventory in Edit to stop selling it instead. An event needs at least one ticket type, so add a new one before you delete the last.
Shared inventory: one pool for every type
Shared inventory makes every ticket type sell from one number of spots. Use it when the venue has one capacity and the mix of types doesn't matter.
- On the Tickets tab, turn on the Shared inventory switch at the top of Ticket types & pricing.
- In the dialog, check the number of spots. It starts at the largest capacity you have today.
- Click Turn on.
- All types show the same availability and sell out together.
- To change the pool, type a new number in Total spots and save. It can't go below what is already sold.
- On a recurring event each date gets its own pool of that many spots.
- Turn the switch off and every type gets its own stock back. Types added while sharing was on get an even share.
A pool counts purchases, so a group or bundle ticket uses one spot. While it is on, the per-type Inventory box is hidden. Seated events don't use a pool, because the seat map is the stock. No pool can span several events.
Capacity per date on a recurring event
Each date of a recurring event has its own capacity. Open the event's Time slots tab, or click Edit time slots on the Tickets tab, then click the pencil in a date's Sold / Capacity column.
Without a shared pool there is one field per ticket type. With a pool there is a single field, Total tickets for this time slot. A date you give its own capacity keeps it when you later change the series cap.
A pool number typed here is replaced the next time you change Total spots or turn Shared inventory on. Recurring events and time slots covers dates in full.
Prices per date
A general-admission series has no price per date. Every date charges the series price, and the Time slots tab has no price field.
Seated series are the exception. Each date has its own Shopify product, and that date's Reserved seating tab sets its ticket prices. See reserved seating.
Show shoppers how many tickets are left
Add the app block Event Available Inventory to your product template in the theme editor. Its Text format defaults to {available} tickets remaining, and Show picks Total remaining, Per ticket type or Per date / slot (recurring).
On a recurring event the count follows the date the shopper picks. The dot turns amber at 20% left and red at 0.
Stock location
All ticket stock sits at one Shopify location, chosen on the app's Settings page under Ticket inventory location. The default is Primary location (default).
New ticket variants and later stock corrections use this location. Changing it does not move stock that already exists, so keep each ticket variant stocked at one location.
Ticket numbers, ticket codes and QR codes
Every ticket gets a number, starting at 1001 per event. On recurring events created since late August 2026, all dates share one counter.
Two templates on the Tickets tab, set on the main event, turn that number into what is printed and scanned:
- Ticket code template (template code) defaults to
#{{ ticket_number }}, which prints "#1001". It must include{{ ticket_number }}. - QR code template (template code) defaults to
{{ checkin_url }}, the ticket's own check-in link. Keep it, or scanned tickets can't be found at check-in.
Each ticket stores its code and QR content when it is issued, so a template change affects only later tickets. There is no custom starting number, and the only code format is QR.
SKU template
Each ticket variant gets a SKU from the shop-wide Ticket SKU template on the Settings page. The default is EASY-TICKET-{{event-name}}-{{ticket-type}}, written in capitals with hyphens.
Letters such as æ, ø and å become hyphens. Renaming a type or event later does not change its SKU.
Tickets that expire
Set Ticket expires after (days) on the event's Check-in tab, in the ticket type's card. Its tickets then stop checking in that many days after they were issued. The field shows only when check-in is allowed Any time or From 2 hours before the start.
After the window, check-in answers "This ticket has expired". The ticket page, PDF and emails don't show the expiry date. Check-in rules explains the rest of that card.
Reconnect a broken ticket link
A ticket type breaks when its Shopify variant disappears, usually because the event's product was deleted and made again in Shopify. Shoppers see "Currently unavailable" on that type, while the other types keep selling.
You see a banner on the home page and the event page, and a red "Can't be bought" badge on the row. You also get one email headed "Some tickets can't be bought right now".
- Click Reconnect on the row.
- In Product option, pick the option on your Shopify product this ticket should use. The closest name match is suggested.
- Click Reconnect.
The ticket keeps its title and takes that option's price from Shopify. If every option is already in use, click Open product in Shopify, add an option with the ticket's name, then click Refresh list. A break never deletes sold tickets or attendee lists.
Inventory check in the Shopify admin
On the event's product page in the Shopify admin, the Easy Tickets Events block has a Check inventory button. It marks each ticket type "Matches" or "Different quantities" against what the app expects.
Retry inventory sync, then Confirm inventory sync, writes the app's numbers to Shopify. Only shared pools and date-picker series have numbers to sync, because on other events Shopify's own stock is the stock.
What ticket types don't do
- No compare-at ("was") price and no description per type.
- No reordering. The store lists types in the order you created them.
- No sale start or end time per ticket type.
- No scheduled price change. For early-bird offers, use a dated promo code or a separate ticket type.
- The shared inventory feature page - one pool of places across every ticket type, with pictures
Frequently asked questions
How do I sell a ticket type with no stock cap?
Add the ticket type first, then click Edit on its row and set Inventory to 0. In the Edit dialog 0 means no cap. The Add ticket type form saves a 0 as 100, so the Edit step is needed.
Why can't I delete a ticket type?
A ticket type that has sold even one ticket, cancelled and refunded ones included, can't be deleted. Its tickets and check-in records would go with it. To stop selling it, lower its Inventory in Edit.
Can one date of a recurring event have a different price?
Not on a general-admission series. Every date charges the series price, and the Time slots tab has no price field. Seated series are the exception: each date has its own Shopify product and its own prices under Reserved seating.
Does a group ticket use one spot or several?
One. Inventory and a shared pool count purchases, so a ticket type with Group size 4 uses one unit per purchase. It still creates four tickets, and all four count toward your monthly ticket allowance.