Events module

Sell tickets to your events — without a ticketing service.

Publish dated events and courses, show a seats-left calendar, take payment with Stripe, and check attendees in with QR tickets — all from the same WPStack panel. No external service, no embed scripts.

Included in every plan No third-party ticketing service
Pottery WorkshopSat · €35 / ticket
June 2026
SMTWTFS
26272829301234567891011121314151617181920212223
Sat, Jun 12 · 12 seats left
1 ticket 2 tickets 3 tickets
2 tickets emailed
Checked in at the door
Included in every planNo add-on or upsell
Your data stays on your siteNo external ticketing service
Set up in minutesPublish an event and sell the same day
The essentials

Everything a ticketed event needs

From the seats-left calendar to the scan at the door — Events covers the whole thing without a single extra plugin.

Dated events & courses

Publish any number of events, each running on as many dates as you like — one-offs or multi-day courses.

Per-date seat pool

Every date has its own capacity. A live seats-left calendar means you never oversell.

Online tickets

Charge per ticket at checkout with Stripe, or collect payment on location — no extra plugin.

QR tickets (optional)

Turn on per event to issue one scannable QR ticket per seat, emailed to the buyer.

Door check-in

Scan tickets from a phone with the built-in reader — each seat checked in once.

Speaks your language

Every label is editable, with one-click presets for EN / NL / FR / DE / ES.

How it works

Set up in minutes

No external ticketing service, no embed scripts. Configure it once and start selling the same day.

01

Create an event & dates

Add the event with its price per ticket, then schedule dates and set each date’s seat capacity.

02

Publish the calendar

Drop the Events shortcode or Elementor widget on any page — it matches your theme automatically.

03

Sell, then check in

Attendees register (and pay), get their tickets by email, and you scan them in at the door.

Registrations

Every order, in one dashboard

See all orders across your events — grouped by upcoming, completed and cancelled. Confirm, complete or cancel with one click; cancelling frees the seats back into the pool. Export any view to CSV.

  • Totals for confirmed, completed & cancelled
  • One order can hold several tickets
  • Filter by event and status, then export CSV
  • Cancelling frees seats automatically
Registrations
Every order across your events. One order can hold several tickets.
Export CSV
4
Total orders
4
Confirmed
0
Completed
0
Cancelled
ClientEventDateTicketsStatus
Jordan Lee
jordan.lee@example.com
Summer Yoga Retreat
30/07/2026 – 31/07/20261ConfirmedCompleteCancel
Sofia Martins
sofia@example.com
Pottery Workshop
16:00 – 21:00
25/07/20262ConfirmedCompleteCancel
Alex Kim
alex.kim@example.com
Summer Yoga Retreat
30/07/2026 – 31/07/20262ConfirmedCompleteCancel
QR tickets

One scannable ticket per seat

Turn on QR tickets for any event and every seat gets its own code, emailed to the buyer. At the door, scan each one from a phone — no app, no hardware, and each ticket only works once.

  • Opt-in per event — nothing changes for events that don’t use it
  • One unique QR code per seat, each checked in independently
  • A name per ticket, captured at checkout
  • Every ticket listed in the admin, with manual check-in
  • A staff scanner page — no app to install
Tickets
Every issued QR ticket. Check attendees in here or from the scanner page.
2
Tickets
0
Checked in
2
Not yet in
AttendeeEventDateOrderCodeStatusActions
Sofia MartinsPottery Workshop25/07/2026#3FLJK60DBF9XSHUCGValidCheck in
Liam BrooksPottery Workshop25/07/2026#3TNI4FWXZK8PACYJ9ValidCheck in
Dates & seats

A seat pool for every date

Schedule as many dates as you like for each event — a single day or a multi-day range — each with its own capacity. Availability is capacity minus tickets sold, so you never oversell, and seats-left updates live.

  • Independent seat pool per date
  • Booked / capacity and seats-left at a glance
  • Assign an organizer who’s notified per order
  • Sold-out dates close registration automatically
Dates
Scheduled dates — by days (full/half) or by time.
Add new date
EventDatesScheduleOrganizerBooked / cap.LeftActions
Summer Yoga Retreat30/07/2026 – 31/07/2026½ lastJordan Lee5 / 2015
Pottery Workshop25/07/202616:00 – 21:002 / 6058
Place it anywhere

Drop it in with a shortcode or widget

However you build pages, Events fits — and it inherits your theme’s fonts and colors automatically.

Events calendar

Upcoming dates with seats-left and an in-page registration form — the whole flow on any page.

[wpstack_events]

One event, your layout

Show a single event and pick calendar, list or cards.

[wpstack_events event="42" view="list"]

Door check-in

A staff-only page that scans ticket QR codes with the device camera.

[wpstack_events_scanner]
Elementor widgetDrag in “WPStack Events” and pick an event right in the editor.
Calendar, list or cardsChoose the layout that fits the page.
Staff scannerA private page for door check-in on any phone.
Works with the stack

Better with the rest of WPStack

Events shares the same data model as every other module, so it clicks into the tools you already run.

PaymentsStripe for paid tickets, per ticket.
FieldsAdd custom intake questions to any registration.
ConnectFire a webhook to your CRM on every registration.
LabelsTranslate the whole flow with language presets.
WordPress6.0+ (6.5+ recommended)
PHP7.4+ (GD for QR tickets)
Payments & scannerHTTPS required
ThemesWorks with any theme

Optional accounts: Stripe for paid tickets. QR tickets use the server’s GD extension — no third-party service.

FAQ

Events, answered

Booking is for appointment slots with providers. Events is for dated events and courses with a fixed number of seats — think workshops, classes and one-off events.

Each date has its own capacity. Availability is capacity minus tickets sold, re-checked at write time, so two people can’t grab the last seats at once.

Only if you set an event to pay online — then it charges price × tickets via Stripe. Otherwise registration is free or paid on location.

An optional, per-event feature: each seat gets its own QR code by email, and a staff scanner page checks each one in at the door — once.

Yes. They enter a name for each seat and receive one QR per seat, each scanned independently.

Yes — like every WPStack module, Events is included in every plan. Switch it on per project from the modules panel.

Stop juggling plugins. Start with WPStack.

One system for forms, fields, bookings, events, logins and everything in between. Activate what you need today.

No credit card to explore the demo · Cancel anytime