{"id":364806,"date":"2026-09-18T14:09:49","date_gmt":"2026-09-18T14:09:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/quick-qr-ticket-scanner\/"},"modified":"2026-09-18T14:09:31","modified_gmt":"2026-09-18T14:09:31","slug":"sazticket-event-ticket-scanner","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sazticket-event-ticket-scanner\/","author":23561562,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.1","stable_tag":"2.1.1","tested":"7.1.2","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"SazTicket \u2013 Event Ticket Check-in & Scanner for WooCommerce","header_author":"Alexander Sazonov","header_description":"Mobile-friendly ticket generator, browser camera check-in scanner, and instant Telegram order notifications for events and WooCommerce.","assets_banners_color":"0a131f","last_updated":"2026-09-18 14:09:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/sazticket-event-ticket-scanner\/","header_author_uri":"https:\/\/profiles.wordpress.org\/alexsazonov\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.1":{"tag":"2.1.1","author":"alexsazonov","date":"2026-09-18 14:09:31","revision":3702119}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3702119,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3702119,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3702119,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3702119,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3702119,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3702119,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3702119,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3702119,"resolution":"4","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"Live camera mobile HUD scanner verifying guest tickets in browser.","2":"Anti-fraud duplicate alert with exact prior admission timestamp.","3":"WooCommerce &amp; Admin tickets manager with real-time status ledger.","4":"Instant Telegram dispatcher for order alerts, door check-ins, and security sirens."}},"plugin_section":[],"plugin_tags":[27702,27824,51866,212707,254324],"plugin_category":[],"plugin_contributors":[281453],"plugin_business_model":[],"class_list":["post-364806","plugin","type-plugin","status-publish","hentry","plugin_tags-check-in","plugin_tags-event-tickets","plugin_tags-qr-scanner","plugin_tags-ticket-scanner","plugin_tags-woocommerce-tickets","plugin_contributors-alexsazonov","plugin_committers-alexsazonov"],"banners":{"banner":"https:\/\/ps.w.org\/sazticket-event-ticket-scanner\/assets\/banner-772x250.png?rev=3702119","banner_2x":"https:\/\/ps.w.org\/sazticket-event-ticket-scanner\/assets\/banner-1544x500.png?rev=3702119","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sazticket-event-ticket-scanner\/assets\/icon-128x128.png?rev=3702119","icon_2x":"https:\/\/ps.w.org\/sazticket-event-ticket-scanner\/assets\/icon-256x256.png?rev=3702119","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sazticket-event-ticket-scanner\/assets\/screenshot-1.png?rev=3702119","caption":"Live camera mobile HUD scanner verifying guest tickets in browser."},{"src":"https:\/\/ps.w.org\/sazticket-event-ticket-scanner\/assets\/screenshot-2.png?rev=3702119","caption":"Anti-fraud duplicate alert with exact prior admission timestamp."},{"src":"https:\/\/ps.w.org\/sazticket-event-ticket-scanner\/assets\/screenshot-3.png?rev=3702119","caption":"WooCommerce &amp; Admin tickets manager with real-time status ledger."},{"src":"https:\/\/ps.w.org\/sazticket-event-ticket-scanner\/assets\/screenshot-4.png?rev=3702119","caption":"Instant Telegram dispatcher for order alerts, door check-ins, and security sirens."}],"raw_content":"<!--section=description-->\n<p><strong>SazTicket<\/strong> is a high-performance <strong>QR code ticket scanner<\/strong> and <strong>event check-in system<\/strong> for WooCommerce. Turn any smartphone (iPhone, Android) into a laser-fast door access control scanner without installing heavy mobile apps.<\/p>\n\n<p>Designed specifically for concerts, conferences, sports events, festivals, theaters, and seminars.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li><strong>Browser-Based QR Camera Scanner:<\/strong> Event staff simply open a secure web link (<code>?sazticket_scanner=1<\/code>) on their mobile device and scan attendee QR codes directly with the camera. Zero app downloads needed.<\/li>\n<li><strong>Instant Telegram Push Alerts:<\/strong> Automated notifications sent to your private Telegram bot whenever tickets are issued, guests check in at the door, or duplicate passes are detected.<\/li>\n<li><strong>Atomic Anti-Fraud Duplicate Prevention:<\/strong> Database-level atomic state transitions prevent duplicate check-ins. If an attendee forwards a ticket or takes a screenshot, the second scan immediately triggers a red security alert with the exact previous admission timestamp.<\/li>\n<li><strong>Audio &amp; Haptic Feedback:<\/strong> Clear chime and vibration for valid tickets; loud security siren buzzer for invalid or reused passes.<\/li>\n<li><strong>Automatic WooCommerce Order Delivery:<\/strong> Automatically generates electronic entry tickets with scannable QR codes for completed orders and attaches them to customer emails.<\/li>\n<li><strong>WooCommerce HPOS Compatible:<\/strong> Built and officially declared for High-Performance Order Storage (HPOS).<\/li>\n<li><strong>Lightweight &amp; Self-Hosted:<\/strong> No external third-party subscriptions or tracking. Minimal overhead on your WordPress site.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin integrates with two external services to deliver its core functionality:<\/p>\n\n<ol>\n<li><p><strong>QRServer API (api.qrserver.com)<\/strong><\/p>\n\n<ul>\n<li><strong>Purpose:<\/strong> Renders QR code images displayed on customer ticket notifications and the admin pass view.<\/li>\n<li><strong>Data Transmitted:<\/strong> Only the unique ticket verification code string is passed via HTTPS GET (no customer personal details, names, or payment information are transmitted).<\/li>\n<li><strong>Terms of Service:<\/strong> https:\/\/goqr.me\/legal\/tos-api.html<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/goqr.me\/privacy-safety-security\/<\/li>\n<\/ul><\/li>\n<li><p><strong>Telegram Bot API (api.telegram.org)<\/strong><\/p>\n\n<ul>\n<li><strong>Purpose:<\/strong> Delivers instant administrative alerts for ticket check-ins, duplicate entry attempts, and completed WooCommerce ticket orders.<\/li>\n<li><strong>Data Transmitted:<\/strong> Order ID, ticket code, attendee name, and event name sent exclusively to the store administrator's private configured Telegram Bot and Chat ID.<\/li>\n<li><strong>Terms of Service:<\/strong> https:\/\/telegram.org\/tos<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/telegram.org\/privacy<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sazticket-event-ticket-scanner<\/code> folder to <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Navigate to <strong>QR Tickets<\/strong> in your admin menu to manage tickets or view admissions.<\/li>\n<li>(Optional) Enter your Telegram Bot Token &amp; Chat ID in the Telegram tab to receive real-time notifications.<\/li>\n<li>Open the Live Scanner URL (<code>yoursite.com\/?sazticket_scanner=1<\/code>) on your mobile phone to begin scanning.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20staff%20members%20need%20to%20download%20a%20native%20mobile%20app%3F\"><h3>Do staff members need to download a native mobile app?<\/h3><\/dt>\n<dd><p>No. The scanner works in any modern mobile browser (Safari, Chrome, Firefox) on devices with camera access.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20slow%20down%20woocommerce%20checkout%3F\"><h3>Does this plugin slow down WooCommerce checkout?<\/h3><\/dt>\n<dd><p>No. Camera and scanner scripts load strictly on the dedicated scanner screen. Notifications run asynchronously via WooCommerce Action Scheduler when available.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20compatible%20with%20woocommerce%20hpos%3F\"><h3>Is this plugin compatible with WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. SazTicket officially declares native compatibility with High-Performance Order Storage (HPOS).<\/p><\/dd>\n<dt id=\"how%20does%20duplicate%20prevention%20work%3F\"><h3>How does duplicate prevention work?<\/h3><\/dt>\n<dd><p>When a ticket is verified, its database status switches to 'used' with an atomic timestamp. Subsequent scans of the same ticket trigger an alert indicating previous admission.<\/p><\/dd>\n<dt id=\"how%20do%20i%20ensure%20customer%20ticket%20emails%20do%20not%20land%20in%20spam%3F\"><h3>How do I ensure customer ticket emails do not land in spam?<\/h3><\/dt>\n<dd><p>For guaranteed 100% inbox delivery, we recommend pairing SazTicket with a reliable SMTP plugin (such as FluentSMTP or WP Mail SMTP) configured with SPF, DKIM, and DMARC records on your domain.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Updated QRServer external service documentation URLs in readme.txt to active endpoints.<\/li>\n<li>Fixed syntax issue in ticket email notification template.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Renamed and rebranded to SazTicket to prevent trademark conflicts.<\/li>\n<li>Enqueued all scripts and styles using WordPress wp_enqueue_script and wp_enqueue_style.<\/li>\n<li>Hardened REST API permission checks with scanner token authentication.<\/li>\n<li>Removed unneeded bundled translation files in compliance with translate.wordpress.org standards.<\/li>\n<li>Added explicit documentation for external API services (QRServer and Telegram).<\/li>\n<li>Added uninstall.php cleanup script.<\/li>\n<li>Updated Author URI to WordPress.org verified profile.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Initial release with Action Scheduler dispatcher, HPOS compatibility, and camera scanner HUD.<\/li>\n<\/ul>","raw_excerpt":"Mobile QR code ticket generator, browser camera check-in scanner, and instant Telegram alerts for WooCommerce events.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/364806","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=364806"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/alexsazonov"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=364806"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=364806"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=364806"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=364806"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=364806"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=364806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}