{"id":363989,"date":"2026-09-17T00:58:17","date_gmt":"2026-09-17T00:58:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-box-office\/"},"modified":"2026-09-17T00:57:52","modified_gmt":"2026-09-17T00:57:52","slug":"codestormtechnology-ticketing-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/codestormtechnology-ticketing-woocommerce\/","author":23542283,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.9","stable_tag":"1.0.9","tested":"7.1","requires":"6.9","requires_php":"8.2","requires_plugins":null,"header_name":"Codestorm Technology Ticketing for WooCommerce","header_author":"Codestorm Technology","header_description":"Essential WooCommerce ticketing with visit calendar, local QR\/PDF generation and one-time check-in.","assets_banners_color":"","last_updated":"2026-09-17 00:57:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/codestormtechnology\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.9":{"tag":"1.0.9","author":"codestormtechnology","date":"2026-09-17 00:57:52","revision":3699388}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.9"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Ticketing for WooCommerce dashboard and ticket overview.","2":"Ticket products displayed with the ticket-list shortcode.","3":"Visit dates and available time slots with the calendar shortcode.","4":"Protected ticket check-in with read-before-confirm workflow.","5":"Basic Ticketing for WooCommerce settings.","6":"Built-in help for tickets, calendar, check-in, shortcodes and privacy."}},"plugin_section":[],"plugin_tags":[27824,1373,212707,4771,286],"plugin_category":[45,56,58],"plugin_contributors":[276105],"plugin_business_model":[],"class_list":["post-363989","plugin","type-plugin","status-publish","hentry","plugin_tags-event-tickets","plugin_tags-qr-code","plugin_tags-ticket-scanner","plugin_tags-tickets","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-social-and-sharing","plugin_category-user-management","plugin_contributors-codestormtechnology","plugin_committers-codestormtechnology"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/codestormtechnology-ticketing-woocommerce.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Codestorm Technology Ticketing 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.<\/p>\n\n<p>Version 1.0.8 includes:<\/p>\n\n<ul>\n<li>A simple Ticketing for WooCommerce dashboard.<\/li>\n<li>Ticket-enabled WooCommerce products.<\/li>\n<li>Global visit calendar with open weekdays and time slots.<\/li>\n<li>Visit date\/time captured in the cart and order.<\/li>\n<li>One ticket per purchased unit after payment confirmation.<\/li>\n<li>Local QR Code generation. Ticket QR payloads are not sent to third-party QR services.<\/li>\n<li>Downloadable ticket PDFs generated locally by the plugin, with the QR drawn from the bundled QR matrix.<\/li>\n<li>Ticket links added to customer WooCommerce emails.<\/li>\n<li>Admin check-in with read-before-confirm flow.<\/li>\n<li>Atomic one-time consumption: a second entry is blocked.<\/li>\n<li>Optional camera scanning through the browser BarcodeDetector API, with manual\/USB scanner fallback.<\/li>\n<li>Basic ticket list, settings and help screens.<\/li>\n<li>Ticket, calendar and protected operator check-in shortcodes.<\/li>\n<li>WordPress personal data exporter and eraser integration.<\/li>\n<li>RTL, keyboard-focus and reduced-motion friendly admin UI.<\/li>\n<\/ul>\n\n<p>The plugin does not process payments itself. WooCommerce remains responsible for products, prices, checkout, payment gateways, taxes and refunds.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>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.<\/p>\n\n<p>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.<\/p>\n\n<p>QR Codes and ticket PDFs are generated locally. Version 1.0.9 does not send ticket payloads to any Codestorm Technology service.<\/p>\n\n<h3>External services<\/h3>\n\n<p>The plugin does not contact a Codestorm Technology API or cloud service. QR Codes and ticket PDFs are generated locally by the bundled PHP libraries.<\/p>\n\n<p>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.<\/p>\n\n<p>The optional camera scanner uses the browser BarcodeDetector API when the visitor's browser supports it; the plugin does not upload camera images to Codestorm Technology.<\/p>\n\n<h3>Third-party libraries<\/h3>\n\n<p>The production ZIP bundles only the following runtime libraries locally; no CDN is required. Their upstream license files remain included under <code>vendor\/<\/code>.<\/p>\n\n<ul>\n<li>chillerlan\/php-qrcode 6.0.1 \u2014 MIT and Apache-2.0<\/li>\n<li>chillerlan\/php-settings-container 3.3.0 \u2014 MIT<\/li>\n<\/ul>\n\n<p>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.<\/p>\n\n<p>The plugin folder and text domain are <code>codestormtechnology-ticketing-woocommerce<\/code>, matching the requested WordPress.org permalink. Existing database keys and <code>aibo_*<\/code> implementation prefixes are retained only for upgrade\/data compatibility and are not the plugin display name or permalink.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Upload the <code>codestormtechnology-ticketing-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code> or install the ZIP through Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate Codestorm Technology Ticketing for WooCommerce.<\/li>\n<li>Open Ticketing for WooCommerce &gt; Calendar and configure available days and times.<\/li>\n<li>Create or edit a WooCommerce product and enable the ticket option in Product data &gt; General.<\/li>\n<li>Complete a test purchase and use Ticketing for WooCommerce &gt; Check-in to validate the generated ticket.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20shortcodes%20are%20available%3F\"><h3>Which shortcodes are available?<\/h3><\/dt>\n<dd><p>[codestorm_ticketing_tickets] lists published WooCommerce products marked as tickets. Optional parameters: <code>limit<\/code> and <code>columns<\/code>.<\/p>\n\n<pre><code>[codestorm_ticketing_calendar] shows the next available dates and time slots from the global calendar. Optional parameters: `days` and `limit`.\n\n[codestorm_ticketing_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.\n<\/code><\/pre>\n\n<p>For backward compatibility, the legacy shortcode aliases <code>[ai_box_office_tickets]<\/code>, <code>[ai_box_office_calendar]<\/code> and <code>[ai_box_office_checkin]<\/code> are also accepted.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20handle%20payments%3F\"><h3>Does the plugin handle payments?<\/h3><\/dt>\n<dd><p>No. WooCommerce remains responsible for products, prices, checkout, payment gateways, taxes and refunds.<\/p><\/dd>\n<dt id=\"does%20reading%20a%20qr%20code%20immediately%20use%20the%20ticket%3F\"><h3>Does reading a QR Code immediately use the ticket?<\/h3><\/dt>\n<dd><p>No. Reading only inspects the ticket. The operator must press Confirm entry to consume it.<\/p><\/dd>\n<dt id=\"can%20the%20same%20ticket%20be%20used%20twice%3F\"><h3>Can the same ticket be used twice?<\/h3><\/dt>\n<dd><p>No. The database update that consumes a ticket only succeeds while the ticket is still active. Later attempts are rejected.<\/p><\/dd>\n<dt id=\"is%20the%20qr%20code%20sent%20to%20an%20external%20api%3F\"><h3>Is the QR Code sent to an external API?<\/h3><\/dt>\n<dd><p>No. QR images are rendered locally using the bundled QR library.<\/p><\/dd>\n<dt id=\"where%20are%20ticket%20pdfs%20stored%3F\"><h3>Where are ticket PDFs stored?<\/h3><\/dt>\n<dd><p>They are generated on demand and streamed to the authorized requester. Version 1.0.9 does not store generated PDF files permanently.<\/p><\/dd>\n<dt id=\"does%20it%20support%20woocommerce%20hpos%3F\"><h3>Does it support WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>The plugin uses WooCommerce order APIs and declares compatibility with High-Performance Order Storage.<\/p><\/dd>\n<dt id=\"can%20i%20use%20a%20usb%20qr%20scanner%3F\"><h3>Can I use a USB QR scanner?<\/h3><\/dt>\n<dd><p>Yes. Scanners that behave like a keyboard can fill the check-in field. Supported browsers can also use the camera through the BarcodeDetector API.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Corrected URL output escaping in the plain-text WooCommerce ticket e-mail using <code>esc_url()<\/code>.<\/li>\n<li>Renamed the bundled Apache 2.0 license file to <code>LICENSE-ASL-2.0.txt<\/code> so the license remains distributed with an allowed text-file extension.<\/li>\n<li>No ticketing, QR, PDF, calendar or check-in behavior was otherwise changed.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Changed the public plugin name to <code>Codestorm Technology Ticketing for WooCommerce<\/code> following WordPress.org review guidance.<\/li>\n<li>Changed the package folder and text domain to <code>codestormtechnology-ticketing-woocommerce<\/code> for the requested permalink.<\/li>\n<li>Removed <code>Tested up to<\/code> from the PHP plugin header; compatibility is declared only in <code>readme.txt<\/code>.<\/li>\n<li>Added new <code>codestorm_ticketing_*<\/code> shortcode names while retaining the previous shortcode aliases for compatibility.<\/li>\n<li>Kept the local QR\/PDF implementation and the reduced third-party dependency set from 1.0.7.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Clarified local QR\/PDF generation and third-party dependency disclosures.<\/li>\n<li>Removed the HTML-to-PDF dependency tree and generate ticket PDFs locally with core PDF operators.<\/li>\n<li>Reduced bundled runtime libraries to the local QR generator and its settings container, with explicit license inventory.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Improved frontend contrast for calendar, ticket cards and WooCommerce visit fields.<\/li>\n<li>Added theme-isolated page-title contrast for pages using the calendar shortcode.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Added translator comments required by WordPress coding standards for placeholder-bearing translatable strings in Help and ticket shortcode output.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Added ticket-list, calendar and protected check-in shortcodes.<\/li>\n<li>Added shortcode documentation and examples to the built-in Help screen.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added the official WordPress.org author profile link for Codestorm Technology.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Plugin Check cleanup: moved uninstall logic into a prefixed function so temporary variables no longer pollute global scope.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Plugin Check hardening: fixed prepared SQL construction, sanitized the WooCommerce order key and documented intentional custom-table database access.<\/li>\n<li>Prefixed uninstall-scope variables and documented intentional schema cleanup during uninstall.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial free release.<\/li>\n<li>WooCommerce ticket products, calendar, QR\/PDF ticket delivery and one-time check-in.<\/li>\n<\/ul>","raw_excerpt":"Turn WooCommerce products into simple tickets with visit dates, local QR\/PDF generation and one-time check-in.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=363989"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codestormtechnology"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363989"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363989"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363989"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363989"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363989"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}