Wopisanje
Ticket Shop for WooCommerce is a lightweight ticketing layer that works with WooCommerce. It keeps payments and product pricing in WooCommerce and adds the essentials needed to issue and validate tickets.
Current version includes:
- A simple Ticket Shop for WooCommerce dashboard.
- Ticket-enabled WooCommerce products.
- Global visit calendar with open weekdays and time slots.
- Optional capacity per product/date/time, with a product default and exact slot overrides.
- Cart and checkout availability checks to prevent purchases above configured capacity in normal purchase flow.
- Visit date/time captured in the cart and order.
- One ticket per purchased unit after payment confirmation.
- Local QR Code generation. Ticket QR payloads are not sent to third-party QR services.
- Downloadable ticket PDFs generated locally by the plugin, with the QR drawn from the bundled QR matrix.
- Ticket links added to customer WooCommerce emails.
- Admin check-in with read-before-confirm flow.
- Atomic one-time consumption: a second entry is blocked.
- Optional camera scanning through the browser BarcodeDetector API, with manual/USB scanner fallback.
- Basic ticket list, settings and help screens.
- Individual ticket cancellation without cancelling or refunding the WooCommerce order.
- Admin QR/PDF reissue and manual ticket e-mail resend. Reissue invalidates the previous QR.
- Ticket lifecycle history for created, sent, check-in, cancelled and reissued events.
- Restricted Ticket Validator role with check-in permission but no ticket-management or WooCommerce administration access.
- Ticket, calendar and protected operator check-in shortcodes.
- WordPress personal data exporter and eraser integration.
- RTL, keyboard-focus and reduced-motion friendly admin UI.
The plugin does not process payments itself. WooCommerce remains responsible for products, prices, checkout, payment gateways, taxes and refunds.
Privacy
The plugin stores the minimum purchaser information needed to issue and validate tickets: order reference, ticket code, customer name/e-mail, visit date/time and usage state. Check-in audit records store hashed IP address and hashed user-agent values rather than their raw values.
The plugin registers with the WordPress personal data exporter and eraser tools. Erasure anonymizes customer name/e-mail and the WordPress user reference while retaining the order reference and operational ticket state for transaction integrity.
QR Codes and ticket PDFs are generated locally. Version 1.1.0 does not send ticket payloads to any service operated by the plugin author.
External services
The plugin does not contact an API or cloud service operated by the plugin author. QR Codes and ticket PDFs are generated locally by the bundled PHP libraries.
WooCommerce itself, payment gateways, e-mail providers, hosting services, browser features and other extensions installed by the site owner may communicate with their own external services independently of this plugin.
The optional camera scanner uses the browser BarcodeDetector API when the visitor’s browser supports it; the plugin does not upload camera images to the plugin author or to a remote scanning service.
Third-party libraries
The production ZIP bundles only the following runtime libraries locally; no CDN is required. Their upstream license files remain included under vendor/.
- chillerlan/php-qrcode 6.0.1 — MIT and Apache-2.0
- chillerlan/php-settings-container 3.3.0 — MIT
Ticket PDFs are generated by the plugin itself with core PDF operators. QR graphics are drawn directly from the local QR matrix, so no HTML-to-PDF library, remote QR service or CDN is required.
The plugin folder, text domain and existing implementation identifiers are retained for WordPress.org update and data compatibility. They are technical identifiers and are not the plugin display name.
Screenshots






Instalacija
- Install and activate WooCommerce.
- Upload the
codestormtechnology-ticketing-woocommercefolder to/wp-content/plugins/or install the ZIP through Plugins > Add New > Upload Plugin. - Activate Ticket Shop for WooCommerce.
- Open Ticket Shop for WooCommerce > Calendar and configure available days and times.
- Create or edit a WooCommerce product and enable the ticket option in Product data > General.
- Complete a test purchase and use Ticket Shop for WooCommerce > Check-in to validate the generated ticket.
FAQ
-
Which shortcodes are available?
-
[ticket_shop_tickets] lists published WooCommerce products marked as tickets. Optional parameters:
limitandcolumns.[ticket_shop_calendar] shows the next available dates and time slots from the global calendar. Optional parameters: `days` and `limit`. [ticket_shop_checkin] provides a protected front-end check-in for authenticated users who have ticket-validation permission. Reading a ticket does not consume it; confirmation is still required.For backward compatibility, previous shortcode aliases continue to work after updating from older versions.
-
Does the plugin handle payments?
-
No. WooCommerce remains responsible for products, prices, checkout, payment gateways, taxes and refunds.
-
Does reading a QR Code immediately use the ticket?
-
No. Reading only inspects the ticket. The operator must press Confirm entry to consume it.
-
Can the same ticket be used twice?
-
No. The database update that consumes a ticket only succeeds while the ticket is still active. Later attempts are rejected.
-
Is the QR Code sent to an external API?
-
No. QR images are rendered locally using the bundled QR library.
-
Where are ticket PDFs stored?
-
They are generated on demand and streamed to the authorized requester. Version 1.1.0 does not store generated PDF files permanently.
-
Does it support WooCommerce HPOS?
-
The plugin uses WooCommerce order APIs and declares compatibility with High-Performance Order Storage.
-
How do ticket capacity limits work?
-
Set a default capacity on the WooCommerce ticket product and optionally create exact overrides under Ticket Shop for WooCommerce > Vagas for a product, visit date and time. Capacity 0 means unlimited. Active and used tickets consume capacity; cancelling an individual ticket releases its place.
-
Can I cancel only one ticket from an order?
-
Yes. Ticket Shop for WooCommerce > Tickets can cancel an individual active ticket without cancelling or refunding the WooCommerce order. Used tickets cannot be cancelled.
-
Can an administrator reissue a ticket?
-
Yes. An active unused ticket can receive a new QR code and PDF content. The old QR becomes invalid because the ticket code changes, and the updated ticket can be resent by e-mail.
-
What can the Ticket Validator role access?
-
The role can sign in and use ticket check-in. It does not receive WooCommerce management permissions or access to ticket cancellation, reissue, capacity or settings screens.
-
Can I use a USB QR scanner?
-
Yes. Scanners that behave like a keyboard can fill the check-in field. Supported browsers can also use the camera through the BarcodeDetector API.
Reviews
There are no reviews for this plugin.
Sobustatkujuce a wuwijarje
„Ticket Shop for WooCommerce“ jo software wótwórjonego žrědła. Slědujuce luźe su pśinosowali k toś tomu tykacoju.
SobustatkujuceTranslate “Ticket Shop for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.0
- Added optional ticket capacity by product, visit date and time, including per-product defaults and exact slot overrides.
- Added cart/checkout capacity validation and a final issuance guard.
- Added individual ticket cancellation without changing the WooCommerce order or refund state.
- Added administrator QR/PDF reissue and manual ticket e-mail resend.
- Added lifecycle history for ticket creation, delivery attempts, check-in, cancellation and reissue.
- Kept and improved the restricted Ticket Validator role, including redirecting validators directly to check-in after login.
- Added new plugin-owned slot and lifecycle-log tables with automatic schema upgrade from previous versions.
1.0.10
- Changed the public display name to
Ticket Shop for WooCommerce. - Updated visible plugin labels to use the new display name while preserving the existing WordPress.org slug, text domain and compatibility identifiers.
- No ticketing, QR, PDF, calendar, checkout or check-in behavior was changed.
1.0.9
- Corrected URL output escaping in the plain-text WooCommerce ticket e-mail using
esc_url(). - Renamed the bundled Apache 2.0 license file to
LICENSE-ASL-2.0.txtso the license remains distributed with an allowed text-file extension. - No ticketing, QR, PDF, calendar or check-in behavior was otherwise changed.
1.0.8
- Updated the public plugin name during the WordPress.org review process.
- Changed the package folder and text domain to
codestormtechnology-ticketing-woocommercefor the requested permalink. - Removed
Tested up tofrom the PHP plugin header; compatibility is declared only inreadme.txt. - Added new
codestorm_ticketing_*shortcode names while retaining the previous shortcode aliases for compatibility. - Kept the local QR/PDF implementation and the reduced third-party dependency set from 1.0.7.
1.0.7
- Clarified local QR/PDF generation and third-party dependency disclosures.
- Removed the HTML-to-PDF dependency tree and generate ticket PDFs locally with core PDF operators.
- Reduced bundled runtime libraries to the local QR generator and its settings container, with explicit license inventory.
1.0.6
- Improved frontend contrast for calendar, ticket cards and WooCommerce visit fields.
- Added theme-isolated page-title contrast for pages using the calendar shortcode.
1.0.5
- Added translator comments required by WordPress coding standards for placeholder-bearing translatable strings in Help and ticket shortcode output.
1.0.4
- Added ticket-list, calendar and protected check-in shortcodes.
- Added shortcode documentation and examples to the built-in Help screen.
1.0.3
- Added the official WordPress.org author profile link.
1.0.2
- Plugin Check cleanup: moved uninstall logic into a prefixed function so temporary variables no longer pollute global scope.
1.0.1
- Plugin Check hardening: fixed prepared SQL construction, sanitized the WooCommerce order key and documented intentional custom-table database access.
- Prefixed uninstall-scope variables and documented intentional schema cleanup during uninstall.
1.0.0
- Initial free release.
- WooCommerce ticket products, calendar, QR/PDF ticket delivery and one-time check-in.
