Events and dates
Recurring events and time slots
Set up a recurring event or class schedule on Shopify: repeating patterns, specific dates, the Time slots tab, capacity per date and the storefront date picker.
Updated September 24, 2026
A recurring event is one event sold on many dates, such as a weekly class or a daily tour. Each date, or each start time on a date, is a time slot with its own capacity, and shoppers pick the one they want on the product page.
Two ways to set the dates
On the Create event page, set Event type to Recurring event. A Schedule choice appears with two options.
Specific dates I choose
This is the default. You list each date by hand.
- Pick a date on the first card and give it a Start time and End time.
- Press Add another time to run the same date twice, for example at 10:00 and at 14:00. Each time becomes its own time slot.
- Press Add date for the next date. The new card copies the previous card's times.
The same date with the same start time twice is refused with "This date already has a time starting at" and the time. There is no capacity field on these cards. Every date starts with the ticket types' own inventory, and you change it later on the Time slots tab.
Repeating pattern (daily, weekly, monthly)
You describe a rule and the app makes the dates.
- First date and Last date - both required, and neither may be in the past.
- Frequency - Daily, Weekly or Monthly.
- Repeat on - weekday buttons, shown for Weekly. With no day ticked, the series repeats every 7 days from the First date.
- Time slots - one Start and End row per time. Press + Add time slot for more times each day.
- Different times per day - gives each weekday its own list of times. Use same times for all days switches back.
A Schedule preview lists the first sessions before you save. Every date gets every time slot of the pattern.
A few rules are worth knowing before you choose:
- There is no every-two-weeks option, and no rule for a weekday of the month such as the first Tuesday.
- Monthly repeats on the same day number. A First date on the 29th, 30th or 31st drifts, so 31 January is followed by 3 March. Pick a date on the 28th or earlier for a steady day.
- One pattern makes at most 365 dates, counted from the First date. Each of those dates still gets all its time slots.
- The app never adds dates on its own over time.
A series made from specific dates cannot become a pattern later, and a pattern cannot become a list of specific dates.
How a series sells on your store
Every new general-admission series is one Shopify product with a date picker. The dates live in the app, so your product list stays clean. Reserved-seating series are the exception: they need one Shopify product per date. Older events keep the display they were created with, and no screen switches it.
- Every date of a general-admission series sells at the series' ticket prices. There is no price per date. A reserved-seating series is the exception: each date has its own product, and that date's price is edited on its own tab.
- In Shopify, each ticket variant's stock is kept at the highest number left on any single upcoming date. The product only reads sold out in Shopify when every upcoming date is full.
- Shared inventory on a series means one pool per date, never one pool across all dates.
The storefront date picker
On the product page the shopper picks a date, then a time. The picker lists every upcoming date that is active and visible. Past dates are never offered.
Place the Date & time picker block in the theme editor to choose where it sits and how it looks. Its Style setting offers:
- Calendar - a month grid. This is the default.
- Date list - every date one under the other, good for a short series.
- Dropdown - one menu, which takes the least space.
Without the block, the picker appears at the top of the buy form in the Calendar style.
What the shopper sees:
- Until a date and time are picked, the buy button reads "Choose a date". Pressing it scrolls to the picker and shows "Please choose a date first".
- Each time shows how many places are left, for example "12 available" above 10, "4 spots left" at 10 or fewer, or "Sold out".
- The first time that is not sold out is selected for them.
- The cart line carries a visible "Date" line, which also shows at checkout and on the Shopify order.
Today's times stay on sale for the whole day, even after they have started.
When a date sells out
A sold-out date stays in the picker, marked "Sold out", and the shopper can still select it. With the waitlist on, which is the default for new events, the buy button turns into the waitlist button for that date.
The Calendar style does not mark sold-out days in the grid. The shopper sees "Sold out" once they click the day. Date list and Dropdown say "Sold out" on each full day.
When no upcoming date is left, the buy button reads "Event ended".
The Time slots tab
Open the series and choose the Time slots tab. It lists every date of the series, 25 per page.
- Views: Upcoming (the default), Past, Cancelled and All.
- Buttons: Add time slot, Generate from pattern (pattern series only) and Create Zoom meetings (when Zoom is connected and an upcoming online date has no link).
- Search matches the date's name and time, and dates typed in several formats such as 9.9 or Sep 9.
- Columns: Date, Time, Venue, Password (online series only), Sold / Capacity, Status, Check in and Waitlist.
- Each row's menu has Edit, Duplicate, Cancel (or Restore) and Delete.
Clicking a row opens that date's own page, with its own Dashboard, Attendees and Orders.
Add or copy a date
Add time slot opens a dialog with Date, Start, End and the location fields. Leave both times empty for an all-day date. A Capacity field appears when the series shares one pool or has one ticket type.
Duplicate in a row's menu copies that date's times, capacity and location. You pick the new date.
Change a date's times, location or capacity
- Edit changes the date, times and location of one date. The date is renamed to match, and its reminder and follow-up emails move with it.
- The pencil in Sold / Capacity opens Edit capacity. With shared inventory you set one total for the date. Otherwise you set a number per ticket type.
A capacity of 0 means no limit, never "closed". To stop a date selling, cancel it.
Per date you can change the date, the times, the location and the capacity. On a general-admission series, price and ticket types also belong to the whole series, along with attendee questions, the check-in PIN and shared inventory. A reserved-seating series is the exception: each date has its own product, with its own ticket types and price edited on its own tab.
Once a date has its own location, there is no switch back to the series location. Later location changes on the series will not reach that date.
Cancel, restore or delete a date
Cancel asks "Cancel this date?" and then hides the date from your store and stops its sales. Tickets already sold stay active, and its pending reminder emails are dropped. Restore brings the date back.
Delete only appears while a date has no active tickets. A date with any ticket history, even cancelled or refunded tickets, is refused with "This date has ticket history and cannot be deleted. Cancel it instead."
Generate from pattern
On a pattern series, Generate from pattern opens the same builder as the Create event page. Change the pattern and press Save & generate time slots.
- Missing dates are added, up to 365 dates from the First date. To go further, move the First date forward.
- A date whose time moved in the pattern is re-timed, keeping its attendees and capacity.
- Dates that already have sales keep their time. A confirmation called "Some dates keep their time" lists them first.
- Dates you changed with Edit, and cancelled dates, are left alone.
- Nothing is ever deleted. Dates that fall outside the new pattern stay on sale until you cancel or delete them.
When it finishes, a message says how many dates were created, updated and kept.
What a series save changes
Saving any setting on the series pushes it to every date from today on that is not cancelled:
- The name and the description.
- Check-in settings.
- Waitlist and button text.
- Reminders.
- Questions and ticket types.
A date keeps its own capacity, its own location, a time you set with Edit and its own designs. Past and cancelled dates are never touched.
Moving dates and tickets
Editing a date's time or venue, and cancelling a date, sends no email to its ticket holders. Tell them yourself.
To move a guest, use Move to another date on the Attendees tab. The ticket keeps its QR code. Customers can also change their own date from their ticket page when you switch on Let customers change their date on the series' Tickets tab. Both are explained in transfer a ticket or move it to another date.
How dates are named
Each date is named after the series plus its date, and its start time when it has one, for example "Wine tasting - Sep 3 14:00". Emails, ticket pages and PDFs show that date in your shop's date and time format.
Renaming the series renames every date from today on at the next save. There is no separate name field per date.
Online series
Each date of an online series gets its own Zoom meeting when Zoom is connected, or you can paste a link per date. The Venue column says "Online, join link ready" or "Online, no join link yet". Details are in online events and the join link.
Limits
- Patterns: Daily, Weekly and Monthly only. No yearly rule, no "ends after N dates" and no skip dates. Cancel a holiday date instead.
- No price or ticket types per date on a general-admission series. A reserved-seating series is the exception: each date has its own product, with its own ticket types and price edited on its own tab.
- No bulk select on the Time slots tab. Dates are cancelled or deleted one at a time.
- No calendar of all your events on the storefront. The Calendar style shows the dates of one event.
For a short overview of the feature and who it suits, see the time slots feature page.
Frequently asked questions
Can I repeat an event every two weeks?
Not with a pattern. The Frequency choices are Daily, Weekly and Monthly only. Use Specific dates I choose instead, or add the dates one by one with Add time slot or Duplicate on the Time slots tab.
Can one date of a series have a different price?
Not on a general-admission series. What you can change per date is the capacity, the times and the location. A reserved-seating series is the exception: each date has its own product, with its own ticket types and price edited on its own tab.
How do I add more dates to a series?
For a repeating pattern, open the Time slots tab, press Generate from pattern, set a later Last date and press Save & generate time slots. Only missing dates are added. For a series of specific dates, use Add time slot or Duplicate.
What happens to ticket holders when I cancel a date?
Nothing on its own. Their tickets stay active, and the app sends them no email. Move or cancel those tickets from the Attendees tab, and tell the guests yourself.