HomePluginsTickets & Passes

v1.2.3

Tickets & Passes for WooCommerce

Sell admission from your own shop. Every purchase issues a QR code, and staff scan it at the door from a phone browser.

Requires WordPress 6.5 Requires PHP 8.0 Tested to 7.1 Needs WooCommerce
A Timeslot Ticket product page, where the customer picks a date and then an available time.

Three product types

Each one is a WooCommerce product type, so pricing, tax, coupons, orders and emails all work the way they already do. Built for venues, attractions, museums, escape rooms, festivals and clubs.

Ticket

Plain admission with a validity window and a set number of uses. The customer picks a start date within a range you allow, or the shop fixes it for them.

Timeslot Ticket

Dated and timed admission with a capacity per slot and repeating schedules generated for you. Unpaid holds are released automatically, so an abandoned checkout never sits on a seat.

Pass

Admission across a period, for season passes, memberships and annual cards. Supports guest passes, cardholder photos and a cooldown between scans.

What it does

There is no ticketing service to sign up for and no fee per ticket sold. The whole thing runs on your own domain.

Check in at the door

A full-screen scanner page at /check-in/ on your own site, with no admin bar and no app to install. It uses native barcode detection where the browser offers it and decodes in-page where it does not.

Validated on the server

Every scan is checked server-side, so a cancelled ticket cannot be waved through by putting the phone in airplane mode. Outcomes are colour-coded: valid, already used, expired, in cooldown, not found.

A role that only scans

A dedicated Scanner user role limited to check-in and nothing else, so door staff never see the rest of wp-admin. Everything else is gated on manage_woocommerce, which Shop Managers already have.

Dashboards per type

Separate admin screens for tickets, timeslots and passes, each with search, manual check-in for when a phone is not to hand, and resend, reset and cancel.

Analytics and export

Check-in activity charted by day and by hour, so you can see when the queue actually forms, with CSV export of the underlying rows.

In My Account

Tickets and Passes tabs where customers find an on-screen QR and a printable PDF, live status with remaining uses, and an add-to-calendar file on timeslot tickets.

Emails you control

Order confirmation and completed emails are extended with the ticket details, and there are Resend Ticket, Resend Pass and Guest Pass Invite templates. Every subject and body is editable in wp-admin with merge tags.

Files that stay private

QR codes, PDFs and cardholder photos live in a randomly named folder and are served through the plugin, which checks a signed link or a logged-in owner. Responses are marked private and per-visitor so caches and CDNs cannot leak one customer's ticket to another.

Screenshots

Straight from the WordPress.org listing, so what you see here is what the plugin actually renders.

The ticket dashboard in wp-admin, with search, manual check-in, resend, reset and cancel.
The ticket dashboard in wp-admin, with search, manual check-in, resend, reset and cancel.
A Ticket product page on the frontend, as the customer sees it before adding it to the cart.
A Ticket product page, as the customer sees it before adding to the cart.
A Pass product page, showing the pass details and the cardholder fields collected at purchase.
A Pass product page, with the cardholder fields collected at purchase.
The Tickets tab in My Account, where customers view and download their tickets.
The Tickets tab in My Account, where customers view and download.
The settings screen.
The settings screen.
The analytics screen, charting check-in activity by day and by hour.
The analytics screen, charting check-in activity by day and by hour.

Requirements and fine print

Two background jobs keep things tidy: an hourly one builds upcoming recurring timeslots, and a per-minute one frees reservations that were never paid for.

wordpress

6.5 or higher, tested up to 7.1. Block and classic themes both supported.

php

8.0 or higher.

woocommerce

Required. HPOS and the block cart and checkout are both supported.

licence

GPLv2 or later. Translation ready, with a POT file and no build step.

third_party

Five bundled libraries, all unmodified: dompdf, endroid/qr-code, jsQR, ApexCharts and Air Datepicker.

api

A REST check-in endpoint, so a third-party or native app can scan against the same validation.

0.00Price, now and later
0.00Fee per ticket sold
GPLv2Licence, or later
noneTelemetry, ever