{"id":8893,"date":"2025-12-28T20:25:40","date_gmt":"2025-12-28T20:25:40","guid":{"rendered":"https:\/\/eventosmogan.com\/?page_id=8893"},"modified":"2025-12-28T20:25:40","modified_gmt":"2025-12-28T20:25:40","slug":"checkin-propio","status":"publish","type":"page","link":"https:\/\/eventosmogan.com\/en\/checkin-propio\/","title":{"rendered":"checkin propio"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_heading title=&#8221;Check-in propio&#8221; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; title_font=&#8221;|800|||||||&#8221; title_text_align=&#8221;center&#8221; title_text_color=&#8221;gcid-4b0c8dba-fcc9-4c88-b014-07172909b296&#8243; title_text_shadow_style=&#8221;preset3&#8243; global_colors_info=&#8221;{%22gcid-4b0c8dba-fcc9-4c88-b014-07172909b296%22:%91%22title_text_color%22%93}&#8221;][\/et_pb_heading][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]    <div class=\"mocan-checkin-wrapper\">\r\n        <form id=\"mocan-checkin-form\" method=\"post\">\r\n            <label for=\"mocan_ticket_code\">C\u00f3digo del ticket (texto del QR):<\/label>\r\n            <input type=\"text\"\r\n                   id=\"mocan_ticket_code\"\r\n                   name=\"mocan_ticket_code\"\r\n                   value=\"\"\r\n                   autocomplete=\"off\"\r\n                   required \/>\r\n\r\n            <button type=\"submit\" class=\"button button-primary\">Buscar \/ Check-in<\/button>\r\n        <\/form>\r\n\r\n        <button id=\"mocan_qr_btn\" type=\"button\" class=\"button\">\r\n            Escanear QR con la c\u00e1mara\r\n        <\/button>\r\n\r\n        <div id=\"mocan_qr_reader\" style=\"width:320px;max-width:100%;margin-top:10px;\"><\/div>\r\n\r\n            <\/div>\r\n\r\n    <style>\r\n        .mocan-checkin-wrapper{\r\n            max-width:480px;\r\n            margin:20px auto;\r\n            padding:16px;\r\n            border:1px solid #ddd;\r\n            border-radius:8px;\r\n            background:#fafafa;\r\n        }\r\n        .mocan-checkin-wrapper label{\r\n            display:block;\r\n            margin-bottom:6px;\r\n            font-weight:600;\r\n        }\r\n        .mocan-checkin-wrapper input[type=\"text\"]{\r\n            width:100%;\r\n            padding:8px 10px;\r\n            margin-bottom:10px;\r\n        }\r\n        .mocan-checkin-output{\r\n            margin-top:15px;\r\n        }\r\n        .mocan-checkin-result{\r\n            padding:10px 12px;\r\n            border-radius:6px;\r\n            background:#fff;\r\n            border:1px solid #ccc;\r\n        }\r\n        .mocan-checkin-ok{\r\n            border-left:4px solid #28a745;\r\n        }\r\n        .mocan-checkin-error{\r\n            border-left:4px solid #dc3545;\r\n        }\r\n        .mocan-checkin-warning{\r\n            border-left:4px solid #ffc107;\r\n        }\r\n        .mocan-checkin-result table{\r\n            width:100%;\r\n            border-collapse:collapse;\r\n        }\r\n        .mocan-checkin-result th,\r\n        .mocan-checkin-result td{\r\n            padding:4px 6px;\r\n            text-align:left;\r\n        }\r\n        .mocan-checkin-result th{\r\n            width:35%;\r\n        }\r\n    <\/style>\r\n\r\n    <script src=\"https:\/\/unpkg.com\/html5-qrcode\" defer><\/script>\r\n    <script>\r\n    (function(){\r\n        const form   = document.getElementById('mocan-checkin-form');\r\n        const input  = document.getElementById('mocan_ticket_code');\r\n        const btn    = document.getElementById('mocan_qr_btn');\r\n        const holder = document.getElementById('mocan_qr_reader');\r\n\r\n        let qrInstance = null;\r\n        let started = false;\r\n\r\n        function startScanner() {\r\n            if (started) return;\r\n            started = true;\r\n\r\n            function init() {\r\n                if (!window.Html5Qrcode) {\r\n                    setTimeout(init, 200);\r\n                    return;\r\n                }\r\n\r\n                qrInstance = new Html5Qrcode('mocan_qr_reader');\r\n\r\n                qrInstance.start(\r\n                    { facingMode: \"environment\" },\r\n                    { fps: 10, qrbox: { width: 250, height: 250 } },\r\n                    function(decodedText) {\r\n                        let code = decodedText;\r\n                        const match = decodedText.match(\/[?&]ticket=([^&]+)\/);\r\n                        if (match && match[1]) {\r\n                            code = match[1];\r\n                        }\r\n\r\n                        input.value = code;\r\n\r\n                        qrInstance.stop().then(function(){\r\n                            qrInstance.clear();\r\n                        }).catch(function(){});\r\n\r\n                        form.submit();\r\n                    },\r\n                    function(errorMessage) {\r\n                        \/\/ ignorar errores de lectura continuos\r\n                    }\r\n                ).catch(function(){\r\n                    \/\/ error al iniciar c\u00e1mara\r\n                });\r\n            }\r\n\r\n            init();\r\n        }\r\n\r\n        btn.addEventListener('click', function(e){\r\n            e.preventDefault();\r\n            startScanner();\r\n        });\r\n    })();\r\n    <\/script>\r\n    [\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"    <div class=\"mocan-checkin-wrapper\">\r\n        <form id=\"mocan-checkin-form\" method=\"post\">\r\n            <label for=\"mocan_ticket_code\">C\u00f3digo del ticket (texto del QR):<\/label>\r\n            <input type=\"text\"\r\n                   id=\"mocan_ticket_code\"\r\n                   name=\"mocan_ticket_code\"\r\n                   value=\"\"\r\n                   autocomplete=\"off\"\r\n                   required \/>\r\n\r\n            <button type=\"submit\" class=\"button button-primary\">Buscar \/ Check-in<\/button>\r\n        <\/form>\r\n\r\n        <button id=\"mocan_qr_btn\" type=\"button\" class=\"button\">\r\n            Escanear QR con la c\u00e1mara\r\n        <\/button>\r\n\r\n        <div id=\"mocan_qr_reader\" style=\"width:320px;max-width:100%;margin-top:10px;\"><\/div>\r\n\r\n            <\/div>\r\n\r\n    <style>\r\n        .mocan-checkin-wrapper{\r\n            max-width:480px;\r\n            margin:20px auto;\r\n            padding:16px;\r\n            border:1px solid #ddd;\r\n            border-radius:8px;\r\n            background:#fafafa;\r\n        }\r\n        .mocan-checkin-wrapper label{\r\n            display:block;\r\n            margin-bottom:6px;\r\n            font-weight:600;\r\n        }\r\n        .mocan-checkin-wrapper input[type=\"text\"]{\r\n            width:100%;\r\n            padding:8px 10px;\r\n            margin-bottom:10px;\r\n        }\r\n        .mocan-checkin-output{\r\n            margin-top:15px;\r\n        }\r\n        .mocan-checkin-result{\r\n            padding:10px 12px;\r\n            border-radius:6px;\r\n            background:#fff;\r\n            border:1px solid #ccc;\r\n        }\r\n        .mocan-checkin-ok{\r\n            border-left:4px solid #28a745;\r\n        }\r\n        .mocan-checkin-error{\r\n            border-left:4px solid #dc3545;\r\n        }\r\n        .mocan-checkin-warning{\r\n            border-left:4px solid #ffc107;\r\n        }\r\n        .mocan-checkin-result table{\r\n            width:100%;\r\n            border-collapse:collapse;\r\n        }\r\n        .mocan-checkin-result th,\r\n        .mocan-checkin-result td{\r\n            padding:4px 6px;\r\n            text-align:left;\r\n        }\r\n        .mocan-checkin-result th{\r\n            width:35%;\r\n        }\r\n    <\/style>\r\n\r\n    <script src=\"https:\/\/unpkg.com\/html5-qrcode\" defer><\/script>\r\n    <script>\r\n    (function(){\r\n        const form   = document.getElementById('mocan-checkin-form');\r\n        const input  = document.getElementById('mocan_ticket_code');\r\n        const btn    = document.getElementById('mocan_qr_btn');\r\n        const holder = document.getElementById('mocan_qr_reader');\r\n\r\n        let qrInstance = null;\r\n        let started = false;\r\n\r\n        function startScanner() {\r\n            if (started) return;\r\n            started = true;\r\n\r\n            function init() {\r\n                if (!window.Html5Qrcode) {\r\n                    setTimeout(init, 200);\r\n                    return;\r\n                }\r\n\r\n                qrInstance = new Html5Qrcode('mocan_qr_reader');\r\n\r\n                qrInstance.start(\r\n                    { facingMode: \"environment\" },\r\n                    { fps: 10, qrbox: { width: 250, height: 250 } },\r\n                    function(decodedText) {\r\n                        let code = decodedText;\r\n                        const match = decodedText.match(\/[?&]ticket=([^&]+)\/);\r\n                        if (match && match[1]) {\r\n                            code = match[1];\r\n                        }\r\n\r\n                        input.value = code;\r\n\r\n                        qrInstance.stop().then(function(){\r\n                            qrInstance.clear();\r\n                        }).catch(function(){});\r\n\r\n                        form.submit();\r\n                    },\r\n                    function(errorMessage) {\r\n                        \/\/ ignorar errores de lectura continuos\r\n                    }\r\n                ).catch(function(){\r\n                    \/\/ error al iniciar c\u00e1mara\r\n                });\r\n            }\r\n\r\n            init();\r\n        }\r\n\r\n        btn.addEventListener('click', function(e){\r\n            e.preventDefault();\r\n            startScanner();\r\n        });\r\n    })();\r\n    <\/script>\r\n    \n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-8893","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/eventosmogan.com\/en\/wp-json\/wp\/v2\/pages\/8893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eventosmogan.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eventosmogan.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eventosmogan.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eventosmogan.com\/en\/wp-json\/wp\/v2\/comments?post=8893"}],"version-history":[{"count":2,"href":"https:\/\/eventosmogan.com\/en\/wp-json\/wp\/v2\/pages\/8893\/revisions"}],"predecessor-version":[{"id":8896,"href":"https:\/\/eventosmogan.com\/en\/wp-json\/wp\/v2\/pages\/8893\/revisions\/8896"}],"wp:attachment":[{"href":"https:\/\/eventosmogan.com\/en\/wp-json\/wp\/v2\/media?parent=8893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}