{"id":131,"date":"2021-11-21T12:39:17","date_gmt":"2021-11-21T11:39:17","guid":{"rendered":"https:\/\/rank.intensifiedperceptions.com\/apartments\/"},"modified":"2026-08-01T10:41:10","modified_gmt":"2026-08-01T08:41:10","slug":"accommodations","status":"publish","type":"page","link":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/","title":{"rendered":"Our Accommodations"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><h1 style=\"text-align: center;\">Our Accommodations &#8211; Book Directly Online<\/h1>\n<\/div><div class=\"fusion-text fusion-text-2\" style=\"--awb-text-transform:none;\">    <div id=\"fcg-booking\" class=\"fcg-booking\">\n\n        <div class=\"fcg-filter-bar\">\n            <div class=\"fcg-filter-row\">\n                <div class=\"fcg-filter-group\">\n                    <label for=\"fcg-checkin\">Check-in<\/label>\n                    <input type=\"text\" id=\"fcg-checkin\" readonly>\n                <\/div>\n                <div class=\"fcg-filter-group\">\n                    <label for=\"fcg-checkout\">Check-out<\/label>\n                    <input type=\"text\" id=\"fcg-checkout\" readonly>\n                <\/div>\n                <div class=\"fcg-filter-group fcg-filter-small\">\n                    <label for=\"fcg-adults\">People<\/label>\n                    <select id=\"fcg-adults\">\n                                                    <option value=\"1\" >1<\/option>\n                                                    <option value=\"2\" selected>2<\/option>\n                                                    <option value=\"3\" >3<\/option>\n                                                    <option value=\"4\" >4<\/option>\n                                                    <option value=\"5\" >5<\/option>\n                                                    <option value=\"6\" >6<\/option>\n                                                    <option value=\"7\" >7<\/option>\n                                                    <option value=\"8\" >8<\/option>\n                                            <\/select>\n                <\/div>\n                                <div class=\"fcg-filter-group fcg-filter-btn\">\n                    <button type=\"button\" id=\"fcg-search-btn\" class=\"fcg-btn fcg-btn-primary\">\n                        Check availability                    <\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div id=\"fcg-status\" class=\"fcg-status fcg-hidden\"><\/div>\n        <div id=\"fcg-apartments\" class=\"fcg-apartments\"><\/div>\n\n    <\/div>\n\n    <script>\n    (function(){\n        const API_URL = 'https:\/\/www.pissouri-bay-vacation.com\/sabee-api.php';\n        const BOOK_URL = '\/en\/book\/';\n        const APARTMENTS = [{\"post_id\":4842,\"room_id\":62461,\"title\":\"Skeleas 2 Apartment\",\"permalink\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/apartment-skeleas2\\\/\",\"thumbnail\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/DSC01123-768x512.jpg\",\"size\":\"60\",\"max_guests\":4,\"max_kleinkinder\":2,\"amenities\":[\"Garden terrace\",\"Air conditioning\",\"Smart-TV\",\"Free WiFi\"],\"description\":\"Located on the edge of Pissouri Bay, our cozy apartment offers a view of the sea and is ideal for up to four people. With two comfortable bedrooms, this accommodation is the perfect spot for families or friends who want to enjoy the island to the fullest. \"},{\"post_id\":4841,\"room_id\":62462,\"title\":\"Skeleas 7 Apartment\",\"permalink\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/apartment-skeleas7\\\/\",\"thumbnail\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/DSC01128-768x512.jpg\",\"size\":\"60\",\"max_guests\":4,\"max_kleinkinder\":2,\"amenities\":[\"Balcony\",\"Air conditioning\",\"Smart-TV\",\"Free WiFi\"],\"description\":\"Our cozy apartment, located on the edge of Pissouri Bay with a view of the sea, is ideal for up to four people. The apartment is the perfect place for families or friends. The cozy balcony is especially nice, offering a magnificent view of Pissouri Bay.  \"},{\"post_id\":4843,\"room_id\":558,\"title\":\"Villa Hanna\",\"permalink\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/villa-hanna\\\/\",\"thumbnail\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/DSC00843-768x512.jpg\",\"size\":\"100\",\"max_guests\":4,\"max_kleinkinder\":2,\"amenities\":[\"Garden terrace\",\"Air conditioning\",\"Smart-TV\",\"Free WiFi\"],\"description\":\"Villa Hanna is located in a small vacation home complex, right on the edge of the complex, with a stunning view of the sea and Pissouri Beach. Thanks to this ideal location, Villa Hanna offers plenty of peace and quiet, while also allowing you to easily reach all of Pissouri Beach\u2019s amenities on foot in just a few minutes. \"}];\n        const LOCALE = 'en-GB';\n        const T = {\"checkin\":\"Check-in\",\"checkout\":\"Check-out\",\"guests\":\"Guests\",\"adults\":\"People\",\"adult_singular\":\"Person\",\"adults_plural\":\"People\",\"persons\":\"People\",\"person_singular\":\"Person\",\"children_4_15\":\"Children 4-15\",\"children_0_3\":\"Toddler 0-3\",\"child_singular\":\"Child\",\"children_plural\":\"Children\",\"guest_singular\":\"Guest\",\"guests_plural\":\"Guests\",\"search_btn\":\"Check availability\",\"searching\":\"Searching...\",\"checking\":\"Checking availability...\",\"querying_apts\":\"We are checking %d apartments\",\"select_dates\":\"Please select check-in and check-out dates.\",\"of\":\"of\",\"apartments_available\":\"apartments available\",\"night_singular\":\"night\",\"night_plural\":\"Nights\",\"connection_error\":\"Connection error\",\"query_failed\":\"Query failed.\",\"sqm\":\"sqm\",\"max_prefix\":\"max.\",\"bedrooms_label\":\"bedroom(s)\",\"available\":\"Available\",\"unavailable\":\"Unavailable\",\"unavail_text\":\"Not available for selected dates\",\"minstay_text\":\"Minimum stay not met\",\"minstay_hint\":\"Available for longer stays\",\"minstay_exact\":\"Minimum stay: %d nights\",\"per_night\":\"\\\/ night\",\"inkl\":\"incl.\",\"longstay_badge\":\"Long-term discount\",\"endreinigung\":\"Final cleaning\",\"ortstaxe\":\"Rental Tax\",\"book_btn\":\"Book now\",\"details_btn\":\"View apartment details\",\"complete_booking\":\"Complete booking\",\"firstname\":\"First name\",\"lastname\":\"Last name\",\"email\":\"Email\",\"phone\":\"Phone\",\"address\":\"Address\",\"city\":\"City\",\"zip\":\"Postal code\",\"country\":\"Country\",\"remarks\":\"Remarks\",\"remarks_placeholder\":\"Special requests, estimated arrival time, etc.\",\"submit_booking\":\"Book with Obligation to Pay\",\"submitting\":\"Submitting booking...\",\"required_fields\":\"Please enter at least your first name, last name and email address.\",\"booking_failed\":\"Booking failed.\",\"apartment\":\"Apartment\",\"arrival\":\"Check-in\",\"departure\":\"Check-out\",\"nights_label\":\"Nights\",\"total_price\":\"Total price\",\"booking_confirmed\":\"Booking confirmed!\",\"confirm_text\":\"Thank you very much for your booking. You will receive a confirmation email shortly.\",\"booking_code\":\"Booking code\",\"period\":\"Period\",\"guest_label\":\"Guest\",\"new_search\":\"New search\",\"test_mode_msg\":\"TEST MODE \u2014 Booking was NOT submitted.\",\"default_country\":\"Austria\"};\n        const SETTINGS = {\n            endreinigung_pp: 0,\n            endreinigung_mode: \"flat\",\n            endreinigung_flat: 80,\n            child_4_15_day:  0,\n            ortstaxe:        [{\"pct\":3,\"pct_display\":3,\"valid_from\":\"2026-01-01\"}],\n            \/\/ Ortstaxe-Befreiung ab X N\u00e4chten (>=), 0 = deaktiviert. GESAMTER\n            \/\/ Aufenthalt befreit. SYNC: Buchungsseite + Detail-Widget + rank-rechnungen.\n            ortstaxe_exempt_nights: 0,\n            \/\/ Langzeitrabatt-Map: room_id => Staffel (aufsteigend nach min_nights).\n            \/\/ Auswahl-Logik: getLongstayDiscount() unten; PHP-Source-of-Truth:\n            \/\/ fcg_get_longstay_discount() in ferchergasse-booking-settings.php.\n            longstay:        []        };\n\n        let currentSearch = {}, availabilityData = {};\n\n        \/\/ Init dates\n        const today = new Date();\n        const ci = new Date(today); ci.setDate(ci.getDate()+1);\n        const co = new Date(today); co.setDate(co.getDate()+4);\n        document.getElementById('fcg-checkin').value = fmtDate(ci);\n        document.getElementById('fcg-checkout').value = fmtDate(co);\n\n        \/\/ Date logic handled by flatpickr (ferchergasse-booking-flatpickr.php)\n\n        document.getElementById('fcg-search-btn').addEventListener('click', searchAvailability);\n\n        \/\/ \u2500\u2500 Deep-Link von der Startseiten-Searchbar ([ferchergasse_searchbar]) \u2500\u2500\n        \/\/ Liest ?checkin=&checkout=&adults=&children415=&children03= aus der URL,\n        \/\/ bef\u00fcllt die Felder und startet die Suche automatisch. Ohne Parameter\n        \/\/ bleibt das Verhalten unver\u00e4ndert (Default-Daten, leere Liste).\n        (function applyDeepLinkParams(){\n            try {\n                const p = new URLSearchParams(window.location.search);\n                const dateRe = \/^\\d{4}-\\d{2}-\\d{2}$\/;\n                const inEl  = document.getElementById('fcg-checkin');\n                const outEl = document.getElementById('fcg-checkout');\n                const ciP = p.get('checkin'), coP = p.get('checkout');\n                let hasDates = false;\n                if (ciP && coP && dateRe.test(ciP) && dateRe.test(coP)\n                    && new Date(coP+'T00:00:00') > new Date(ciP+'T00:00:00')) {\n                    inEl.value = ciP; outEl.value = coP;\n                    \/\/ flatpickr-Instanzen mitziehen (wegen altInput sichtbares Feld).\n                    \/\/ ferchergasse-booking-flatpickr.php exponiert window.fcgFlatpickr,\n                    \/\/ gesetzt erst bei DOMContentLoaded \u2014 daher ggf. kurz nachpollen.\n                    (function syncPickers(tries){\n                        if (window.fcgFlatpickr && window.fcgFlatpickr.checkin) {\n                            window.fcgFlatpickr.checkin.setDate(ciP, false);\n                            window.fcgFlatpickr.checkout.setDate(coP, false);\n                        } else if (tries < 25) {\n                            setTimeout(function(){ syncPickers(tries+1); }, 150);\n                        }\n                    })(0);\n                    hasDates = true;\n                }\n                const setSel = (id, val, min, max, fallback) => {\n                    const n = parseInt(val); const el = document.getElementById(id);\n                    if (el && !isNaN(n) && n >= min && n <= max) el.value = String(n);\n                    else if (el && fallback !== undefined) el.value = String(fallback);\n                };\n                let hasGuests = false;\n                if (p.has('adults'))      { setSel('fcg-adults', p.get('adults'), 1, 8); hasGuests = true; }\n                if (p.has('children415')) { setSel('fcg-children415', p.get('children415'), 0, 6); hasGuests = true; }\n                if (p.has('children03'))  { setSel('fcg-children03', p.get('children03'), 0, 4); hasGuests = true; }\n\n                if (hasDates || hasGuests) {\n                    \/\/ URL aufr\u00e4umen (Parameter raus), damit ein Reload nicht erneut\n                    \/\/ zwingend sucht und die Adresse sauber bleibt.\n                    if (window.history && window.history.replaceState) {\n                        window.history.replaceState({}, '', window.location.pathname);\n                    }\n                    if (hasDates) { searchAvailability(); return; }\n                }\n            } catch(e){ \/* Deep-Link ist optional \u2014 Fehler ignorieren *\/ }\n            renderApartments(null);\n        })();\n\n        \/\/ \u2500\u2500\u2500 All-in price helpers (analog Detail-Widget) \u2500\u2500\n        function getOrtstaxeForDate(dateStr){\n            const entries = SETTINGS.ortstaxe || [];\n            if (!entries.length) return { pct: 0, pct_display: 0 };\n            let pct = 0, pctDisplay = 0;\n            for (const e of entries) {\n                if (e.valid_from <= dateStr) {\n                    pct = parseFloat(e.pct) || 0;\n                    const disp = parseFloat(e.pct_display) || 0;\n                    pctDisplay = disp > 0 ? disp : pct;\n                } else break;\n            }\n            return { pct: pct, pct_display: pctDisplay };\n        }\n\n        \/\/ JS-Spiegel von fcg_get_longstay_discount() (PHP): Staffel ist aufsteigend\n        \/\/ nach min_nights sortiert, letzte erf\u00fcllte Stufe gewinnt, Vergleich >=\n        \/\/ (exakt 30 N\u00e4chte bekommen den \u201eab 30\"-Rabatt).\n        \/\/ SYNC-PUNKT: \u00c4nderungen auch in PHP + Buchungsseite + Detail-Widget\n        \/\/ nachziehen (Suchanker: longstay).\n        function getLongstayDiscount(roomId, nights){\n            const tiers = (SETTINGS.longstay && SETTINGS.longstay[roomId]) || [];\n            let best = { min_nights: 0, pct: 0 };\n            for (const t of tiers) {\n                if (nights >= t.min_nights) best = t;\n            }\n            return best;\n        }\n\n        function fmtPct(p){ return new Intl.NumberFormat(LOCALE, { maximumFractionDigits: 2 }).format(p); }\n\n        function calcExtras(checkin, nights, adults, ch415, roomPrice, roomId){\n            \/\/ Endreinigung: Erwachsene + Kinder 4-15 (Kleinkinder z\u00e4hlen NICHT)\n            const endreinigungPersons = adults + ch415;\n            \/\/ Endreinigungs-Modus (v1.3.0): 'flat' = Pauschale pro Aufenthalt | 'pp' = pro Person\n            const endreinigung = (SETTINGS.endreinigung_mode === 'flat')\n                ? SETTINGS.endreinigung_flat\n                : endreinigungPersons * SETTINGS.endreinigung_pp;\n            \/\/ Kinderpreis: Grundpreis deckt 1-2 Personen, Aufschlag nur \u00fcber Basis\n            const BASE_PERSONS = 2;\n            const freeSlots = Math.max(0, BASE_PERSONS - adults);\n            const billableChildren = Math.max(0, ch415 - freeSlots);\n            const childrenCost = billableChildren * SETTINGS.child_4_15_day * nights;\n            \/\/ Langzeitrabatt auf den Apartmentpreis (Raumpreis + Kinderaufschlag) \u2014\n            \/\/ NICHT auf Endreinigung\/Ortstaxe; die Ortstaxe rechnet auf dem\n            \/\/ rabattierten Preis (Bemessungsgrundlage sinkt mit).\n            const ls = getLongstayDiscount(roomId, nights);\n            const aptBase = roomPrice + childrenCost;\n            const lsAmount = (ls.pct > 0 && aptBase > 0) ? aptBase * ls.pct \/ 100 : 0;\n            \/\/ Ortstaxe auf Apartmentpreis (nach Langzeitrabatt) + Endreinigung\n            \/\/ \u2014 NICHT auf Garage\/Hund\/Babybett (kommen erst auf der Buchungsseite dazu)\n            \/\/ Berechnung mit pct (effektiver Satz); display-Wert (pct_display) wird in der Suche\n            \/\/ nicht angezeigt \u2014 nur Gesamtbetrag.\n            const ortstaxeBase = aptBase - lsAmount + endreinigung;\n            let ortstaxeTotal = 0;\n            let pctSum = 0; \/\/ Summe der Nacht-S\u00e4tze \u2014 f\u00fcr den Originalpreis (ohne Rabatt) unten\n            \/\/ Ortstaxe-Befreiung bei Langzeitaufenthalt (>= X N\u00e4chte, Setting):\n            \/\/ GESAMTER Aufenthalt befreit \u2014 Loop \u00fcberspringen (pctSum bleibt 0,\n            \/\/ dadurch ist auch der durchgestrichene Originalpreis ortstaxefrei).\n            const otExempt = SETTINGS.ortstaxe_exempt_nights > 0 && nights >= SETTINGS.ortstaxe_exempt_nights;\n            const ciDate = new Date(checkin + 'T00:00:00');\n            for (let i = 0; !otExempt && i < nights; i++) {\n                const d = new Date(ciDate);\n                d.setDate(d.getDate() + i);\n                const ds = d.getFullYear() + '-' + String(d.getMonth()+1).padStart(2,'0') + '-' + String(d.getDate()).padStart(2,'0');\n                const rates = getOrtstaxeForDate(ds);\n                pctSum += rates.pct;\n                ortstaxeTotal += (ortstaxeBase \/ nights) * rates.pct \/ 100;\n            }\n            const total = ortstaxeBase + ortstaxeTotal;\n            \/\/ Originalpreis (ohne Langzeitrabatt) f\u00fcr die durchgestrichene Anzeige \u2014\n            \/\/ Ortstaxe ist linear in der Basis, daher gen\u00fcgt dieselbe pctSum.\n            let originalTotal = total;\n            if (lsAmount > 0) {\n                const ob = aptBase + endreinigung;\n                originalTotal = ob + (ob \/ nights) * pctSum \/ 100;\n            }\n            return { total: total, originalTotal: originalTotal, lsPct: ls.pct };\n        }\n\n        \/\/ v1.3.4: Null-sicherer Zahlenwert eines Selects \u2014 fehlt das Element\n        \/\/ (Kinderauswahl ausgeblendet), ist die Antwort 0.\n        function fcgNum(id){ const el = document.getElementById(id); return el ? (parseInt(el.value)||0) : 0; }\n\n        async function searchAvailability(){\n            const btn = document.getElementById('fcg-search-btn');\n            const checkin = document.getElementById('fcg-checkin').value;\n            const checkout = document.getElementById('fcg-checkout').value;\n            const adults = parseInt(document.getElementById('fcg-adults').value)||1;\n            const ch415 = fcgNum('fcg-children415');\n            const ch03 = fcgNum('fcg-children03');\n            const guestCount = adults + ch415; \/\/ Kleinkinder z\u00e4hlen NICHT zu max_guests\n            if (!checkin||!checkout){ showStatus(T.select_dates,'error'); return; }\n            currentSearch = {checkin,checkout,adults,ch415,ch03,guestCount};\n            btn.disabled=true; btn.textContent=T.searching;\n            showStatus(T.checking,'loading');\n            renderSkeletons(3);\n            try {\n                const resp = await fetch(API_URL+'?action=availability',{\n                    method:'POST', headers:{'Content-Type':'application\/json'},\n                    body:JSON.stringify({checkin,checkout,adults}),\n                });\n                const data = await resp.json();\n                if (!data.success){ showStatus(data.error||T.query_failed,'error'); renderApartments(null); return; }\n                availabilityData = {};\n                (data.rooms||[]).forEach(r=>{ availabilityData[r.room_id]=r; });\n\n                \/\/ \u2500\u2500 min_stay detection: restriction + verification \u2500\u2500\n                \/\/ Step 1: Get min_stay restrictions for all rooms (1 API call)\n                const fitting = APARTMENTS.filter(a=>!a.max_guests||currentSearch.guestCount<=a.max_guests);\n                const unavailIds = fitting.filter(a=>{const r=availabilityData[a.room_id];return r&&!r.available;}).map(a=>a.room_id);\n                const searchedNights = Math.round((new Date(checkout+'T00:00:00') - new Date(checkin+'T00:00:00')) \/ 86400000);\n                let restrictionMap = {};\n\n                if (unavailIds.length > 0) {\n                    try {\n                        const resp2 = await fetch(API_URL+'?action=restriction',{\n                            method:'POST', headers:{'Content-Type':'application\/json'},\n                            body:JSON.stringify({checkin, checkout}),\n                        });\n                        const data2 = await resp2.json();\n                        if (data2.success && data2.rooms) {\n                            data2.rooms.forEach(r=>{ restrictionMap[r.room_id] = r.min_stay || 0; });\n                        }\n                    } catch(e2){}\n\n                    \/\/ Step 2: Find rooms where min_stay > searched nights (candidates for yellow)\n                    \/\/ Group by min_stay value for efficient batch verification\n                    const minStayGroups = {};\n                    unavailIds.forEach(rid=>{\n                        const ms = restrictionMap[rid] || 0;\n                        if (ms > searchedNights) {\n                            if (!minStayGroups[ms]) minStayGroups[ms] = [];\n                            minStayGroups[ms].push(rid);\n                        }\n                        \/\/ If ms <= searchedNights: min_stay is met but room still unavailable = genuinely booked (red)\n                    });\n\n                    \/\/ Step 3: Verify each group \u2014 are they bookable at their min_stay duration?\n                    \/\/ One availability call per unique min_stay value (typically 1-3 calls)\n                    for (const [ms, rids] of Object.entries(minStayGroups)) {\n                        try {\n                            const verifyCoDate = new Date(new Date(checkin+'T00:00:00'));\n                            verifyCoDate.setDate(verifyCoDate.getDate() + parseInt(ms));\n                            const verifyCo = fmtDate(verifyCoDate);\n                            const resp3 = await fetch(API_URL+'?action=availability',{\n                                method:'POST', headers:{'Content-Type':'application\/json'},\n                                body:JSON.stringify({checkin, checkout:verifyCo, adults}),\n                            });\n                            const data3 = await resp3.json();\n                            if (data3.success) {\n                                (data3.rooms||[]).forEach(r=>{\n                                    const rid = parseInt(r.room_id);\n                                    if (rids.includes(rid) && r.available) {\n                                        \/\/ Room IS bookable at min_stay duration \u2192 yellow (min_stay restriction)\n                                        availabilityData[rid].min_stay_restricted = true;\n                                        availabilityData[rid].exact_min_stay = parseInt(ms);\n                                    }\n                                    \/\/ If still unavailable at min_stay \u2192 stays red (genuinely booked)\n                                });\n                            }\n                        } catch(e3){}\n                    }\n                }\n\n                const ac = fitting.filter(a=>{const r=availabilityData[a.room_id];return r&&r.available;}).length;\n                const n = data.nights||1;\n                let guestParts = [];\n                guestParts.push(adults + ' ' + (adults===1?T.adult_singular:T.adults_plural));\n                if (ch415>0) guestParts.push(ch415 + ' ' + T.children_4_15);\n                if (ch03>0) guestParts.push(ch03 + ' ' + T.children_0_3);\n                let statusMsg = `<strong>${ac}<\/strong> ${T.of} ${fitting.length} ${T.apartments_available} \u00b7 ${n} ${n===1?T.night_singular:T.night_plural} \u00b7 ${guestParts.join(', ')}`;\n                showStatus(statusMsg,'info');\n                renderApartments(availabilityData);\n            } catch(e){ showStatus(T.connection_error+': '+e.message,'error'); }\n            finally { btn.disabled=false; btn.textContent=T.search_btn; }\n        }\n\n        function renderApartments(avail){\n            const container = document.getElementById('fcg-apartments');\n            const adults = parseInt(document.getElementById('fcg-adults').value)||1;\n            const ch415 = fcgNum('fcg-children415');\n            const ch03 = fcgNum('fcg-children03');\n            const guests = adults + ch415; \/\/ Kleinkinder z\u00e4hlen NICHT\n            let sorted = [...APARTMENTS];\n            if (avail) sorted.sort((a,b)=>{\n                const aR=avail[a.room_id], bR=avail[b.room_id];\n                const aA=aR&&aR.available, bA=bR&&bR.available;\n                const aM=aR&&aR.min_stay_restricted, bM=bR&&bR.min_stay_restricted;\n                \/\/ Priority: available > min_stay > unavailable\n                const aScore=aA?0:(aM?1:2), bScore=bA?0:(bM?1:2);\n                if(aScore!==bScore) return aScore-bScore;\n                if(aA&&bA) return (aR.total_price||0)-(bR.total_price||0);\n                return a.title.localeCompare(b.title);\n            });\n            let html='';\n            sorted.forEach(apt=>{\n                const ra=avail?avail[apt.room_id]:null;\n                const isA=ra?ra.available:null, hs=avail!==null;\n                const ts=apt.max_guests>0&&guests>apt.max_guests;\n                \/\/ Hide apartments that can't accommodate the guest count\n                if(hs&&ts) return;\n                let cc='fcg-apt-card';\n                if(hs&&isA===false&&!ra?.min_stay_restricted) cc+=' fcg-apt-unavailable';\n                if(hs&&isA===false&&ra?.min_stay_restricted) cc+=' fcg-apt-minstay';\n                if(hs&&isA===true) cc+=' fcg-apt-available';\n                if(hs&&ts&&isA) cc+=' fcg-apt-toosmall';\n                html+=`<div class=\"${cc}\" data-room-id=\"${apt.room_id}\">`;\n                html+=`<div class=\"fcg-apt-image\">${apt.thumbnail?`<img decoding=\"async\" src=\"${esc(apt.thumbnail)}\" alt=\"${esc(apt.title)}\" loading=\"lazy\">`:`<div class=\"fcg-apt-noimage\">\ud83c\udfe0<\/div>`}<\/div>`;\n                html+=`<div class=\"fcg-apt-info\">`;\n                html+=`<a href=\"${esc(apt.permalink)}\" class=\"fcg-apt-name\">${esc(apt.title)}<\/a>`;\n                html+=`<div class=\"fcg-apt-details\">`;\n                if(apt.size) html+=`<span class=\"fcg-apt-detail\">\ud83d\udcd0 ${esc(String(apt.size))} ${T.sqm}<\/span>`;\n                if(apt.max_guests) html+=`<span class=\"fcg-apt-detail\">\ud83d\udc64 ${T.max_prefix} ${apt.max_guests} ${T.guests_plural}<\/span>`;\n                html+=`<\/div>`;\n                if(apt.amenities){\n                    const list = Array.isArray(apt.amenities)?apt.amenities:(typeof apt.amenities==='string'&&apt.amenities?apt.amenities.split(','):[]);\n                    if(list.length){\n                        html+=`<div class=\"fcg-apt-amenities\">`;\n                        list.forEach(a=>{const l=typeof a==='object'?(a.label||a.value||a):a; html+=`<span class=\"fcg-amenity\">${esc(String(l).trim())}<\/span>`;});\n                        html+=`<\/div>`;\n                    }\n                }\n                html+=`<\/div>`;\n                if(apt.description) html+=`<div class=\"fcg-apt-desc\"><p>${esc(apt.description)}<\/p><\/div>`;\n                html+=`<div class=\"fcg-apt-action\">`;\n                if(hs&&isA){\n                    html+=ts?`<div class=\"fcg-apt-badge fcg-badge-warn\">${T.max_prefix} ${apt.max_guests} ${T.guests_plural}<\/div>`:`<div class=\"fcg-apt-badge fcg-badge-available\">${T.available}<\/div>`;\n                    if(ra.total_price!==null){\n                        const n=ra.nights||1;\n                        const extras = calcExtras(currentSearch.checkin, n, currentSearch.adults, currentSearch.ch415, ra.total_price, apt.room_id);\n                        const allInTotal = extras.total;\n                        \/\/ Per-Nacht-Preis = All-in geteilt durch N\u00e4chte (inkl. Endreinigung + Ortstaxe + Kinderaufschlag)\n                        const perNight = allInTotal \/ n;\n                        html+=`<div class=\"fcg-apt-nights\">${n} ${n===1?T.night_singular:T.night_plural}<\/div>`;\n                        \/\/ Langzeitrabatt: Badge + durchgestrichener Originalpreis \u00fcber dem\n                        \/\/ rabattierten All-in-Preis (der Preis unten ist bereits reduziert).\n                        if(extras.lsPct>0){\n                            html+=`<div class=\"fcg-apt-longstay\">\u2212${fmtPct(extras.lsPct)}% ${T.longstay_badge}<\/div>`;\n                            html+=`<div class=\"fcg-apt-oldprice\">\u20ac ${fmt(extras.originalTotal)}<\/div>`;\n                        }\n                        html+=`<div class=\"fcg-apt-price\">\u20ac ${fmt(allInTotal)}<\/div>`;\n                        html+=`<div class=\"fcg-apt-pernight\">${T.inkl} ${T.endreinigung} &amp; ${T.ortstaxe}<\/div>`;\n                        html+=`<div class=\"fcg-apt-roomrate\">\u20ac ${fmt(perNight)} ${T.per_night}<\/div>`;\n                    }\n                    if(!ts) html+=`<a href=\"${BOOK_URL}?apt=${apt.room_id}&checkin=${currentSearch.checkin}&checkout=${currentSearch.checkout}&guests=${currentSearch.adults}&ch415=${currentSearch.ch415||0}&ch03=${currentSearch.ch03||0}\" class=\"fcg-btn fcg-btn-select\">${T.book_btn}<\/a>`;\n                    html+=`<a href=\"${esc(apt.permalink)}\" class=\"fcg-apt-detaillink\" target=\"_blank\">${T.details_btn}<\/a>`;\n                } else if(hs&&!isA&&ra?.min_stay_restricted){\n                    const ms = ra.exact_min_stay;\n                    const searchedNights = currentSearch.checkin && currentSearch.checkout ?\n                        Math.round((new Date(currentSearch.checkout+'T00:00:00') - new Date(currentSearch.checkin+'T00:00:00')) \/ 86400000) : 0;\n                    html+=`<div class=\"fcg-apt-badge fcg-badge-minstay\">${T.minstay_text}<\/div>`;\n                    \/\/ Only show exact number if it's actually higher than searched nights\n                    html+=`<div class=\"fcg-apt-minstay-text\">${(ms && ms > searchedNights) ? T.minstay_exact.replace('%d', ms) : T.minstay_hint}<\/div>`;\n                    html+=`<a href=\"${esc(apt.permalink)}\" class=\"fcg-apt-detaillink\" target=\"_blank\">${T.details_btn}<\/a>`;\n                } else if(hs&&!isA){\n                    html+=`<div class=\"fcg-apt-badge fcg-badge-unavailable\">${T.unavailable}<\/div>`;\n                    html+=`<div class=\"fcg-apt-unavail-text\">${T.unavail_text}<\/div>`;\n                    html+=`<a href=\"${esc(apt.permalink)}\" class=\"fcg-apt-detaillink\" target=\"_blank\">${T.details_btn}<\/a>`;\n                } else {\n                    html+=`<a href=\"${esc(apt.permalink)}\" class=\"fcg-btn fcg-btn-detail\" target=\"_blank\">${T.details_btn}<\/a>`;\n                }\n                html+=`<\/div><\/div>`;\n            });\n            container.innerHTML=html;\n        }\n\n        function fmtDate(d){const y=d.getFullYear(),m=String(d.getMonth()+1).padStart(2,'0'),day=String(d.getDate()).padStart(2,'0');return `${y}-${m}-${day}`;}\n        function fmtLocale(s){return new Date(s+'T00:00:00').toLocaleDateString(LOCALE,{day:'2-digit',month:'2-digit',year:'numeric'});}\n        function esc(s){const e=document.createElement('span');e.textContent=String(s);return e.innerHTML;}\n        function fmt(n){return new Intl.NumberFormat(LOCALE,{minimumFractionDigits:2,maximumFractionDigits:2}).format(n);}\n        function showStatus(msg,type){\n            const el=document.getElementById('fcg-status');\n            el.className='fcg-status fcg-status-'+type;\n            if (type === 'loading') {\n                const sub = T.querying_apts.replace('%d', APARTMENTS.length);\n                el.innerHTML = '<span class=\"fcg-spinner\"><\/span><span class=\"fcg-loading-txt\"><b>'+msg+'<\/b><small>'+sub+'<\/small><\/span>';\n            } else {\n                el.innerHTML = msg;\n            }\n            el.classList.remove('fcg-hidden');\n        }\n        function renderSkeletons(n){\n            const container = document.getElementById('fcg-apartments');\n            let html = '';\n            for (let i = 0; i < n; i++) {\n                const delay = (i * 0.15).toFixed(2);\n                html += '<div class=\"fcg-skel-card\" style=\"animation-delay:'+delay+'s\">'\n                      + '<div class=\"fcg-skel-img\"><\/div>'\n                      + '<div class=\"fcg-skel-body\"><div class=\"fcg-skel-line short\"><\/div><div class=\"fcg-skel-line long\"><\/div><div class=\"fcg-skel-line med\"><\/div><\/div>'\n                      + '<div class=\"fcg-skel-action\"><div class=\"fcg-skel-pill\"><\/div><div class=\"fcg-skel-price\"><\/div><div class=\"fcg-skel-btn\"><\/div><\/div>'\n                      + '<\/div>';\n            }\n            container.innerHTML = html;\n        }\n    })();\n    <\/script>\n    \n<\/div><div class=\"fusion-text fusion-text-3 fusion-no-small-visibility\"><div style=\"height: 28vh;\"><\/div>\n<\/div><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":4155,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-131","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.1 (Yoast SEO v28.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Overview of All Accommodations - Pissouri Bay Vacation<\/title>\n<meta name=\"description\" content=\"All of our accommodations at a glance. You can choose between two apartments with a view and a private house with a pool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Our Accommodations\" \/>\n<meta property=\"og:description\" content=\"All of our accommodations at a glance. You can choose between two apartments with a view and a private house with a pool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/\" \/>\n<meta property=\"og:site_name\" content=\"Pissouri Bay Vacation\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Appartements.Ferchergasse\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-01T08:41:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pissouri-bay-vacation.com\/wp-content\/uploads\/2024\/04\/Logo-rund-mit-Text.png\" \/>\n\t<meta property=\"og:image:width\" content=\"6250\" \/>\n\t<meta property=\"og:image:height\" content=\"6250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/\",\"url\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/\",\"name\":\"Overview of All Accommodations - Pissouri Bay Vacation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/Logo-rund-mit-Text.png\",\"datePublished\":\"2021-11-21T11:39:17+00:00\",\"dateModified\":\"2026-08-01T08:41:10+00:00\",\"description\":\"All of our accommodations at a glance. You can choose between two apartments with a view and a private house with a pool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/Logo-rund-mit-Text.png\",\"contentUrl\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/Logo-rund-mit-Text.png\",\"width\":6250,\"height\":6250,\"caption\":\"Pissouri Bay Vacation Logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/accommodations\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Our Accommodations\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/\",\"name\":\"Pissouri Bay Vacation\",\"description\":\"Zypern\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/#organization\",\"name\":\"The Ranks GmbH\",\"url\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo-ferchergasse_c_w220_h70.png\",\"contentUrl\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo-ferchergasse_c_w220_h70.png\",\"width\":220,\"height\":70,\"caption\":\"The Ranks GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pissouri-bay-vacation.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Appartements.Ferchergasse\",\"https:\\\/\\\/www.instagram.com\\\/appartements_ferchergasse\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Overview of All Accommodations - Pissouri Bay Vacation","description":"All of our accommodations at a glance. You can choose between two apartments with a view and a private house with a pool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/","og_locale":"en_US","og_type":"article","og_title":"Our Accommodations","og_description":"All of our accommodations at a glance. You can choose between two apartments with a view and a private house with a pool.","og_url":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/","og_site_name":"Pissouri Bay Vacation","article_publisher":"https:\/\/www.facebook.com\/Appartements.Ferchergasse","article_modified_time":"2026-08-01T08:41:10+00:00","og_image":[{"width":6250,"height":6250,"url":"https:\/\/www.pissouri-bay-vacation.com\/wp-content\/uploads\/2024\/04\/Logo-rund-mit-Text.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/","url":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/","name":"Overview of All Accommodations - Pissouri Bay Vacation","isPartOf":{"@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/#primaryimage"},"image":{"@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pissouri-bay-vacation.com\/wp-content\/uploads\/2024\/04\/Logo-rund-mit-Text.png","datePublished":"2021-11-21T11:39:17+00:00","dateModified":"2026-08-01T08:41:10+00:00","description":"All of our accommodations at a glance. You can choose between two apartments with a view and a private house with a pool.","breadcrumb":{"@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/#primaryimage","url":"https:\/\/www.pissouri-bay-vacation.com\/wp-content\/uploads\/2024\/04\/Logo-rund-mit-Text.png","contentUrl":"https:\/\/www.pissouri-bay-vacation.com\/wp-content\/uploads\/2024\/04\/Logo-rund-mit-Text.png","width":6250,"height":6250,"caption":"Pissouri Bay Vacation Logo"},{"@type":"BreadcrumbList","@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/accommodations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.pissouri-bay-vacation.com\/en\/"},{"@type":"ListItem","position":2,"name":"Our Accommodations"}]},{"@type":"WebSite","@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/#website","url":"https:\/\/www.pissouri-bay-vacation.com\/en\/","name":"Pissouri Bay Vacation","description":"Zypern","publisher":{"@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pissouri-bay-vacation.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/#organization","name":"The Ranks GmbH","url":"https:\/\/www.pissouri-bay-vacation.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.pissouri-bay-vacation.com\/wp-content\/uploads\/2021\/11\/logo-ferchergasse_c_w220_h70.png","contentUrl":"https:\/\/www.pissouri-bay-vacation.com\/wp-content\/uploads\/2021\/11\/logo-ferchergasse_c_w220_h70.png","width":220,"height":70,"caption":"The Ranks GmbH"},"image":{"@id":"https:\/\/www.pissouri-bay-vacation.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Appartements.Ferchergasse","https:\/\/www.instagram.com\/appartements_ferchergasse\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.pissouri-bay-vacation.com\/en\/wp-json\/wp\/v2\/pages\/131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pissouri-bay-vacation.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.pissouri-bay-vacation.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.pissouri-bay-vacation.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pissouri-bay-vacation.com\/en\/wp-json\/wp\/v2\/comments?post=131"}],"version-history":[{"count":40,"href":"https:\/\/www.pissouri-bay-vacation.com\/en\/wp-json\/wp\/v2\/pages\/131\/revisions"}],"predecessor-version":[{"id":4879,"href":"https:\/\/www.pissouri-bay-vacation.com\/en\/wp-json\/wp\/v2\/pages\/131\/revisions\/4879"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pissouri-bay-vacation.com\/en\/wp-json\/wp\/v2\/media\/4155"}],"wp:attachment":[{"href":"https:\/\/www.pissouri-bay-vacation.com\/en\/wp-json\/wp\/v2\/media?parent=131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}