		{"id":5847,"date":"2021-12-15T20:54:03","date_gmt":"2021-12-15T18:54:03","guid":{"rendered":"https:\/\/liutuvartai.lt\/?page_id=5847"},"modified":"2026-02-10T05:32:33","modified_gmt":"2026-02-10T03:32:33","slug":"rezervacijos","status":"publish","type":"page","link":"https:\/\/liutuvartai.lt\/en\/rezervacijos\/","title":{"rendered":"Reservations"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5847\" class=\"elementor elementor-5847\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c033fff elementor-section-content-top elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c033fff\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4b4aa31\" data-id=\"4b4aa31\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-43a0383 elementor-widget elementor-widget-spacer\" data-id=\"43a0383\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d0ef90 elementor-button-align-stretch elementor-widget elementor-widget-form\" data-id=\"0d0ef90\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;step_next_label&quot;:&quot;Next&quot;,&quot;step_previous_label&quot;:&quot;Previous&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" id=\"booking_form\" name=\"Booking Form\" aria-label=\"Booking Form\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"5847\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"0d0ef90\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"\" \/>\n\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-step elementor-field-group elementor-column elementor-field-group-field_6f6cb47 elementor-col-100\">\n\t\t\t\t\t\t\t<div class=\"e-field-step elementor-hidden\" data-label=\"\" data-previousButton=\"\" data-nextButton=\"\" data-iconUrl=\"\" data-iconLibrary=\"fas fa-star\" data-icon=\"&lt;svg class=&quot;e-font-icon-svg e-fas-star&quot; viewBox=&quot;0 0 576 512&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt;&lt;path d=&quot;M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z&quot;&gt;&lt;\/path&gt;&lt;\/svg&gt;\" ><\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-name elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-name\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tRezervacija Vardu:\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[name]\" id=\"form-field-name\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Vardenis\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-email\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tEl. Pa\u0161tas\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"vardenis.pavardenis@one.lt\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-field_d1d116d elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_d1d116d\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tTelefono Numeris\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[field_d1d116d]\" id=\"form-field-field_d1d116d\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"+370 652 00330\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-step elementor-field-group elementor-column elementor-field-group-field_460de41 elementor-col-100\">\n\t\t\t\t\t\t\t<div class=\"e-field-step elementor-hidden\" data-label=\"\" data-previousButton=\"Gr\u012f\u017eti\" data-nextButton=\"Toliau\" data-iconUrl=\"\" data-iconLibrary=\"fas fa-star\" data-icon=\"&lt;svg class=&quot;e-font-icon-svg e-fas-star&quot; viewBox=&quot;0 0 576 512&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt;&lt;path d=&quot;M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z&quot;&gt;&lt;\/path&gt;&lt;\/svg&gt;\" ><\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-number elementor-field-group elementor-column elementor-field-group-message elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-message\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tSve\u010di\u0173 skai\u010dius\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t<input type=\"number\" name=\"form_fields[message]\" id=\"form-field-message\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"42\" required=\"required\" min=\"1\" max=\"30\" >\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-date elementor-field-group elementor-column elementor-field-group-reservation_date elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-reservation_date\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tRezervacijos Data\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\n\t\t<input type=\"date\" name=\"form_fields[reservation_date]\" id=\"form-field-reservation_date\" class=\"elementor-field elementor-size-sm  elementor-field-textual elementor-date-field elementor-use-native\" placeholder=\"1991-03-16\" required=\"required\" pattern=\"[0-9]{4}-[0-9]{2}-[0-9]{2}\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-time elementor-field-group elementor-column elementor-field-group-reservation_time elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-reservation_time\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tLaikas\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<input type=\"time\" name=\"form_fields[reservation_time]\" id=\"form-field-reservation_time\" class=\"elementor-field elementor-size-sm  elementor-field-textual elementor-time-field elementor-use-native\" placeholder=\"11:00 - 21:00 \" required=\"required\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-html elementor-field-group elementor-column elementor-field-group-field_f50e3f9 elementor-col-100\">\n\t\t\t\t\t<div id=\"special-date-message\" style=\"display:none;\"><\/div>\n<div id=\"time-buttons\" style=\"display:none; margin-top:10px;\"><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-md\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Pateikti<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1461d75 elementor-widget elementor-widget-spacer\" data-id=\"1461d75\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-479fadb elementor-widget elementor-widget-html\" data-id=\"479fadb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\r\n(function () {\r\n  \/\/ ===== CONFIG =====\r\n  const SPECIAL_DATE = '2026-02-14';\r\n\r\n  \/\/ You said you edited the message \u2014 put your desired text here:\r\n  const MESSAGE_SPECIAL = 'Valentino dien\u0105 (Vasario 14 d.) priimame rezervacijas nuo 16:00 iki 21:00. \u0160i\u0105 dien\u0105 galioja specialus \u0161ventinis meniu!';\r\n  const MESSAGE_NORMAL  = 'Rezervacijas priimame nuo 11:00 iki 21:00.';\r\n\r\n  const NORMAL_START = '11:00';\r\n  const NORMAL_END   = '21:00';\r\n\r\n  const SPECIAL_START = '16:00';\r\n  const SPECIAL_END   = '21:00';\r\n\r\n  \/\/ Elementor Field IDs (Advanced -> ID)\r\n  const DATE_ID = 'reservation_date';\r\n  const TIME_ID = 'reservation_time';\r\n\r\n  \/\/ ===== HELPERS =====\r\n  function normalizeToYMD(value) {\r\n    value = (value || '').trim();\r\n    if (!value) return '';\r\n\r\n    \/\/ YYYY-MM-DD\r\n    if (\/^\\d{4}-\\d{2}-\\d{2}$\/.test(value)) return value;\r\n\r\n    \/\/ DD\/MM\/YYYY or DD-MM-YYYY\r\n    const m = value.match(\/^(\\d{1,2})[\\\/\\-.](\\d{1,2})[\\\/\\-.](\\d{4})$\/);\r\n    if (m) {\r\n      const dd = m[1].padStart(2,'0');\r\n      const mm = m[2].padStart(2,'0');\r\n      const yyyy = m[3];\r\n      return `${yyyy}-${mm}-${dd}`;\r\n    }\r\n\r\n    return '';\r\n  }\r\n\r\n  function parseTimeToMinutes(val) {\r\n    val = (val || '').trim();\r\n    \/\/ Accept \"18:00\" or \"18.00\"\r\n    const m = val.match(\/^([01]?\\d|2[0-3])[:\\.]([0-5]\\d)$\/);\r\n    if (!m) return null;\r\n    return parseInt(m[1], 10) * 60 + parseInt(m[2], 10);\r\n  }\r\n\r\n  function toMinutes(hhmm) {\r\n    const [h,m] = hhmm.split(':').map(Number);\r\n    return h*60 + m;\r\n  }\r\n\r\n  function findField(formEl, fieldId) {\r\n    return formEl.querySelector(`#${CSS.escape(fieldId)}`) ||\r\n           formEl.querySelector(`[name=\"form_fields[${CSS.escape(fieldId)}]\"]`);\r\n  }\r\n\r\n  function ensureMsg(formEl, timeInput) {\r\n    let msg = formEl.querySelector('.time-validation-message');\r\n    if (!msg) {\r\n      msg = document.createElement('div');\r\n      msg.className = 'time-validation-message';\r\n      msg.style.display = 'none';\r\n      msg.style.marginTop = '10px';\r\n      (timeInput.closest('.elementor-field-group') || timeInput.parentElement || formEl).appendChild(msg);\r\n    }\r\n    return msg;\r\n  }\r\n\r\n  function showMsg(msgEl, text, type) {\r\n    msgEl.style.display = 'block';\r\n    msgEl.textContent = text;\r\n    msgEl.style.padding = '10px 12px';\r\n    msgEl.style.borderRadius = '10px';\r\n    msgEl.style.marginTop = '10px';\r\n\r\n    \/\/ type: 'info' | 'error'\r\n    if (type === 'error') {\r\n      msgEl.style.background = '#f8d7da';\r\n      msgEl.style.border = '1px solid #f5c2c7';\r\n      msgEl.style.color = '#842029';\r\n    } else {\r\n      msgEl.style.background = '#fff3cd';\r\n      msgEl.style.border = '1px solid #ffeeba';\r\n      msgEl.style.color = '#664d03';\r\n    }\r\n  }\r\n\r\n  function hideMsg(msgEl) {\r\n    msgEl.style.display = 'none';\r\n    msgEl.textContent = '';\r\n  }\r\n\r\n  function getSubmitButton(formEl) {\r\n    return formEl.querySelector('button[type=\"submit\"], input[type=\"submit\"]');\r\n  }\r\n\r\n  function wireForm(formEl) {\r\n    if (!formEl || formEl.dataset.timeWired === '1') return;\r\n\r\n    const dateInput = findField(formEl, DATE_ID);\r\n    const timeInput = findField(formEl, TIME_ID);\r\n    if (!dateInput || !timeInput) return;\r\n\r\n    formEl.dataset.timeWired = '1';\r\n\r\n    const msgEl = ensureMsg(formEl, timeInput);\r\n    const submitBtn = getSubmitButton(formEl);\r\n\r\n    const normalStartM = toMinutes(NORMAL_START);\r\n    const normalEndM   = toMinutes(NORMAL_END);\r\n    const specialStartM = toMinutes(SPECIAL_START);\r\n    const specialEndM   = toMinutes(SPECIAL_END);\r\n\r\n    function getCurrentRule() {\r\n      const ymd = normalizeToYMD(dateInput.value);\r\n      const isSpecial = (ymd === SPECIAL_DATE);\r\n\r\n      return {\r\n        isSpecial,\r\n        startM: isSpecial ? specialStartM : normalStartM,\r\n        endM:   isSpecial ? specialEndM   : normalEndM,\r\n        info:   isSpecial ? MESSAGE_SPECIAL : MESSAGE_NORMAL,\r\n        error:  isSpecial\r\n          ? `Netinkamas laikas. ${MESSAGE_SPECIAL}`\r\n          : `Netinkamas laikas. ${MESSAGE_NORMAL}`\r\n      };\r\n    }\r\n\r\n    \/\/ Live validation: keep info visible, but only show error on submit\r\n    function validateLive() {\r\n      const rule = getCurrentRule();\r\n      const mins = parseTimeToMinutes(timeInput.value);\r\n\r\n      \/\/ Always show the info message when a date is picked (optional)\r\n      if (dateInput.value) showMsg(msgEl, rule.info, 'info');\r\n      else hideMsg(msgEl);\r\n\r\n      \/\/ Enable\/disable submit based on validity if user already typed something\r\n      const hasValue = (timeInput.value || '').trim().length > 0;\r\n      const ok = !hasValue ? true : (mins !== null && mins >= rule.startM && mins <= rule.endM);\r\n\r\n      if (submitBtn) submitBtn.disabled = !ok;\r\n      return ok;\r\n    }\r\n\r\n    \/\/ Hard validation on submit: blocks submit + shows error message\r\n    function validateOnSubmit() {\r\n      const rule = getCurrentRule();\r\n      const mins = parseTimeToMinutes(timeInput.value);\r\n\r\n      const ok = (mins !== null && mins >= rule.startM && mins <= rule.endM);\r\n\r\n      if (!ok) {\r\n        showMsg(msgEl, rule.error + ' \u012eveskite laik\u0105 formatu HH:MM (pvz., 18:30).', 'error');\r\n      } else {\r\n        \/\/ keep info (optional) or hide message\r\n        showMsg(msgEl, rule.info, 'info');\r\n      }\r\n\r\n      if (submitBtn) submitBtn.disabled = !ok;\r\n      return ok;\r\n    }\r\n\r\n    \/\/ Events\r\n    dateInput.addEventListener('change', validateLive);\r\n    dateInput.addEventListener('input',  validateLive);\r\n    timeInput.addEventListener('change', validateLive);\r\n    timeInput.addEventListener('input',  validateLive);\r\n\r\n    formEl.addEventListener('submit', function (e) {\r\n      const ok = validateOnSubmit();\r\n      if (!ok) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        timeInput.focus();\r\n      }\r\n    });\r\n\r\n    \/\/ Initial\r\n    validateLive();\r\n  }\r\n\r\n  function wireAll() {\r\n    document.querySelectorAll('form.elementor-form').forEach(wireForm);\r\n  }\r\n\r\n  document.addEventListener('DOMContentLoaded', wireAll);\r\n\r\n  \/\/ Elementor may inject forms later\r\n  const obs = new MutationObserver((mutations) => {\r\n    for (const m of mutations) {\r\n      for (const node of m.addedNodes) {\r\n        if (!(node instanceof HTMLElement)) continue;\r\n        if (node.matches?.('form.elementor-form')) wireForm(node);\r\n        node.querySelectorAll?.('form.elementor-form').forEach(wireForm);\r\n      }\r\n    }\r\n  });\r\n  obs.observe(document.documentElement, { childList: true, subtree: true });\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":2536000897146217,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5847","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/liutuvartai.lt\/en\/wp-json\/wp\/v2\/pages\/5847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liutuvartai.lt\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/liutuvartai.lt\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/liutuvartai.lt\/en\/wp-json\/wp\/v2\/users\/2536000897146217"}],"replies":[{"embeddable":true,"href":"https:\/\/liutuvartai.lt\/en\/wp-json\/wp\/v2\/comments?post=5847"}],"version-history":[{"count":108,"href":"https:\/\/liutuvartai.lt\/en\/wp-json\/wp\/v2\/pages\/5847\/revisions"}],"predecessor-version":[{"id":17179,"href":"https:\/\/liutuvartai.lt\/en\/wp-json\/wp\/v2\/pages\/5847\/revisions\/17179"}],"wp:attachment":[{"href":"https:\/\/liutuvartai.lt\/en\/wp-json\/wp\/v2\/media?parent=5847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}