{"id":25,"date":"2026-08-24T00:04:03","date_gmt":"2026-08-24T03:04:03","guid":{"rendered":"https:\/\/apetite.app.br\/pizzaboa\/reservas\/"},"modified":"2026-10-16T09:12:53","modified_gmt":"2026-10-16T12:12:53","slug":"reservas","status":"publish","type":"page","link":"https:\/\/apetite.app.br\/pizzaboa\/reservas\/","title":{"rendered":"Reservas"},"content":{"rendered":"<div class=\"apetite-site\"><section class=\"apetite-secao apetite-secao--pagina\" id=\"reservas\">\n    <div class=\"container\">\n        <h2 class=\"apetite-secao__title\">Reserve sua mesa<\/h2>\n        \n                    <p class=\"apetite-secao__lead\">Isto \u00e9 um pedido de reserva, n\u00e3o uma mesa confirmada. A casa responde pelo telefone ou e-mail. O hor\u00e1rio escolhido segura uma mesa enquanto a casa responde. At\u00e9 8 pessoas.<\/p>\n                            <ul class=\"apetite-reserva-janela\">\n                                            <li>Domingo: 17:00\u201320:00<\/li>\n                                            <li>Sexta: 17:00\u201320:00<\/li>\n                                            <li>S\u00e1bado: 17:00\u201320:00<\/li>\n                                    <\/ul>\n            \n            \n            <form class=\"apetite-reserva-form\" method=\"post\" action=\"https:\/\/apetite.app.br\/pizzaboa\/wp-admin\/admin-post.php\">\n                <input type=\"hidden\" name=\"action\" value=\"apetite_reserva_enviar\">\n                <input type=\"hidden\" id=\"_wpnonce\" name=\"_wpnonce\" value=\"fde9f02f2d\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/pizzaboa\/wp-json\/wp\/v2\/pages\/25\" \/>                <p class=\"apetite-reserva-form__hp\" aria-hidden=\"true\" style=\"position:absolute;left:-9999px;height:0;overflow:hidden;\">\n                    <label for=\"apetite_website\">Site<\/label>\n                    <input type=\"text\" name=\"apetite_website\" id=\"apetite_website\" tabindex=\"-1\" autocomplete=\"off\">\n                <\/p>\n                <div class=\"row\">\n                    <div class=\"col-md-6\">\n                        <div class=\"form-group mb-3\">\n                            <label for=\"cliente_nome\">Nome<\/label>\n                            <input class=\"form-control\" id=\"cliente_nome\" name=\"cliente_nome\" required maxlength=\"180\" value=\"\">\n                        <\/div>\n                    <\/div>\n                    <div class=\"col-md-6\">\n                        <div class=\"form-group mb-3\">\n                            <label for=\"telefone\">Telefone \/ WhatsApp<\/label>\n                            <input class=\"form-control\" id=\"telefone\" name=\"telefone\" required maxlength=\"40\" inputmode=\"tel\" value=\"\">\n                        <\/div>\n                    <\/div>\n                    <div class=\"col-md-6\">\n                        <div class=\"form-group mb-3\">\n                            <label for=\"email\">E-mail <span class=\"text-muted\">(opcional)<\/span><\/label>\n                            <input class=\"form-control\" type=\"email\" id=\"email\" name=\"email\" maxlength=\"180\" value=\"\">\n                        <\/div>\n                    <\/div>\n                    <div class=\"col-md-6\">\n                        <div class=\"form-group mb-3\">\n                            <label for=\"pessoas\">Pessoas<\/label>\n                            <input class=\"form-control\" type=\"number\" id=\"pessoas\" name=\"pessoas\" min=\"1\" max=\"8\" required value=\"2\">\n                        <\/div>\n                    <\/div>\n                    <div class=\"col-md-6\">\n                        <div class=\"form-group mb-3\">\n                            <label for=\"data\">Data<\/label>\n                            <input class=\"form-control\" type=\"date\" id=\"data\" name=\"data\" required min=\"2026-10-16\" max=\"2026-12-15\" value=\"\">\n                        <\/div>\n                    <\/div>\n                    <div class=\"col-md-6\">\n                        <div class=\"form-group mb-3\">\n                            <label for=\"horario\">Hor\u00e1rio<\/label>\n                            <select class=\"form-control\" id=\"horario\" name=\"horario\" required data-valor=\"\">\n                                <option value=\"\">Escolha a data<\/option>\n                            <\/select>\n                            <p class=\"mb-0\" id=\"apetite-reserva-dia\"><\/p>\n                        <\/div>\n                    <\/div>\n                    <div class=\"col-12\">\n                        <div class=\"form-group mb-4\">\n                            <label for=\"observacao\">Observa\u00e7\u00e3o <span class=\"text-muted\">(opcional)<\/span><\/label>\n                            <textarea class=\"form-control\" id=\"observacao\" name=\"observacao\" rows=\"3\" maxlength=\"500\"><\/textarea>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                <button class=\"button button-large button-3d\" type=\"submit\">Pedir reserva<\/button>\n            <\/form>\n            <script type=\"application\/json\" id=\"apetite-reserva-janela\">{\"dias\":[[\"17:00\",\"18:00\",\"19:00\"],[],[],[],[],[\"17:00\",\"18:00\",\"19:00\"],[\"17:00\",\"18:00\",\"19:00\"]],\"hoje\":\"2026-10-16\",\"agora\":\"2026-10-16 09:12\",\"minimo\":\"2026-10-16 11:12\",\"mesas\":3,\"agenda\":true,\"ate\":\"2026-12-15\",\"ocupados\":[]}<\/script>\n            <script>\n            (function () {\n                var data = document.getElementById('data');\n                var horario = document.getElementById('horario');\n                var aviso = document.getElementById('apetite-reserva-dia');\n                var fonte = document.getElementById('apetite-reserva-janela');\n                if (!data || !horario || !fonte) {\n                    return;\n                }\n                var mapa;\n                try {\n                    mapa = JSON.parse(fonte.textContent || '');\n                } catch (e) {\n                    return;\n                }\n                var selecionado = horario.getAttribute('data-valor') || '';\n                function diaSemana(valor) {\n                    var p = String(valor || '').split('-');\n                    if (p.length !== 3) {\n                        return -1;\n                    }\n                    var dt = new Date(Number(p[0]), Number(p[1]) - 1, Number(p[2]));\n                    if (isNaN(dt.getTime())) {\n                        return -1;\n                    }\n                    return dt.getDay();\n                }\n                function livre(h) {\n                    var quando = data.value + ' ' + h;\n                    if (quando <= mapa.agora) {\n                        return false;\n                    }\n                    if (mapa.minimo && quando < mapa.minimo) {\n                        return false;\n                    }\n                    if (mapa.ate && data.value > mapa.ate) {\n                        return false;\n                    }\n                    if (mapa.agenda && mapa.mesas > 0) {\n                        var dia = mapa.ocupados && mapa.ocupados[data.value];\n                        var n = dia && dia[h] ? Number(dia[h]) : 0;\n                        if (n >= Number(mapa.mesas)) {\n                            return false;\n                        }\n                    }\n                    return true;\n                }\n                function preencher() {\n                    var w = diaSemana(data.value);\n                    var horas = w >= 0 && mapa.dias && mapa.dias[w] ? mapa.dias[w] : [];\n                    var uteis = horas.filter(livre);\n                    horario.innerHTML = '';\n                    var vazio = document.createElement('option');\n                    vazio.value = '';\n                    vazio.textContent = !data.value ? 'Escolha a data' : (uteis.length ? 'Escolha' : 'Sem hor\u00e1rio');\n                    horario.appendChild(vazio);\n                    uteis.forEach(function (h) {\n                        var opt = document.createElement('option');\n                        opt.value = h;\n                        opt.textContent = h;\n                        if (h === selecionado) {\n                            opt.selected = true;\n                        }\n                        horario.appendChild(opt);\n                    });\n                    if (!aviso) {\n                        return;\n                    }\n                    if (!data.value) {\n                        aviso.textContent = '';\n                    } else if (mapa.ate && data.value > mapa.ate) {\n                        aviso.textContent = 'Escolha uma data nos pr\u00f3ximos 60 dias.';\n                    } else if (uteis.length === 0) {\n                        aviso.textContent = horas.length === 0\n                            ? 'N\u00e3o h\u00e1 reserva neste dia.'\n                            : 'N\u00e3o h\u00e1 hor\u00e1rio livre neste dia. Escolha outra data.';\n                    } else {\n                        aviso.textContent = '';\n                    }\n                }\n                data.addEventListener('change', function () {\n                    selecionado = '';\n                    preencher();\n                });\n                preencher();\n            }());\n            <\/script>\n            <\/div>\n<\/section>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/reservas.php","meta":{"footnotes":""},"class_list":["post-25","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/apetite.app.br\/pizzaboa\/wp-json\/wp\/v2\/pages\/25","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/apetite.app.br\/pizzaboa\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/apetite.app.br\/pizzaboa\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/apetite.app.br\/pizzaboa\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":1,"href":"https:\/\/apetite.app.br\/pizzaboa\/wp-json\/wp\/v2\/pages\/25\/revisions"}],"predecessor-version":[{"id":27,"href":"https:\/\/apetite.app.br\/pizzaboa\/wp-json\/wp\/v2\/pages\/25\/revisions\/27"}],"wp:attachment":[{"href":"https:\/\/apetite.app.br\/pizzaboa\/wp-json\/wp\/v2\/media?parent=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}