{"id":41409,"date":"2025-11-25T18:05:45","date_gmt":"2025-11-25T16:05:45","guid":{"rendered":"https:\/\/www.stepsforchildren.de\/?page_id=41409"},"modified":"2025-11-25T18:37:21","modified_gmt":"2025-11-25T16:37:21","slug":"elementor-41409","status":"publish","type":"page","link":"https:\/\/www.stepsforchildren.de\/en\/elementor-41409\/","title":{"rendered":"Elementor #41409"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"41409\" class=\"elementor elementor-41409\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-93f0e98 e-flex e-con-boxed e-con e-parent\" data-id=\"93f0e98\" 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-4663810 elementor-widget elementor-widget-spacer\" data-id=\"4663810\" 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-41ffd3c elementor-widget elementor-widget-mb_availability_redirect_form\" data-id=\"41ffd3c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"mb_availability_redirect_form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                <style>\r\n                    #waitImage { display: none !important; }\r\n                    #guest_booking { background: #fff !important; }\r\n                <\/style>\r\n                <script>\r\n                    (function(){\r\n                        function removeBootstrapLinks(){\r\n                            document.querySelectorAll('link[rel=\"stylesheet\"]').forEach(function(l){\r\n                                var href = (l.getAttribute('href')||'').toLowerCase();\r\n                                if (href.includes('bootstrap') && href.includes('.css')) { l.remove(); }\r\n                            });\r\n                        }\r\n                        var headObs = new MutationObserver(function(muts){\r\n                            muts.forEach(function(m){\r\n                                m.addedNodes.forEach(function(n){\r\n                                    if (n.tagName === 'LINK' && (n.rel||'').toLowerCase()==='stylesheet') {\r\n                                        var href = (n.getAttribute('href')||'').toLowerCase();\r\n                                        if (href.includes('bootstrap') && href.includes('.css')) { n.remove(); }\r\n                                    }\r\n                                });\r\n                            });\r\n                        });\r\n                        headObs.observe(document.head, {childList:true,subtree:true});\r\n                        removeBootstrapLinks();\r\n                    })();\r\n                <\/script>\r\n\r\n                <div id=\"mbav_69f36909c04fe\" class=\"mbav-wrap\" data-lang=\"de\">\r\n                    <style>\r\n                        #mbav_69f36909c04fe{background:#f4ede8;padding:18px;border-radius:10px}\r\n                        #mbav_69f36909c04fe .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}\r\n                        #mbav_69f36909c04fe .label{font-size:13px;color:#555;margin-bottom:6px}\r\n                        #mbav_69f36909c04fe input[type=\"text\"], #mbav_69f36909c04fe select{\r\n                                                                                          width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:14px\r\n                                                                                      }\r\n                        #mbav_69f36909c04fe .btn{\r\n                                                 background:#ef8a00;color:#fff;border:0;border-radius:10px;padding:8px 14px;\r\n                                                 font-weight:700;font-size:14px;cursor:pointer;transition:filter .15s ease, transform .03s ease\r\n                                             }\r\n                        #mbav_69f36909c04fe .btn:hover{filter:brightness(.95)}\r\n                        #mbav_69f36909c04fe .btn:active{transform:translateY(1px)}\r\n                        @media (max-width:640px){ #mbav_69f36909c04fe .grid{grid-template-columns:1fr} }\r\n                    <\/style>\r\n\r\n                    <!-- Hidden Relay-Form nur f\u00fcr POST; bei GET nicht genutzt -->\r\n                    <form id=\"mbav_69f36909c04fe_relay\" action=\"https:\/\/www.stepsforchildren.de\/mitmachen-und-erleben\/buchung-abschliessen\/\" method=\"post\"  style=\"display:none\">\r\n                        <input type=\"hidden\" name=\"bfrom\" id=\"mbav_69f36909c04fe_rf_bfrom\">\r\n                        <input type=\"hidden\" name=\"bto\" id=\"mbav_69f36909c04fe_rf_bto\">\r\n                        <input type=\"hidden\" name=\"number_of_guests\" id=\"mbav_69f36909c04fe_rf_guests\">\r\n                    <\/form>\r\n\r\n                    <h4>Buchung<\/h4>\r\n\r\n                    <div class=\"label\">Zeitraum<\/div>\r\n                    <div class=\"grid\" style=\"margin-top:-6px\">\r\n                        <div><input type=\"text\" id=\"mbav_69f36909c04fe_checkin\" placeholder=\"Check-in\" autocomplete=\"off\" \/><\/div>\r\n                        <div><input type=\"text\" id=\"mbav_69f36909c04fe_checkout\" placeholder=\"Check-out\" autocomplete=\"off\" \/><\/div>\r\n                        <div>\r\n                            <div class=\"label\">Erwachsene<\/div>\r\n                            <select id=\"mbav_69f36909c04fe_adults\">\r\n                                <option value=\"1\" >1<\/option><option value=\"2\" selected>2<\/option>                            <\/select>\r\n                        <\/div>\r\n                        <div>\r\n                            <div class=\"label\">Kinder<\/div>\r\n                            <select id=\"mbav_69f36909c04fe_kids\">\r\n                                <option value=\"0\">0<\/option><option value=\"1\">1<\/option>                            <\/select>\r\n                        <\/div>\r\n                        <div><\/div>\r\n                        <div style=\"text-align:right\">\r\n                            <button type=\"button\" class=\"btn\" id=\"mbav_69f36909c04fe_submit\">buchen<\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <script>\r\n                    (function(){\r\n                        \/\/ jQuery-Shortcut nur setzen, falls vorhanden\r\n                        if (window.jQuery && !window.$) { window.$ = window.jQuery; }\r\n\r\n                        const wid      = \"mbav_69f36909c04fe\";\r\n                        const lang     = \"de\";\r\n                        const groupId  = \"ag1mZXdveWllbGRtZ210chkLEg9wcm9wZXJ0eV9vd25lcnMiBDM3OTcM\";\r\n                        const method   = \"GET\"; \/\/ \"GET\" | \"POST\"\r\n                        const target   = \"https:\\\/\\\/www.stepsforchildren.de\\\/mitmachen-und-erleben\\\/buchung-abschliessen\\\/\";\r\n                        const newTab   = false;\r\n\r\n                        const checkin  = document.getElementById(wid + '_checkin');\r\n                        const checkout = document.getElementById(wid + '_checkout');\r\n                        const adults   = document.getElementById(wid + '_adults');\r\n                        const kids     = document.getElementById(wid + '_kids');\r\n                        const submitBtn= document.getElementById(wid + '_submit');\r\n\r\n                        function formatDate(date){\r\n                            const d = String(date.getDate()).padStart(2, '0');\r\n                            const m = String(date.getMonth()+1).padStart(2, '0');\r\n                            const y = date.getFullYear();\r\n                            return `${d}.${m}.${y}`;\r\n                        }\r\n\r\n                        function waitFor(cond, cb, tries){\r\n                            if (cond()) { cb(); return; }\r\n                            if ((tries||0) > 200) { console.warn('Timeout while waiting'); return; }\r\n                            setTimeout(function(){ waitFor(cond, cb, (tries||0)+1); }, 100);\r\n                        }\r\n                        const hasFP = ()=> (window.flatpickr && typeof window.flatpickr === 'function');\r\n\r\n                        waitFor(()=> hasFP(), init);\r\n\r\n                        function init(){\r\n                            const fpCheckin = flatpickr(checkin, {\r\n                                dateFormat: \"d.m.Y\",\r\n                                minDate: \"today\",\r\n                                locale: (window.flatpickr?.l10ns?.de ? \"de\" : \"default\"),\r\n                                onChange: function(sel){\r\n                                    if (!sel || !sel[0]) return;\r\n                                    const ci = sel[0];\r\n                                    const minOut = new Date(ci); minOut.setDate(minOut.getDate()+1);\r\n\r\n                                    fpCheckout.set('minDate', minOut);\r\n                                    fpCheckout.set('disable', [ d => d <= ci ]);\r\n\r\n                                    const co = fpCheckout.selectedDates?.[0];\r\n                                    const invalid = !co || co <= ci;\r\n                                    if (invalid) {\r\n                                        const probe = new Date(minOut);\r\n                                        fpCheckout.setDate(probe, true);\r\n                                    }\r\n                                }\r\n                            });\r\n\r\n                            const fpCheckout = flatpickr(checkout, {\r\n                                dateFormat: \"d.m.Y\",\r\n                                minDate: \"today\",\r\n                                locale: (window.flatpickr?.l10ns?.de ? \"de\" : \"default\"),\r\n                                onOpen: function(){\r\n                                    const ci = fpCheckin.selectedDates?.[0]; if (!ci) return;\r\n                                    const minOut = new Date(ci); minOut.setDate(minOut.getDate()+1);\r\n                                    this.set('minDate', minOut);\r\n                                    this.set('disable', [ d => d <= ci ]);\r\n                                }\r\n                            });\r\n\r\n                            \/\/ Submit\/Redirect\r\n                            submitBtn.addEventListener('click', function(){\r\n                                const ciStr = checkin.value.trim();\r\n                                const coStr = checkout.value.trim();\r\n                                let   a     = parseInt(adults.value || '2', 10);\r\n                                let   k     = parseInt(kids.value || '0', 10);\r\n                                if (isNaN(a) || a < 1) a = 1;\r\n                                if (isNaN(k) || k < 0) k = 0;\r\n                                if (!ciStr || !coStr) { alert('Bitte Check-in und Check-out w\u00e4hlen.'); return; }\r\n                                const [d1,m1,y1] = ciStr.split('.'); const [d2,m2,y2] = coStr.split('.');\r\n                                const inDate  = new Date(+y1, +m1-1, +d1);\r\n                                const outDate = new Date(+y2, +m2-1, +d2);\r\n\r\n                                if (!(outDate > inDate)) { alert('Check-out muss nach Check-in liegen.'); return; }\r\n\r\n                                \/\/ Weiterleitung\r\n                                if (!target) { alert('Ziel-URL ist nicht konfiguriert.'); return; }\r\n                                if (!groupId) { alert('group_id ist nicht konfiguriert.'); return; }\r\n\r\n                                const arrival    = formatDate(inDate);\r\n                                const departure  = formatDate(outDate);\r\n                                const guestsInt  = a + k;\r\n                                const payload    = {\r\n                                    arrival: arrival,\r\n                                    departure: departure,\r\n                                    guests: guestsInt,\r\n                                    group_id: groupId\r\n                                };\r\n\r\n                                submitBtn.disabled = true;\r\n                                submitBtn.textContent = 'pr\u00fcfe...';\r\n\r\n                                fetch('https:\/\/api.more-bookings.com\/public_serve_json', {\r\n                                    method: 'POST',\r\n                                    headers: { 'Content-Type': 'application\/json' },\r\n                                    body: JSON.stringify(payload)\r\n                                })\r\n                                .then(resp => {\r\n                                    if (!resp.ok) throw new Error('Request failed with status ' + resp.status);\r\n                                    return resp.json();\r\n                                })\r\n                                .then(data => {\r\n                                    const arr = Array.isArray(data) ? data : [];\r\n                                    const firstAvailable = arr.find(item => item && item.available !== false);\r\n\r\n                                    if (!firstAvailable) {\r\n                                        alert('Im gew\u00e4hlten Zeitraum ist derzeit kein Apartment verf\u00fcgbar.');\r\n                                        return;\r\n                                    }\r\n\r\n                                    const redirectObjectId = firstAvailable.property_key;\r\n\r\n                                    if (!redirectObjectId) {\r\n                                        alert('Leider konnte keine g\u00fcltige Objekt-ID aus der Gruppe ermittelt werden.');\r\n                                        return;\r\n                                    }\r\n\r\n                                    if (method === 'POST') {\r\n                                        var f = document.getElementById(wid + '_relay');\r\n                                        document.getElementById(wid + '_rf_bfrom').value  = arrival;\r\n                                        document.getElementById(wid + '_rf_bto').value    = departure;\r\n                                        document.getElementById(wid + '_rf_guests').value = String(guestsInt);\r\n                                        var objInput = document.getElementById(wid + '_rf_obj');\r\n                                        if (!objInput) {\r\n                                            objInput = document.createElement('input');\r\n                                            objInput.type = 'hidden';\r\n                                            objInput.name = 'object_id';\r\n                                            objInput.id   = wid + '_rf_obj';\r\n                                            f.appendChild(objInput);\r\n                                        }\r\n                                        objInput.value = redirectObjectId;\r\n                                        if (newTab) f.setAttribute('target','_blank'); else f.removeAttribute('target');\r\n                                        f.submit();\r\n                                    } else {\r\n                                        \/\/ GET\r\n                                        const url = new URL(target, window.location.origin);\r\n                                        url.searchParams.set('bfrom', arrival);\r\n                                        url.searchParams.set('bto', departure);\r\n                                        url.searchParams.set('nom', \"3\");\r\n                                        url.searchParams.set('number_of_guests', String(guestsInt));\r\n                                        url.searchParams.set('object_id', redirectObjectId);\r\n                                        if (newTab) { window.open(url.toString(), '_blank'); }\r\n                                        else { window.location.assign(url.toString()); }\r\n                                    }\r\n                                })\r\n                                .catch(err => {\r\n                                    console.error(err);\r\n                                    alert('Leider konnte die Verf\u00fcgbarkeit nicht gepr\u00fcft werden. Bitte versuchen Sie es sp\u00e4ter erneut.');\r\n                                })\r\n                                .finally(() => {\r\n                                    submitBtn.disabled = false;\r\n                                    submitBtn.textContent = \"buchen\";\r\n                                });\r\n                            });\r\n                        }\r\n                    })();\r\n                <\/script>\r\n                \t\t\t\t<\/div>\n\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":"<p>Buchung Zeitraum Erwachsene 12 Kinder 01 buchen<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"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":"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":"","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-5)","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-5)","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-5)","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-41409","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.stepsforchildren.de\/en\/wp-json\/wp\/v2\/pages\/41409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.stepsforchildren.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.stepsforchildren.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.stepsforchildren.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.stepsforchildren.de\/en\/wp-json\/wp\/v2\/comments?post=41409"}],"version-history":[{"count":13,"href":"https:\/\/www.stepsforchildren.de\/en\/wp-json\/wp\/v2\/pages\/41409\/revisions"}],"predecessor-version":[{"id":41422,"href":"https:\/\/www.stepsforchildren.de\/en\/wp-json\/wp\/v2\/pages\/41409\/revisions\/41422"}],"wp:attachment":[{"href":"https:\/\/www.stepsforchildren.de\/en\/wp-json\/wp\/v2\/media?parent=41409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}