{"id":6535,"date":"2026-04-11T13:50:53","date_gmt":"2026-04-11T13:50:53","guid":{"rendered":"https:\/\/arabesc.jp\/?page_id=6535"},"modified":"2026-04-11T14:38:24","modified_gmt":"2026-04-11T14:38:24","slug":"reservation","status":"publish","type":"page","link":"https:\/\/arabesc.jp\/ar\/reservation\/","title":{"rendered":"Reservation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6535\" class=\"elementor elementor-6535\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f9039b0 e-flex e-con-boxed e-con e-parent\" data-id=\"f9039b0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cb7770a elementor-widget elementor-widget-shortcode\" data-id=\"cb7770a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/flatpickr.min.css\"><script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\"><\/script><script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/l10n\/ar.js\"><\/script>    \n    <div class=\"booking-container\" dir=\"rtl\">\n        <form id=\"restaurant-booking-form\">\n            <h3 class=\"section-title\">\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062d\u062c\u0632<\/h3>\n            \n            <div class=\"form-row\">\n                <div class=\"form-group\">\n                    <label>\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u062d\u062c\u0632<\/label>\n                    <input type=\"text\" id=\"res_date\" name=\"res_date\" placeholder=\"YYYY-MM-DD\" >\n\t\t\t\t\t<div class=\"error-msg\" id=\"err-res_date\"><\/div>\n                <\/div>\n                <div class=\"form-group\">\n                    <label>\u0648\u0642\u062a \u0627\u0644\u062d\u062c\u0632<\/label>\n                    <input type=\"text\" id=\"res_time\" name=\"res_time\" placeholder=\"--:--\" >\n\t\t\t\t\t<div class=\"error-msg\" id=\"err-res_time\"><\/div>\n\t\t\t\t\t\n                <\/div>\n            <\/div>\n\n            <div class=\"form-group\">\n                <label>\u0639\u062f\u062f \u0627\u0644\u0623\u0634\u062e\u0627\u0635<\/label>\n                <input type=\"number\" name=\"guests\" min=\"1\" max=\"20\" placeholder=\"1\" >\n\t\t\t\t<div class=\"error-msg\" id=\"err-guests\"><\/div>\n            <\/div>\n\n            <h3 class=\"section-title\" style=\"margin-top:25px;\">\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0627\u062a\u0635\u0627\u0644<\/h3>\n\n            <div class=\"form-group\">\n                <label>\u0627\u0644\u0627\u0633\u0645<\/label>\n                <input type=\"text\" name=\"user_name\" >\n\t\t\t\t<div class=\"error-msg\" id=\"err-user_name\"><\/div>\n            <\/div>\n\n            <div class=\"form-group\">\n                <label>\u0631\u0642\u0645 \u0627\u0644\u0647\u0627\u062a\u0641<\/label>\n                <input type=\"tel\" name=\"user_phone\" >\n\t\t\t\t<div class=\"error-msg\" id=\"err-user_phone\"><\/div>\n            <\/div>\n\n            <div class=\"form-group\">\n                <label>\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a<\/label>\n                <input type=\"email\" name=\"user_email\" >\n\t\t\t\t<div class=\"error-msg\" id=\"err-user_email\"><\/div>\n            <\/div>\n\n            <button type=\"submit\" class=\"submit-btn\" id=\"submit-button\">\n                <span class=\"btn-text\">\u062a\u0623\u0643\u064a\u062f \u0627\u0644\u062d\u062c\u0632<\/span>\n            <\/button>\n        <\/form>\n    <\/div>\n\n    <style>\n        .booking-container { max-width: 500px; margin: 20px auto; padding: 30px; background: #fff; border-radius: 12px; box-shadow: 0 5px 20px rgba(0,0,0,0.08); font-family: inherit; }\n        .section-title {  background: radial-gradient(at center center, #C98F0F 34%, #FAD46F 100%);\n\t\t\t  -webkit-background-clip: text;\n \t\t\t -webkit-text-fill-color: transparent;\n            font-size: 25px; margin-bottom: 20px; border-bottom: 2px solid #f8f8f8; padding-bottom: 8px; }\n        .form-group { margin-bottom: 18px; }\n        .form-group label { display: block; margin-bottom: 6px; font-weight: 600; color: #444; font-size:20px; }\n        .form-row { display: flex; gap: 15px; }\n        .form-row .form-group { flex: 1; }\n        input { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 6px; box-sizing: border-box; }\n        .submit-btn { width: 100%;background: radial-gradient(at center center, #C98F0F 34%, #FAD46F 100%); color: white; padding: 16px; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 20px; }\n        .submit-btn:disabled { background: #95a5a6; cursor: not-allowed; }\n        [dir=\"rtl\"] { text-align: right; }\n        [dir=\"ltr\"] { text-align: left; }\n\t\t.error-msg {\n\t\t\tcolor: #e74c3c;\n\t\t\tfont-size: 14px;\n\t\t\tmargin-top: 4px;\n\t\t\tfont-weight: bold;\n\t\t\tdisplay: none; \/* \u0645\u062e\u0641\u064a \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0627\u064b *\/\n\t\t}\n\n\t\tinput:invalid {\n\t\t\tborder-color: #e74c3c; \/* \u0627\u062e\u062a\u064a\u0627\u0631\u064a: \u062a\u0644\u0648\u064a\u0646 \u062d\u062f\u0648\u062f \u0627\u0644\u062d\u0642\u0644 \u0627\u0644\u0623\u062d\u0645\u0631 \u0639\u0646\u062f \u0627\u0644\u062e\u0637\u0623 *\/\n\t\t}\n    <\/style>\n\n    <script>\n    document.addEventListener('DOMContentLoaded', function() {\n       const bookedSlots = [];\n\n    \/\/ \u0625\u0639\u062f\u0627\u062f \u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u062a\u0627\u0631\u064a\u062e\n    const datePicker = flatpickr(\"#res_date\", {\n        locale: \"ar\",\n        minDate: \"today\",\n        dateFormat: \"Y-m-d\",\n        disable: [\n            function(date) {\n                \/\/ \u062a\u0639\u0637\u064a\u0644 \u064a\u0648\u0645 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 (\u0631\u0642\u0645 3 \u0641\u064a \u0646\u0638\u0627\u0645 \u0627\u0644\u0623\u064a\u0627\u0645)\n                return (date.getDay() === 3);\n            }\n        ],\n        onChange: function(selectedDates, dateStr) {\n            if (selectedDates.length > 0) {\n                updateTimePicker(selectedDates[0], dateStr);\n            }\n        }\n    });\n\n    \/\/ \u0625\u0639\u062f\u0627\u062f \u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0648\u0642\u062a (\u0628\u062f\u0648\u0646 \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0644\u0644\u0648\u0642\u062a \u062d\u062a\u0649 \u064a\u062a\u0645 \u0627\u062e\u062a\u064a\u0627\u0631 \u062a\u0627\u0631\u064a\u062e)\n    const timePicker = flatpickr(\"#res_time\", {\n        enableTime: true,\n        noCalendar: true,\n        dateFormat: \"H:i\",\n        time_24hr: true,\n\t\tdisableMobile: \"true\", \/\/ \u0647\u0630\u0627 \u0627\u0644\u0633\u0637\u0631 \u0647\u0648 \u0627\u0644\u0633\u0631! \u064a\u0645\u0646\u0639 \u0638\u0647\u0648\u0631 \u0633\u0627\u0639\u0629 \u0627\u0644\u0647\u0627\u062a\u0641 \u0627\u0644\u0623\u0635\u0644\u064a\u0629\n        minuteIncrement: 30 \/\/ \u0627\u062e\u062a\u064a\u0627\u0631\u064a: \u0644\u062c\u0639\u0644 \u0627\u0644\u062d\u062c\u0632 \u0643\u0644 \u0646\u0635\u0641 \u0633\u0627\u0639\u0629\n    });\n\n    function updateTimePicker(selectedDateObj, dateStr) {\n        const dayOfWeek = selectedDateObj.getDay(); \/\/ 0 (Sun) to 6 (Sat)\n        \n        let minTime = \"11:00\";\n        let maxTime = \"21:30\"; \/\/ Last Order 9:30 pm\n\n        \/\/ \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u064a\u0648\u0645 \u0647\u0648 \u0627\u0644\u062c\u0645\u0639\u0629 (\u0631\u0642\u0645 5)\n        if (dayOfWeek === 5) {\n            minTime = \"16:00\";\n        }\n\n        \/\/ \u062a\u0635\u0641\u064a\u0629 \u0627\u0644\u0645\u0648\u0627\u0639\u064a\u062f \u0627\u0644\u0645\u062d\u062c\u0648\u0632\u0629 \u0645\u0646 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0644\u0647\u0630\u0627 \u0627\u0644\u062a\u0627\u0631\u064a\u062e\n        const timesToDisable = bookedSlots\n            .filter(slot => slot.date === dateStr)\n            .map(slot => slot.time);\n\n        \/\/ \u062a\u062d\u062f\u064a\u062b \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0648\u0642\u062a \u0627\u0644\u0628\u062f\u0627\u064a\u0629 \u0648\u0627\u0644\u0646\u0647\u0627\u064a\u0629 \u0648\u0627\u0644\u0645\u0648\u0627\u0639\u064a\u062f \u0627\u0644\u0645\u062d\u062c\u0648\u0632\u0629\n        timePicker.set('minTime', minTime);\n        timePicker.set('maxTime', maxTime);\n        \n        timePicker.set('disable', [\n            function(time) {\n                const currentTime = flatpickr.formatDate(time, \"H:i\");\n                return timesToDisable.includes(currentTime);\n            }\n        ]);\n\n        timePicker.clear(); \/\/ \u0645\u0633\u062d \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u062e\u062a\u0627\u0631 \u0639\u0646\u062f \u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0644\u0636\u0645\u0627\u0646 \u062f\u0642\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\n    }\n\n        \/\/ \u0643\u0648\u062f \u0627\u0644\u0625\u0631\u0633\u0627\u0644 AJAX\n        document.getElementById('restaurant-booking-form').addEventListener('submit', function(e) {\n\t\t\te.preventDefault();\n\t\t\t\t\t\/\/ \u0625\u062e\u0641\u0627\u0621 \u0643\u0627\u0641\u0629 \u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u062e\u0637\u0623 \u0627\u0644\u0642\u062f\u064a\u0645\u0629\n\t\t\tdocument.querySelectorAll('.error-msg').forEach(el => {\n\t\t\t\tel.style.display = 'none';\n\t\t\t\tel.innerText = '';\n\t\t\t});\n\t\t\tconst btn = document.getElementById('submit-button');\n\t\t\tconst formData = new FormData(this);\n\t\t\tformData.append('action', 'send_booking_email');\n\t\t\tbtn.disabled = true;\n\n\t\t\tfetch('https:\/\/arabesc.jp\/wp-admin\/admin-ajax.php', {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: formData\n\t\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(data => {\n\t\t\t\tif(data.success) {\n\t\t\t\t\t\/\/ \u0625\u0630\u0627 \u0646\u062c\u062d \u0627\u0644\u062d\u062c\u0632\u060c \u0646\u062a\u0648\u062c\u0647 \u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0634\u0643\u0631\n\t\t\t\t\twindow.location.href = 'https:\/\/arabesc.jp\/ar\/thank-you';\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\/\/ \u0627\u0633\u062a\u0642\u0628\u0627\u0644 \u0627\u0633\u0645 \u0627\u0644\u062d\u0642\u0644 \u0648\u0627\u0644\u0631\u0633\u0627\u0644\u0629\n\t\t\t\t\t\tconst fieldName = data.data.field;\n\t\t\t\t\t\tconst message = data.data.msg;\n\n\t\t\t\t\t\t\/\/ \u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u0631\u0633\u0627\u0644\u0629 \u062a\u062d\u062a \u0627\u0644\u062d\u0642\u0644 \u0627\u0644\u0645\u062d\u062f\u062f\n\t\t\t\t\t\tconst errorDiv = document.getElementById('err-' + fieldName);\n\t\t\t\t\t\tif(errorDiv) {\n\t\t\t\t\t\t\terrorDiv.innerText = message;\n\t\t\t\t\t\t\terrorDiv.style.display = 'block';\n\t\t\t\t\t\t\terrorDiv.scrollIntoView({ behavior: 'smooth', block: 'center' });\n\t\t\t\t\t\t}\n\t\t\t\t\t\/\/ \u0625\u0639\u0627\u062f\u0629 \u062a\u0641\u0639\u064a\u0644 \u0627\u0644\u0632\u0631 \u0644\u0644\u0645\u062d\u0627\u0648\u0644\u0629 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649\n\t\t\t\t\tbtn.disabled = false;\n\t\t\t\t\tbtn.innerText = '\u062a\u0623\u0643\u064a\u062f \u0627\u0644\u062d\u062c\u0632';\n\n\t\t\t\t\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\tconsole.error('Error:', error);\n\t\t\t\tbtn.disabled = false;\n\t\t\t});\n\t\t});\n    });\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-6535","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"trp-custom-language-flag":false,"woocommerce_thumbnail":false,"woocommerce_single":false,"woocommerce_gallery_thumbnail":false},"uagb_author_info":{"display_name":"Sara Alsukary","author_link":"https:\/\/arabesc.jp\/ar\/author\/sawasawagroup-jp\/"},"uagb_comment_info":0,"uagb_excerpt":null,"_links":{"self":[{"href":"https:\/\/arabesc.jp\/ar\/wp-json\/wp\/v2\/pages\/6535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arabesc.jp\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/arabesc.jp\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/arabesc.jp\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arabesc.jp\/ar\/wp-json\/wp\/v2\/comments?post=6535"}],"version-history":[{"count":13,"href":"https:\/\/arabesc.jp\/ar\/wp-json\/wp\/v2\/pages\/6535\/revisions"}],"predecessor-version":[{"id":6552,"href":"https:\/\/arabesc.jp\/ar\/wp-json\/wp\/v2\/pages\/6535\/revisions\/6552"}],"wp:attachment":[{"href":"https:\/\/arabesc.jp\/ar\/wp-json\/wp\/v2\/media?parent=6535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}