Astraa Events Calendar · Docs

Astraa Events Calendar docs

Publish in-person events like workshops, tastings and pop-ups on your Shopify store, and sell tickets through products you already know how to manage.

New to selling event tickets on Shopify? Start with a guide for your kind of shop.

Launching soon. Astraa Events Calendar isn't on the Shopify App Store yet, and these docs may change before launch. Want early access? Email us.

Overview

Astraa Events Calendar adds an Events page to your Shopify admin where you manage your events, an Events calendar block you can drop into any page of your theme, and an Event details block for ticket product pages. Each event can have a ticket product with a price and a capacity, so customers buy tickets through your normal checkout and Shopify keeps count of what's left.

Events are stored in your own store as Shopify data, not on our servers, so they stay with your shop.

Events and tickets

You set up two things, and it helps to keep them apart:

  • The event is what's happening. Its title, dates, location, image and capacity. This is what shows on your storefront calendar.
  • The ticket is what customers buy. A regular Shopify product with a price and a set number of spots. Each sale adds an attendee to the event, and when the spots run out it's sold out.

An event can be listed without a ticket, which is handy for things people just turn up to. Add a ticket when you're ready to take bookings. Here's how common setups look:

You're runningEventTicket
A one-off workshopOne event: Saturday 10am, the studio, 12 people.One ticket at $45 with 12 spots. Sold out after 12, then customers can join the waitlist.
Adult and child pricesOne event.One ticket with two ticket types, Adult at $20 and Child at $10, each with its own number of spots.
A workshop with an optional bookOne event.Two ticket types: “Ticket only” at $30 and “Book & ticket” at $55.
An 8-week courseOne event with all 8 dates listed. Pick Repeat “Every week” and Sell as “One ticket for all dates”.One ticket covers every date, so each person buys once, is on one attendee list, and is checked in separately on each date.
A weekly drop-in classA separate event for each date. Pick Repeat “Every week” and Sell as “A separate event and ticket for each date”.Each date has its own ticket and attendee list, so people book only the weeks they want.
Two time slots each SaturdayAdd a second start time on the new event, and Repeat “Every week”. Each slot on each date becomes its own event.Each slot has its own ticket and spots, so a full 10am slot doesn’t stop people booking 2pm.
A kids’ class and an adults’ eveningTwo events, with Category set to Kids and Adults, and Ages filled in, for example “Ages 7 to 12”.One ticket each. Customers can filter the calendar by category, or you can give the kids’ classes a page of their own.
Cheaper tickets for booking earlyOne event.One ticket at the full price, with an Early bird price, for example 20% off until two weeks before.
A free talk or meetupOne event.None if anyone can turn up. Add a $0 ticket if you need people to reserve a spot.
A pop-up marketOne event with the date and location.None. It’s on the calendar so customers know where to find you.

Getting started

The app's home page has a Getting started checklist that walks you through these steps and ticks each one off as you go.

  1. 1Install the app on your Shopify store and approve the requested permissions.
  2. 2Open Apps → Astraa Events Calendar in your Shopify admin and click Create event.
  3. 3Open the event and add a ticket in its Ticket section (see Selling tickets).
  4. 4Add the Events calendar block to your theme so customers can see your events (see Showing events on your store).
  5. 5Add the Event details block to your product template so each ticket page shows its event's date, time and location (see Event pages).

Creating events

Click Create event on the app's home page or the Events page, then fill in the form:

  • Event title (required): what customers see on the calendar.
  • Description: a few lines about what to expect.
  • Image: shown on the storefront calendar and added to the ticket product. JPG, PNG, GIF or WebP, up to 20 MB.
  • Location / venue: include the street address so the storefront map link finds the right place. If you run events in more than one place, save them on the Venues page and pick one here instead of typing it.
  • Start date and time, and an end time. Times are in 30-minute steps.
  • Capacity: how many people can attend. It becomes the number of tickets when you add a ticket.
  • Status: Published, Unlisted, Draft or Archived. Only published events show on your storefront calendar. An unlisted event is kept off the calendar, but anyone with its ticket link can book, which suits a private party.

Ends on the same day is ticked by default, so you only pick an end time. Untick it for events that run past midnight or over several days, and an End date field appears.

Times use your store's time zone, which the form names for you. For an event held somewhere else, tick Use a different time zone and pick its zone; the storefront shows that event's times in its own zone.

The form checks your dates as you type. If the end is before the start, the end time is flagged right away. If the event already ended, a warning tells you it will be listed under Past events rather than Upcoming.

Who it's for

  • Category: a group like Kids, Adults or Ceramics. The storefront calendar can let customers filter by it, or show only one category on a page. Spell it the same way on every event in the group.
  • Ages: shown as you write it, for example 18+ or Ages 7 and up.
  • Drop-in: tick it when guests can arrive any time between the start and end. The storefront shows “Drop in 10:00 AM – 1:00 PM” instead of a start time.

Booking rules

  • Stop selling (hours before start): tickets stop selling that long before the event. 48 closes bookings two days before. The ticket page says bookings have closed and its buy buttons stop working.
  • Minimum to run: the fewest tickets the event needs. The event page and the app's home page show how many more it needs, so you can decide in time whether to go ahead.
  • Booking terms or waiver: a refund policy, age limit or liability waiver, shown on the ticket page. With the Attendee names block, buyers tick a box to agree, and the order shows “Agreed to terms: Yes”.

Several times a day

Running time slots, or a matinee and an evening session? On a new event, click Add a start time in the Repeat part of the form. Each time becomes its own event with its own spots and tickets, lasting as long as the first. It works with Repeat too, so you can set up two slots every Saturday for six weeks in one go.

Managing events

The app's home page shows your upcoming events as cards with each event's image, date, location and how many spots are left, plus an At a glance panel counting upcoming events, drafts, tickets on sale and spots left.

The Events page lists every event in tabs: Upcoming, Past, Drafts and Archived. Each row shows the event's status and its ticket's state: No ticket, On sale, Not on sale or Archived. Click an event to edit it.

To run the same class again, open the event and click Duplicate. The form opens with everything copied except the dates, which you pick. The image comes along, and so does the ticket price if the ticket has one price, so the copy goes on sale when you save it. A ticket with several ticket types is set up on the new event's page.

Deleting an event archives its ticket product instead of deleting it, so orders already placed keep their product. If you're cancelling it, email your ticket holders first.

Selling tickets

Each event can have one ticket product. Open the event, and in its Ticket section enter a ticket price and the number of tickets (it starts at the event's capacity), then click Create ticket product.

The app creates a regular Shopify product for you:

  • It's named after the event, for example “Pasta Workshop Ticket”.
  • Inventory is tracked and set to the number of tickets, so it can't oversell.
  • It doesn't require shipping.
  • It isn't published yet, so you can add photos or edit the description before anyone can buy it.

When you're ready to sell, click Publish to Online Store in the same section. Once it's on sale, the section shows how many tickets are left and a View on store button.

Using a product you already sell

If you already sell a class as a product, you don't need a new one. In the event's Ticket section, click Choose a product and pick it. It becomes the event's ticket as it is: same page, price, options and past orders. If the event has no capacity yet, it takes the product's stock. Turn on inventory tracking for the product so tickets left and the waitlist work.

To bring in many at once, click Import products on the Events page and pick up to 50 products. Each becomes a draft event with the product's title, description, image and stock, linked to that product. Open each draft under the Drafts tab, add its dates and location, and set it to Published. Products that are already an event's ticket are skipped.

Picked the wrong product? Click Unlink product in the Ticket section. The product stays in your store, still on sale; it just stops being this event's ticket.

The ticket keeps up with the event when you save changes:

  • Changing the capacity moves the tickets available by the same amount. Raise capacity from 20 to 25 and five more tickets go on sale.
  • Renaming the event or changing its description updates the ticket too, unless you've rewritten them in Shopify yourself.
  • A new event image is added to the ticket's photos.
  • Archiving the event archives the ticket, so it can't be bought.

Early bird price

To reward early bookings, open the event and use the Early bird price section under the ticket. Choose a percentage off or an amount off each ticket, and the last day it applies. It ends at 11:59 PM that day, or when the event starts if that's sooner.

The app sets this up as a Shopify automatic discount on the ticket, so Shopify takes it off in the cart and checkout and stops it on time. Your ticket price doesn't change. The calendar and the ticket page show the offer, for example “Early bird: 20% off until Nov 14”. Click End it now to stop it early. The discount also appears under Discounts in your Shopify admin.

Every ticket order gets a QR code to show at the door. See Checking people in.

Showing events on your store

  1. 1On the app's home page, click Add the calendar to your storefront. It opens the theme editor with the Events calendar block ready to place. You can also add it yourself from Online Store → Themes → Customize → Add block → Apps.
  2. 2Place it on any page or section, then save your theme.

The block shows published, upcoming events in date order. Past events drop off automatically. You can adjust:

  • Heading: defaults to “Upcoming events”.
  • Layout: a List, or a Calendar grid of whole months.
  • Maximum events to show (list): 1 to 20, default 5.
  • Months to show and Week starts on (calendar grid): up to 6 months, starting with the current one.
  • Date style and Clock: month first (Nov 10, 2026) or day first (10 Nov 2026), and a 12-hour (6:30 pm) or 24-hour (18:30) clock. Stores in the UK, Canada, Europe and Australia usually want day first.
  • Let customers filter by category and Let customers filter by venue: show a picker above the events when upcoming events have two or more categories or saved venues. Both are on by default.
  • Only show events in this category and Only show events at this venue: for a page per category, like a Kids page, or per location. Type the name as written in the app.
  • Show location, with an optional map link to Google Maps or Apple Maps that opens the map or directions.
  • Show event image and Show description.
  • Show tickets left: shows the remaining count for each event's ticket. Off by default.
  • Add event details for search engines: adds schema.org event data so search engines can show your events as rich results. On by default.
  • Empty state message: what to show when nothing is scheduled.

A Get tickets button appears for any event whose ticket product is published.

Event pages

Each event's page on your store is its ticket product page. It's where the Get tickets button on the calendar leads, and where customers buy.

To show the event's date and time, location with a map link, and tickets left on that page, add the Event details app block to your product template once:

  1. 1In Shopify admin, go to Online Store → Themes and click Customize.
  2. 2From the page menu at the top, choose Products → Default product.
  3. 3In the product information section, click Add block → Apps → Event details. Drag it under the price.
  4. 4Click Save.

The block only shows on ticket products, so it stays hidden on the rest of your catalog. If some products use a different product template, add the block to that template too.

In the block's settings you can turn off the location or its map link, and choose Google Maps or Apple Maps. Show tickets left is on by default here, and shows “Sold out” once tickets run out. Set Date style and Clock to match the calendar block.

The block also shows the event's ages, drop-in and any running early bird offer, and its booking terms. Once bookings close, it says so and turns off the theme's buy buttons.

Until the event is over, the block also shows Add to calendar links: one for Google Calendar, and one for Apple Calendar and Outlook that downloads a calendar file with every date of a course. Turn them off with Show Add to calendar links.

When an event sells out, the block shows a Join the waitlist form where customers leave their email, and optionally their name and how many spots they want. In the app, open the event and click Waitlist to see who's waiting in the order they joined. Each person gets an email confirming they joined. When you refund a ticket with restock or add capacity, the app emails the people waiting a link to the ticket, in your store's name, with replies going to your store's contact email. Under Automatic emails on the Waitlist page, choose whether everyone waiting is emailed, only as many people as there are new spots in the order they joined, or nobody, in which case Email waitlist opens a draft in your own mail app. Each store can send up to 2,000 emails a month, counting waitlist emails, reminders and messages to ticket holders. To protect customers' privacy, an event's waitlist is deleted automatically 30 days after the event ends, so export it first if you want to keep it. Turn the form off with Show waitlist when sold out in the block's settings.

Private events

Customers can ask you for a private party, team outing or group booking straight from your store.

  1. 1In the app, open Private event requests and click Add the request form to your store. It opens the theme editor with the Private event request block, which you can place on a page such as “Private parties”.
  2. 2Customers enter their name and email, and can add the date they want, group size, occasion and a message. Each request shows up in the app and is emailed to your store's contact email.
  3. 3Click Book as event on a request. The app makes an unlisted event for that date, kept off your calendar but bookable by its link. Put its tickets on sale and send the link to the organizer to share with their guests.

Requests are deleted 180 days after they're sent, or after the date asked for if that's later.

Emailing ticket holders

The app can email everyone who bought a ticket, in your store's name, with replies going to your store's contact email.

When plans change

  1. 1Open the event and click Attendees, then Email ticket holders. After you save a new date, time or place, the event page offers the same button.
  2. 2Choose what it's about: The date, time or place changed, The event is cancelled, or Something else. Each starts with a short message you can edit. A change email lists the event's current date, time and place above your message.
  3. 3Click Send email. The page tells you how many people were emailed. Someone with several orders gets one email.

Cancelling doesn't refund anyone by itself. Refund each order in Orders in your Shopify admin.

Reminders

On any event's Attendees page, tick Email ticket holders a reminder the day before. From then on, everyone with a ticket for a published event gets a reminder about a day before it starts, with the date, time, place and a link to the event. For a course, they get one before each date. The setting covers all your events, and is off until you turn it on.

These emails count toward your store's 2,000 emails a month, together with waitlist emails.

Attendee names in the order confirmation

Attendee names, the event's date and location, and “Agreed to terms” are saved on each ticket in the order, and show in the cart, checkout, the order and the app's Attendees page. Shopify's standard order confirmation email doesn't print them. To add them:

  1. 1In your Shopify admin, go to Settings > Notifications > Order confirmation and click Edit code.
  2. 2Find {% for line in subtotal_line_items %} and, a few lines below it, the product title. Paste this just after the title:
    {% for p in line.properties %}
      {% assign first_char = p.first | slice: 0 %}
      {% unless p.last == blank or first_char == '_' %}
        <span class="order-list__item-variant">{{ p.first }}: {{ p.last }}</span><br>
      {% endunless %}
    {% endfor %}
  3. 3Click Save, then Send test email to check it.

Checking people in

Every ticket order comes with a QR code. At the door, scan it from the app to check people in and see who's arrived. One code covers every ticket on the order.

Give buyers their QR code

Add the Event ticket QR code block to your checkout pages once:

  1. 1In the app, open any event with a ticket and click Check-in.
  2. 2Under Where buyers find their QR code, click Add to order confirmation page. The checkout editor opens. Add the Event ticket QR code block and click Save.
  3. 3Do the same with Add to order status page.

Buyers then see their code, the tickets it covers and their confirmation number right after checkout. They can open it again from the View your order link in their confirmation email. The block only appears on orders with tickets, and says the tickets can't be used if the order was cancelled.

At the door

Open the event in the app and click Check-in. You can check people in three ways:

  • Scan ticket uses your camera in the Shopify app on a phone or tablet.
  • A USB barcode scanner plugged into a computer types the code into the page for you.
  • Type the order number, such as #1001, for anyone who can't find their code.

Each scan gives you an answer straight away:

  • Checked in: the buyer's name, how many people to let in and the names entered for each ticket. Tap Undo if you scanned the wrong code.
  • Already checked in: with the time, so the same code can't be used twice.
  • Not checked in: with the reason. That might be a cancelled order, refunded tickets, a ticket for a different event, or a code that doesn't match its order.

The page keeps a running count, such as “18 of 24 tickets checked in”. The event's Attendees page also shows who has checked in, with a Check in button on each row.

Codes can't be faked from an order number: each one includes the order's confirmation number, which only the buyer sees.

Courses

When one ticket covers several dates, each date is checked in separately. The Check-in page opens on the date happening now, or the next one, and you can pick another date under Course date.

FAQ

Selling tickets

What’s the difference between an event and a ticket?

The event is what’s happening: its dates, location and capacity, shown on your storefront calendar. The ticket is the Shopify product customers buy to attend it. An event can be listed without a ticket, and one ticket can have several ticket types, like Adult and Child, each with its own price.

How do I sell one ticket for a course that runs over several weeks?

When you create the event, set Repeat (for example “Every week”), the number of dates, and Sell as “One ticket for all dates”. You get one event listing every date and one ticket that covers them all.

Can I offer an early bird price?

Yes. Open the event and set an Early bird price under its ticket: a percentage or amount off until a date. Shopify applies it in the cart and stops it on time, and your ticket page shows the offer.

Can I stop selling tickets a day or two before?

Yes. In the event’s Booking rules, set Stop selling to the number of hours before the start, such as 48. You can also set a minimum number of tickets the event needs to run.

Do my customers need an account to buy tickets?

No. A ticket is an ordinary Shopify product, so it goes through your normal checkout with whatever account settings your store already uses.

Why isn’t the “Get tickets” button showing?

The button only appears once the ticket product is published to your Online Store. New ticket products start unpublished; open the event and click Publish to Online Store.

Can an event sell more tickets than it has spots?

No. Each ticket tracks inventory equal to the event’s capacity and stops selling when it reaches zero. If you change the capacity, the remaining spots change by the same amount.

How do I refund a ticket?

A ticket is a normal Shopify order. Open it in Orders in your Shopify admin and click Refund. Leave “Restock” ticked so the spot goes back on sale.

Can customers join a waitlist when an event sells out?

Yes. With the Event details block on your product template, a sold-out event shows a “Join the waitlist” form. When a refund is restocked or you add capacity, the app emails the people waiting in your store’s name, with a link to the ticket. Open the event in the app and click Waitlist to see who’s waiting, export the list, or choose who gets emailed. Each store can send up to 2,000 emails a month, counting waitlist emails, reminders and messages to ticket holders. The waitlist is deleted automatically 30 days after the event ends.

I already sell my classes as products. Do I have to recreate them?

No. On the Events page, click Import products and pick them: each becomes a draft event with that product as its ticket, keeping its page, price, options and past orders. Add the dates, then publish. For a single event, use Choose a product in its Ticket section.

Can ticket holders get a reminder before the event?

Yes. On any event’s Attendees page, tick “Email ticket holders a reminder the day before”. It applies to all your published events, and to each date of a course.

Why aren’t attendee names in the order confirmation email?

Shopify’s standard confirmation email doesn’t print the details saved on each ticket. They’re still on the order and the Attendees page. A short edit to the email template adds them: see “Attendee names in the order confirmation” under Emailing ticket holders.

Where can I see who bought tickets?

Open the event in the app and click Attendees. It lists everyone who bought a ticket, with the names entered for each ticket, how many tickets they have and whether they’ve checked in, and you can export the list as a CSV file.

Managing events

Which time zone are event times in?

Your store’s time zone, unless you tick “Use a different time zone” on the event and pick another one. Each event keeps its own zone.

I changed an event’s date. Are buyers told?

Not automatically, but it takes one click. After you save a new date, time or place, the event page offers Email ticket holders, which writes to everyone who bought a ticket in your store’s name with the new details. Existing tickets stay valid.

How do I cancel an event?

Open the event, click Attendees, then Email ticket holders and choose “The event is cancelled”. Refund each order in Orders in your Shopify admin, then archive or delete the event.

How do I take bookings for private parties?

Add the Private event request block to a page of your store. Requests show on the Private event requests page in the app. Click Book as event to make an unlisted event for that group and share its ticket link with the organizer.

Can I mark events as 18+ or for kids?

Yes. Fill in Ages on the event, for example 18+, and it shows on the calendar and ticket page. Set a Category like Kids to let customers filter the calendar by it.

Can I copy an event to a new date?

Yes. Open the event and click Duplicate. Everything is copied except the dates, including the image and a single-price ticket’s price, so the copy goes on sale when you save it.

What happens to the ticket if I archive or delete an event?

The ticket product is archived so nobody can buy it, and the event leaves your storefront. Past orders stay in Shopify as they were.

Checking people in

Where do customers find their QR code?

On the order confirmation page right after checkout, and on their order status page, which they can open from the “View your order” link in their confirmation email. Both need the Event ticket QR code block, which you add once in the checkout editor.

Someone has several tickets. Do they each need a code?

No. One code covers every ticket on the order. A scan tells you how many people to let in and shows the names entered for each ticket.

What if someone can’t find their code?

Type their order number into the Check-in page, or find them on the event’s Attendees page and click Check in.

What do I need to scan codes?

A phone or tablet with the Shopify app. Open the event’s Check-in page there and tap Scan ticket. On a computer, you can plug in a USB barcode scanner, which types the code into the page for you, or type order numbers.

Can a code be used twice, or faked?

A second scan of the same code says it’s already checked in, and when. Each code includes the order’s confirmation number, which only the buyer sees, so a code can’t be made up from an order number. Codes for cancelled or refunded orders are refused.

How does check-in work for a course?

Each date is checked in separately. The Check-in page opens on the date happening now, or the next one, and you can switch dates there.

Your store and theme

Does it work with my theme?

The calendar and event details are app blocks, so they work with any Online Store 2.0 theme that supports app blocks in sections.

Can dates show as “10 Nov 2026” and times as 18:30?

Yes. In the theme editor, set Date style to Day first and Clock to 24-hour on the Events calendar block and on the Event details block.

Can customers add an event to their calendar?

Yes. The Event details block shows Add to calendar links for Google Calendar and for Apple Calendar and Outlook. A course adds every date. Turn them off with Show Add to calendar links.

Billing and privacy

How much does it cost, and how do I cancel?

It’s $14 a month after a 14-day free trial, billed through your Shopify invoice, with no per-ticket fees. Uninstalling the app cancels the subscription. Your ticket products and past orders stay in your store.

Does the app store my customers’ data?

Only waitlist sign-ups and private event requests. Events and tickets live in your own Shopify store, and to show an event’s attendee list the app reads the orders for its tickets (buyer name, email and quantity) from Shopify when you open that list, without keeping a copy. When a shopper joins a sold-out event’s waitlist, the app stores the email, name and spots they enter so it can email them for you and you can see your waitlist. Only your store can see them, and they’re deleted when the shopper leaves the waitlist, when you remove them, when Shopify sends a customer deletion request, 30 days after the event ends, or after you uninstall. Private event requests (the name and email entered, plus any phone, date, group size, occasion and message) are kept so you can see and book them, and deleted 180 days after they’re sent, or after the date asked for if later. Ticket check-ins record the order and time, with no names or contact details. Emails to ticket holders are sent to the addresses on their orders, read from Shopify when the email goes out and not stored.

Something else? Email support@astraa.dev.