Orange Cat QR Event Tickets
Orange Cat QR Event Tickets
Description
Orange Cat QR Event Tickets turns any WooCommerce product into an event and handles the whole ticketing flow: sell tickets, email a QR code for every seat, and validate attendees at the door by scanning with a phone — no dedicated app required.
There are no ticket limits: unlimited events, unlimited tickets, no per-ticket fees.
How it works
- Mark a product as an event and set the start date, optional end date and location.
- Customers buy tickets through the normal WooCommerce checkout (guest checkout works).
- When the order is paid, one QR ticket per seat is generated and emailed, using your store’s WooCommerce email design.
- At the door, staff open a page with the check-in shortcode and scan tickets with the phone camera. The verdict is instant: green (valid), yellow (already used, with the time), or red (revoked or invalid).
- Refunds and cancellations invalidate the affected QR codes automatically and release capacity.
The check-in page is protected by a capability, not by a secret URL: only logged-in staff with the right role can scan or search. QR payloads are HMAC-signed, and check-in is atomic, so two doors can never validate the same ticket twice.
Features
- Unlimited events and QR tickets — no lifetime caps, no per-ticket fees.
- One signed QR code per purchased seat, emailed with your store’s WooCommerce email template.
- Web-based check-in: scan with the phone camera straight from the browser, no app to install.
- Instant visual verdict: valid / already used (with time) / revoked / invalid.
- Manual fallback: find tickets by buyer email or order number and check them in with one tap.
- Capacity control using native WooCommerce stock management.
- Configurable sales close: stop selling a set number of hours before the event starts.
- Automatic ticket revocation on full or partial refunds and on cancellations.
- Upcoming and past event listings via shortcodes.
- Guest-checkout friendly — customers do not need an account.
- WooCommerce High-Performance Order Storage (HPOS) compatible.
- Translation-ready; ships with a Spanish (es_ES) translation.
Credits
This plugin bundles the following third-party open-source libraries:
- chillerlan/php-qrcode (MIT License) — QR code generation.
- chillerlan/php-settings-container (MIT License) — dependency of php-qrcode.
- qr-scanner by nimiq (MIT License) — in-browser QR code scanning for the check-in page.
Installation
- Make sure WooCommerce is installed and active.
- Upload the plugin folder to
/wp-content/plugins/, or install the ZIP from Plugins > Add New > Upload Plugin. - Activate the plugin through the Plugins screen in WordPress.
- Create or edit a product, tick “This is an event” in the General tab, and set the start date (and optionally end date, location, and how many hours before the start sales should close). Enable “Manage stock” to cap capacity.
- Create a page with the
[octk_checkin]shortcode for your door staff, and (optionally) pages with[octk_events]and[octk_events past]to list upcoming and past events. Serve the check-in page over HTTPS — browsers require it for camera access. - Assign the “Event Staff” role (created on activation) to the users who will validate tickets.
Screenshots

Event fields on the WooCommerce product edit screen (checkbox, start/end date, location, sales-close offset).

The "Your tickets" email with one embedded QR code per seat.

The check-in page scanning a ticket with the phone camera, showing a green "valid" verdict.

An "already used" (yellow) verdict with the previous check-in time.

The manual search fallback listing a buyer's tickets with a check-in button.
![The upcoming events listing rendered by the <code>[octk_events]</code> shortcode.](https://ps.w.org/orange-cat-qr-event-tickets/assets/screenshot-6.png?rev=3614541)
The upcoming events listing rendered by the
[octk_events]shortcode.
Faq
Yes. Orange Cat QR Event Tickets is a WooCommerce extension: events are WooCommerce products and ticket sales go through the WooCommerce checkout. WooCommerce 8.0 or newer is required.
Yes. The check-in page runs in any modern mobile browser and uses the phone camera to scan QR codes — there is nothing to install. The page must be served over HTTPS, because browsers only grant camera access on secure origins. A manual search (by buyer email or order number) is available as a fallback.
No. A ticket’s QR code stays valid until the ticket is checked in, or until it is revoked by a refund or cancellation. Codes are HMAC-signed; if you ever need to invalidate every issued code at once, you can regenerate the signing secret from the settings screen.
Cancelling an order or refunding it in full revokes all of its tickets and their QR codes. A partial refund revokes only the refunded quantity for that line, preferring tickets that have not been scanned yet. Capacity is released through WooCommerce’s native stock handling.
Yes, a separate Pro add-on extends the free plugin with: named attendees (collect one attendee name per ticket at checkout), ticket types via product variations (e.g. General / VIP), a designed per-ticket PDF attached to the email and downloadable from the customer account, offline check-in (validate without a connection and sync later), split staff capabilities with an attendance log of who validated what, and an attendance report screen with CSV export. The free plugin is fully functional on its own; the Pro add-on is optional.
English (source) and Spanish (es_ES). The plugin is translation-ready, so additional languages can be added with any standard WordPress translation workflow.
Reviews
Changelog
0.2.0
- Attendee names are now a fully-functional free feature: capture one attendee name per ticket at checkout (opt-in per product), shown on the ticket, the ticket email, and the check-in screen.
- Removed an unused email-attachment extension filter that had no functional purpose in the free plugin.
- Text domain now matches the assigned wordpress.org slug (orange-cat-qr-event-tickets).
- Translation .po/.mo files are no longer bundled in the plugin ZIP; only the .pot template ships (translations are delivered via translate.wordpress.org).
0.1.0
- Initial release: event products, unlimited signed QR tickets by email, web camera check-in with a manual search fallback, capacity via stock, configurable sales close, automatic revocation on cancellation and full/partial refunds, upcoming/past event shortcodes, HPOS compatibility, and a Spanish (es_ES) translation.