{"id":289,"date":"2025-07-31T19:08:30","date_gmt":"2025-07-31T16:08:30","guid":{"rendered":"https:\/\/lumava.idejas.id.lv\/?page_id=289"},"modified":"2025-08-26T18:18:44","modified_gmt":"2025-08-26T15:18:44","slug":"rezervacija","status":"publish","type":"page","link":"https:\/\/lumava.idejas.id.lv\/en\/rezervacija\/","title":{"rendered":"Reservation"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-74a61c1b wp-block-group-is-layout-constrained\">\n<p class=\"wp-block-paragraph\">Lai veiktu rezerv\u0101ciju, kalend\u0101r\u0101 izv\u0113lieties v\u0113lamo m\u0101ji\u0146u un p\u0101rbaudiet rezerv\u0101cijai pieejamos datumus. P\u0113c tam, kad esat aizpild\u012bju\u0161i rezerv\u0101cijas pieteikumu, m\u0113s pastiprin\u0101sim rezerv\u0101ciju un nos\u016bt\u012bsim Jums r\u0113\u0137inu apmaksai.<\/p>\n\n\n<div id=\"crp-month-calendar\"\n     class=\"crp-month-cal\"\n     data-year=\"2026\"\n     data-month=\"9\"\n     data-cabin=\"\">\n  <div class=\"crp-cal-toolbar\" style=\"margin-bottom:12px; display:flex; gap:8px; align-items:center;\">\n    <label for=\"crp-cabin-select\"><strong>M\u0101ji\u0146a:<\/strong><\/label>\n    <select id=\"crp-cabin-select\" class=\"crp-cabin-select\">\n      <option value=\"\">\u2014 izv\u0113lieties \u2014<\/option>\n              <option value=\"419\">Egle<\/option>\n              <option value=\"420\">Lazda<\/option>\n              <option value=\"418\">Liepa<\/option>\n          <\/select>\n  <\/div>\n\n  <div class=\"crp-month-head\" style=\"display:flex; align-items:center; gap:10px; margin-bottom:8px;\">\n    <button type=\"button\" class=\"crp-nav crp-prev\" aria-label=\"Iepriek\u0161\u0113jais m\u0113nesis\">&laquo;<\/button>\n    <strong class=\"crp-title\" style=\"min-width:220px; display:inline-block;\"><\/strong>\n    <button type=\"button\" class=\"crp-nav crp-next\" aria-label=\"N\u0101kamais m\u0113nesis\">&raquo;<\/button>\n  <\/div>\n\n  <div class=\"crp-grid\" style=\"display:grid; grid-template-columns: repeat(7, 1fr); gap:4px;\"><\/div>\n\n  <div class=\"crp-legend\" style=\"margin-top:8px; display:flex; gap:16px; align-items:center;\">\n    <span style=\"display:inline-flex; align-items:center; gap:6px;\">\n      <span class=\"box busy\" style=\"display:inline-block; width:14px; height:14px; background:#cfd8dc;\"><\/span>\n      Aiz\u0146emts    <\/span>\n    <span style=\"display:inline-flex; align-items:center; gap:6px;\">\n      <span class=\"box today\" style=\"display:inline-block; width:14px; height:14px; background:#017b6e;\"><\/span>\n      \u0160odien    <\/span>\n  <\/div>\n<\/div>\n\n<style>\n  \/* Vienk\u0101r\u0161as klases (ja nav iel\u0101d\u0113ts public.css) *\/\n  .crp-month-cal .crp-cell { border:1px solid #e0e0e0; min-height:64px; padding:6px; border-radius:6px; background:#fff; }\n  .crp-month-cal .crp-head { background:#e5f1f0; font-weight:600; text-align:center; }\n  .crp-month-cal .busy      { background:#cfd8dc !important; }\n  .crp-month-cal .today     { outline:2px solid #017b6e; }\n  .crp-month-cal .crp-nav   { background:#017b6e; color:#fff; border:none; padding:4px 10px; border-radius:4px; cursor:pointer; }\n  .crp-month-cal .crp-day   { font-weight:600; }\n<\/style>\n\n<script>\n(function(){\n  \/\/ ===== Pal\u012bgi =====\n  function pad(n){ return (n<10 ? '0' : '') + n; }\n  function daysInMonth(y,m){ return new Date(y, m, 0).getDate(); } \/\/ m:1..12\n  function title(y,m){\n    var d=new Date(y, m-1, 1);\n    try { return d.toLocaleString(document.documentElement.lang||'lv-LV', {month:'long', year:'numeric'}); }\n    catch(e){ return y + '-' + pad(m); }\n  }\n\n  \/\/ ===== Elementi =====\n  var wrap    = document.getElementById('crp-month-calendar');\n  if (!wrap){ return; }\n  console.log('%cCRP kalend\u0101rs: init','color:#017b6e');\n\n  var grid    = wrap.querySelector('.crp-grid');\n  var titleEl = wrap.querySelector('.crp-title');\n  var prevBtn = wrap.querySelector('.crp-prev');\n  var nextBtn = wrap.querySelector('.crp-next');\n  var select  = wrap.querySelector('.crp-cabin-select');\n\n  var year  = parseInt(wrap.getAttribute('data-year'),10)  || (new Date()).getFullYear();\n  var month = parseInt(wrap.getAttribute('data-month'),10) || ((new Date()).getMonth()+1);\n  var cabin = parseInt(wrap.getAttribute('data-cabin')||'0',10) || 0;\n\n  \/\/ ===== Izveido re\u017e\u0123i no nulles (7 virsraksti + 42 dienas) =====\n  function buildGrid(){\n    var labels = ['Pr','Ot','Tr','Ce','Pk','Se','Sv'];\n    grid.innerHTML = '';\n    for (var i=0;i<7;i++){\n      var h = document.createElement('div');\n      h.className = 'crp-cell crp-head';\n      h.textContent = labels[i];\n      grid.appendChild(h);\n    }\n    for (var j=0;j<42;j++){\n      var c = document.createElement('div');\n      c.className = 'crp-cell';\n      var s = document.createElement('span');\n      s.className = 'crp-day';\n      c.appendChild(s);\n      grid.appendChild(c);\n    }\n  }\n  buildGrid();\n\n  \/\/ ===== Refs uz dienu \u0161\u016bn\u0101m (bez head) =====\n  function dayCells(){\n    var all = Array.prototype.slice.call(grid.querySelectorAll('.crp-cell'));\n    return all.slice(7);\n  }\n\n  \/\/ ===== REST b\u0101ze =====\n  var REST_ROOT = (window.CRP && CRP.rest ? CRP.rest : '\/wp-json\/').replace(\/\\\/$\/,'');\n  var REST_NS   = (window.CRP && CRP.ns   ? CRP.ns   : 'crp');\n  var API_BASE  = REST_ROOT + '\/' + REST_NS + '\/v1\/';\n\n  \/\/ ===== Render\u0113 kalend\u0101ru =====\n  function clearCells(cells){\n    for (var i=0;i<cells.length;i++){\n      cells[i].className = 'crp-cell';\n      var s=cells[i].querySelector('.crp-day'); if(s) s.textContent='';\n    }\n  }\n\n  function render(){\n    if (titleEl) titleEl.textContent = title(year, month);\n\n    var cells = dayCells();\n    clearCells(cells);\n\n    var first  = new Date(year, month-1, 1);\n    var startW = first.getDay(); if (startW===0) startW=7; \/\/ pirmdiena=1 .. sv\u0113tdiena=7\n    var dim    = daysInMonth(year, month);\n\n    var today  = new Date();\n    var isThis = (year===today.getFullYear() && month===(today.getMonth()+1));\n\n    \/\/ Ieliek dienu numurus\n    for (var d=1; d<=dim; d++){\n      var idx = (startW-1) + (d-1); \/\/ 0..41\n      var cell = cells[idx]; if (!cell) continue;\n      var sup = cell.querySelector('.crp-day');\n      if (sup) sup.textContent = d;\n      if (isThis && d===today.getDate()) cell.className += ' today';\n    }\n\n    \/\/ Bez m\u0101ji\u0146as nekr\u0101sojam aiz\u0146emt\u0101s\n    if (!cabin) return;\n\n    var from = year + '-' + pad(month) + '-01';\n    var to   = year + '-' + pad(month) + '-' + pad(dim);\n\n    var headers = {};\n    if (window.CRP && CRP.nonce) headers['X-WP-Nonce'] = CRP.nonce;\n\n    var url = API_BASE + 'blocked?from=' + encodeURIComponent(from)\n                        + '&to=' + encodeURIComponent(to)\n                        + '&cabin=' + encodeURIComponent(cabin);\n\n    console.log('[CRP] blocked GET \u2192', url);\n    fetch(url, { credentials:'same-origin', headers: headers })\n      .then(function(r){ return r.json(); })\n      .then(function(res){\n        if (!res || res.status!=='success' || !Array.isArray(res.data)) {\n          console.warn('[CRP] blocked: negaid\u012bta atbilde', res);\n          return;\n        }\n        var map = {};\n        for (var i=0;i<res.data.length;i++) map[String(res.data[i])] = 1;\n\n        for (var day=1; day<=dim; day++){\n          var ds = year + '-' + pad(month) + '-' + pad(day);\n          if (map[ds]) {\n            var index = (startW-1) + (day-1);\n            var c = cells[index];\n            if (c) c.className += ' busy';\n          }\n        }\n      })\n      .catch(function(err){\n        console.error('[CRP] blocked k\u013c\u016bda', err);\n      });\n  }\n\n  \/\/ ===== Notikumi =====\n  if (prevBtn) prevBtn.addEventListener('click', function(){\n    month--; if (month<1){ month=12; year--; } render();\n  });\n  if (nextBtn) nextBtn.addEventListener('click', function(){\n    month++; if (month>12){ month=1; year++; } render();\n  });\n  if (select) {\n    \/\/ ja data-cabin bija uzst\u0101d\u012bts, atz\u012bm\u0113 izv\u0113li\n    if (cabin) select.value = String(cabin);\n    select.addEventListener('change', function(){\n      cabin = parseInt(this.value||'0',10) || 0;\n      render();\n    });\n  }\n\n  \/\/ S\u0101kotn\u0113jais z\u012bm\u0113jums\n  render();\n})();\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-74a61c1b wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-text-align-center\" style=\"font-size:25px\">Rezerv\u0101cijas forma.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0100tr\u0101kai sazi\u0146ai aicin\u0101m piez\u012bm\u0113s nor\u0101d\u012bt t\u0101lru\u0146a numuru, k\u0101 ar\u012b citu Jums svar\u012bgu inform\u0101ciju.<\/p>\n\n\n<div id=\"crp-form-wrap\">\n  <form id=\"crp-form\">\n    <div class=\"crp-field\">\n      <label for=\"crp-name\">V\u0101rds, Uzv\u0101rds<\/label>\n      <input id=\"crp-name\" type=\"text\" name=\"name\" required>\n    <\/div>\n\n    <div class=\"crp-field\">\n      <label for=\"crp-email\">E-pasts<\/label>\n      <input id=\"crp-email\" type=\"email\" name=\"email\" required>\n    <\/div>\n\n    <div class=\"crp-field\">\n      <label for=\"crp-cabin\">M\u0101ji\u0146a<\/label>\n      <select id=\"crp-cabin\" name=\"cabin\" required>\n        <option value=\"\">Izv\u0113lieties m\u0101ji\u0146u...<\/option>\n                  <option value=\"419\">\n            Egle \u2014 100 \u20ac\/nakts          <\/option>\n                  <option value=\"420\">\n            Lazda \u2014 105 \u20ac\/nakts          <\/option>\n                  <option value=\"418\">\n            Liepa \u2014 95 \u20ac\/nakts          <\/option>\n              <\/select>\n    <\/div>\n\n    <div class=\"crp-field\">\n      <label for=\"crp-from\">No datuma<\/label>\n      <input id=\"crp-from\" type=\"date\" name=\"date_from\" required>\n    <\/div>\n\n    <div class=\"crp-field\">\n      <label for=\"crp-to\">L\u012bdz datumam<\/label>\n      <input id=\"crp-to\" type=\"date\" name=\"date_to\" required>\n    <\/div>\n\n    <div class=\"crp-field\">\n      <label for=\"crp-notes\">Piez\u012bmes<\/label>\n      <textarea id=\"crp-notes\" name=\"notes\" rows=\"3\"><\/textarea>\n    <\/div>\n\n    <div class=\"crp-summary\">\n      <span>Naktis: <strong id=\"crp-nights\">0<\/strong><\/span>\n      <span>Summa: <strong id=\"crp-total\">0<\/strong> \u20ac<\/span>\n    <\/div>\n\n    <input type=\"hidden\" id=\"crp_nonce\" name=\"crp_nonce\" value=\"68139ccb7f\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/289\" \/>    <div class=\"crp-actions\">\n      <button type=\"submit\" class=\"crp-btn\">Rezerv\u0113t<\/button>\n    <\/div>\n\n    <div id=\"crp-msg\" class=\"crp-msg\" aria-live=\"polite\"><\/div>\n  <\/form>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Lai veiktu rezerv\u0101ciju, kalend\u0101r\u0101 izv\u0113lieties v\u0113lamo m\u0101ji\u0146u un p\u0101rbaudiet rezerv\u0101cijai pieejamos datumus. P\u0113c tam, kad esat aizpild\u012bju\u0161i rezerv\u0101cijas pieteikumu, m\u0113s pastiprin\u0101sim rezerv\u0101ciju un nos\u016bt\u012bsim Jums r\u0113\u0137inu apmaksai. Rezerv\u0101cijas forma. \u0100tr\u0101kai sazi\u0146ai aicin\u0101m piez\u012bm\u0113s nor\u0101d\u012bt t\u0101lru\u0146a numuru, k\u0101 ar\u012b citu Jums svar\u012bgu inform\u0101ciju.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-289","page","type-page","status-publish","hentry"],"mb":[],"mfb_rest_fields":["title"],"_links":{"self":[{"href":"https:\/\/lumava.idejas.id.lv\/en\/wp-json\/wp\/v2\/pages\/289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lumava.idejas.id.lv\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lumava.idejas.id.lv\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lumava.idejas.id.lv\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lumava.idejas.id.lv\/en\/wp-json\/wp\/v2\/comments?post=289"}],"version-history":[{"count":21,"href":"https:\/\/lumava.idejas.id.lv\/en\/wp-json\/wp\/v2\/pages\/289\/revisions"}],"predecessor-version":[{"id":544,"href":"https:\/\/lumava.idejas.id.lv\/en\/wp-json\/wp\/v2\/pages\/289\/revisions\/544"}],"wp:attachment":[{"href":"https:\/\/lumava.idejas.id.lv\/en\/wp-json\/wp\/v2\/media?parent=289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}