{"id":131,"date":"2021-11-21T12:39:17","date_gmt":"2021-11-21T11:39:17","guid":{"rendered":"https:\/\/rank.intensifiedperceptions.com\/apartments\/"},"modified":"2026-05-29T14:34:52","modified_gmt":"2026-05-29T12:34:52","slug":"apartments","status":"publish","type":"page","link":"https:\/\/www.rank.at\/en\/apartments\/","title":{"rendered":"Apartments"},"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\">    <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\">Adults<\/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-small\">\n                    <label for=\"fcg-children415\">Children 4-15<\/label>\n                    <select id=\"fcg-children415\">\n                                                    <option value=\"0\">0<\/option>\n                                                    <option value=\"1\">1<\/option>\n                                                    <option value=\"2\">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                                            <\/select>\n                <\/div>\n                <div class=\"fcg-filter-group fcg-filter-small\">\n                    <label for=\"fcg-children03\">Toddler 0-3<\/label>\n                    <select id=\"fcg-children03\">\n                                                    <option value=\"0\">0<\/option>\n                                                    <option value=\"1\">1<\/option>\n                                                    <option value=\"2\">2<\/option>\n                                                    <option value=\"3\">3<\/option>\n                                                    <option value=\"4\">4<\/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.rank.at\/sabee-api.php';\n        const BOOK_URL = '\/en\/book\/';\n        const APARTMENTS = [{\"post_id\":5518,\"room_id\":79,\"title\":\"Apartment 1\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-1\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/ferchergasse_1_georgeye_web-2-768x513.jpg\",\"size\":\"50\",\"max_guests\":4,\"max_kleinkinder\":2,\"amenities\":[\"Roof terrace\",\"Air conditioning\",\"Smart-TV\",\"Free WiFi\"],\"description\":\"Bright top-floor apartment with a separate bedroom and a private roof terrace overlooking the green inner courtyard. Ideal for up to 4 guests who would like to stay comfortably in Vienna and enjoy some extra outdoor space. \"},{\"post_id\":5519,\"room_id\":83,\"title\":\"Apartment 2\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-2\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/ferchergasse_2_web_georgeye-5-von-67-768x513.jpg\",\"size\":\"40\",\"max_guests\":2,\"max_kleinkinder\":2,\"amenities\":[\"Roof terrace\",\"Air conditioning\",\"Smart-TV\",\"Free WiFi\"],\"description\":\"Welcoming top-floor apartment with a separate bedroom and a lovely roof terrace facing the quiet inner courtyard. Ideal for up to 3 guests who would like to stay in Vienna in a relaxed setting and appreciate an outdoor area. \"},{\"post_id\":5520,\"room_id\":85,\"title\":\"Apartment 3\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-3\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/ferchergasse_3_georgeye_web-1-768x513.jpg\",\"size\":\"40\",\"max_guests\":3,\"max_kleinkinder\":2,\"amenities\":[\"Air conditioning\",\"Smart-TV\",\"Free WiFi\"],\"description\":\"Fully equipped top-floor apartment with a separate bedroom and a bright, practical layout. Ideal for up to 3 guests who want to stay comfortably in Vienna without complications. \"},{\"post_id\":5521,\"room_id\":87,\"title\":\"Apartment 4\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-4\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/rank2022_DG-Top4_georgeye-2_1920-768x512.jpg\",\"size\":\"30\",\"max_guests\":2,\"max_kleinkinder\":2,\"amenities\":[\"Air conditioning\",\"Smart-TV\",\"Free WiFi\"],\"description\":\"Small, bright studio on the top floor with a fully equipped kitchen and a pleasant living atmosphere. Ideal for up to 2 guests seeking a compact, cozy stay in Vienna. \"},{\"post_id\":5522,\"room_id\":89,\"title\":\"Apartment 5\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-5\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/ferchergasse_5_print_georgeye-3-768x513.jpg\",\"size\":\"30\",\"max_guests\":2,\"max_kleinkinder\":2,\"amenities\":[\"Smart-TV\",\"Free WiFi\"],\"description\":\"Colorful apartment with a separate bedroom as well as a separate kitchen and bathroom, laid out efficiently across 30 m\u00b2. Ideal for 1 to 2 guests who would like to stay in Vienna in a practical and pleasant way. \"},{\"post_id\":5523,\"room_id\":91,\"title\":\"Apartment 6\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-6\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/ferchergasse_6_print_georgeye-7-768x513.jpg\",\"size\":\"40\",\"max_guests\":2,\"max_kleinkinder\":2,\"amenities\":[\"Smart-TV\",\"Free WiFi\"],\"description\":\"Bright apartment on the second floor with a clear layout and separate bedroom. Ideal for up to 2 people who want to live quietly and comfortably in Vienna. \"},{\"post_id\":5524,\"room_id\":93,\"title\":\"Apartment 7\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-7\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/ferchergasse_7_print_georgeye-14-768x513.jpg\",\"size\":\"50\",\"max_guests\":4,\"max_kleinkinder\":2,\"amenities\":[\"2 Bedrooms\",\"Smart-TV\",\"Free WiFi\"],\"description\":\"Practical vacation apartment with two separate bedrooms and space for up to 4 people. Ideal for families or friends who want to travel together and still enjoy sufficient privacy. \"},{\"post_id\":5525,\"room_id\":95,\"title\":\"Apartment 8\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-8\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/rank2022_Top8_georgeye-2_1920-768x512.jpg\",\"size\":\"50\",\"max_guests\":4,\"max_kleinkinder\":2,\"amenities\":[\"Smart-TV\",\"Free WiFi\"],\"description\":\"Stylish apartment with a separate bedroom, a fully equipped kitchen, and a view of the green inner courtyard. Ideal for up to 4 people seeking to combine living comfort with a pleasant atmosphere in Vienna. \"},{\"post_id\":5526,\"room_id\":1592,\"title\":\"Apartment 9\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartement-9\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/ferchergasse_ap9_georgeye-3-768x513.jpg\",\"size\":\"110\",\"max_guests\":8,\"max_kleinkinder\":4,\"amenities\":[\"Garden terrace\",\"2 Bedrooms\",\"2 Bathrooms\",\"Smart-TV\",\"Free WiFi\"],\"description\":\"Spacious apartment with 110 m\u00b2, garden, and plenty of space for up to 8 people. Ideal for larger families or groups who want to live comfortably together in Vienna. \"},{\"post_id\":5531,\"room_id\":21043,\"title\":\"Apartment F21\\\/17\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-f21-17\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/rank2019_nr1_georgeye-1-768x512.jpg\",\"size\":\"60\",\"max_guests\":3,\"max_kleinkinder\":2,\"amenities\":[\"Long-Stay\",\"Free WiFi\"],\"description\":\"Cozy apartment with one bedroom, a separate living room, and a fully equipped kitchen. Ideal for up to 3 guests seeking a little more space and comfort in Vienna. \"},{\"post_id\":5532,\"room_id\":71,\"title\":\"Apartment F21\\\/18\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-f21-18\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Rank-Ferchergasse-Refresh_Apartment-4_Top18-26-768x512.jpg\",\"size\":\"78\",\"max_guests\":5,\"max_kleinkinder\":2,\"amenities\":[\"2 Bedrooms\",\"Long-Stay\",\"Free WiFi\"],\"description\":\"Large apartment with two bedrooms, a separate living room, and plenty of space for up to 5 guests. Ideal for families or groups who would like to stay together in Vienna in comfort. \"},{\"post_id\":5530,\"room_id\":73,\"title\":\"Apartment F21\\\/7\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-f21-7\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/rank2020refresh_f21_7_georgeye-5-768x512.jpg\",\"size\":\"78\",\"max_guests\":5,\"max_kleinkinder\":2,\"amenities\":[\"Balcony\",\"2 Bedrooms\",\"Long-Stay\",\"Free WiFi\"],\"description\":\"Spacious apartment with two bedrooms, a separate living room, and a balcony for up to 5 guests. Ideal for families or larger groups seeking ample space and comfort in Vienna. \"},{\"post_id\":5529,\"room_id\":75,\"title\":\"Apartment H03\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-h03\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Rank-Ferchergasse-Refresh_Apartment-3-1-768x512.jpg\",\"size\":\"40\",\"max_guests\":2,\"max_kleinkinder\":2,\"amenities\":[\"Garden terrace\",\"Free WiFi\"],\"description\":\"Cozy studio in a quiet location with its own small garden and terrace. Ideal for 1 to 2 people who want to live in the heart of Vienna while still enjoying a green retreat. \"},{\"post_id\":5527,\"room_id\":77,\"title\":\"Apartment R02\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-r02\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Rank-Ferchergasse-Refresh_Apartment-1-3-768x512.jpg\",\"size\":\"40\",\"max_guests\":2,\"max_kleinkinder\":2,\"amenities\":[\"Garden terrace\",\"Free WiFi\"],\"description\":\"Quiet studio with a private garden and terrace for relaxing days in Vienna. Ideal for 1 to 2 guests who do not want to miss having their own outdoor space while staying in the city. \"},{\"post_id\":5528,\"room_id\":81,\"title\":\"Apartment R26\",\"permalink\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/apartment-r26\\\/\",\"thumbnail\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Rank-Ferchergasse-Refresh_Apartment-2-3-768x512.jpg\",\"size\":\"40\",\"max_guests\":2,\"max_kleinkinder\":2,\"amenities\":[\"Balcony\",\"Free WiFi\"],\"description\":\"Bright studio with a balcony and views of the green inner courtyard. Ideal for 1 to 2 guests who would like to stay in Vienna in a quiet yet well-connected location. \"}];\n        const LOCALE = 'en-GB';\n        const T = {\"checkin\":\"Check-in\",\"checkout\":\"Check-out\",\"guests\":\"Guests\",\"adults\":\"Adults\",\"adult_singular\":\"Adult\",\"adults_plural\":\"Adults\",\"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.\",\"endreinigung\":\"Final cleaning\",\"ortstaxe\":\"City 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: 25,\n            child_4_15_day:  15,\n            ortstaxe:        [{\"pct\":2.5891000000000001790567694115452468395233154296875,\"pct_display\":3.20000000000000017763568394002504646778106689453125,\"valid_from\":\"2020-01-01\"},{\"pct\":4.34780000000000033111291486420668661594390869140625,\"pct_display\":5,\"valid_from\":\"2026-07-01\"},{\"pct\":6.7797000000000000596855898038484156131744384765625,\"pct_display\":8,\"valid_from\":\"2027-07-01\"}]        };\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        function calcExtras(checkin, nights, adults, ch415, roomPrice){\n            \/\/ Endreinigung: Erwachsene + Kinder 4-15 (Kleinkinder z\u00e4hlen NICHT)\n            const endreinigungPersons = adults + ch415;\n            const endreinigung = 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            \/\/ Ortstaxe auf Apartmentpreis (Raumpreis + Kinderaufschlag) + 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 = roomPrice + childrenCost + endreinigung;\n            let ortstaxeTotal = 0;\n            const ciDate = new Date(checkin + 'T00:00:00');\n            for (let i = 0; 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                ortstaxeTotal += (ortstaxeBase \/ nights) * rates.pct \/ 100;\n            }\n            return { total: ortstaxeBase + ortstaxeTotal };\n        }\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 = parseInt(document.getElementById('fcg-children415').value)||0;\n            const ch03 = parseInt(document.getElementById('fcg-children03').value)||0;\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 = parseInt(document.getElementById('fcg-children415').value)||0;\n            const ch03 = parseInt(document.getElementById('fcg-children03').value)||0;\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);\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                        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><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":1648,"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 v27.7 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Overview of all apartments - Appartements Ferchergasse<\/title>\n<meta name=\"description\" content=\"All our apartments at a glance. You have a full choice of 15 different accommodations in Vienna Hernals.\" \/>\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.rank.at\/en\/apartments\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apartments\" \/>\n<meta property=\"og:description\" content=\"All our apartments at a glance. You have a full choice of 15 different accommodations in Vienna Hernals.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rank.at\/en\/apartments\/\" \/>\n<meta property=\"og:site_name\" content=\"Appartements Ferchergasse\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Appartements.Ferchergasse\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-29T12:34:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.rank.at\/wp-content\/uploads\/2022\/04\/ferchergasse_1_georgeye_web-2-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1708\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/\",\"url\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/\",\"name\":\"Overview of all apartments - Appartements Ferchergasse\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/ferchergasse_1_georgeye_web-2-scaled.jpg\",\"datePublished\":\"2021-11-21T11:39:17+00:00\",\"dateModified\":\"2026-05-29T12:34:52+00:00\",\"description\":\"All our apartments at a glance. You have a full choice of 15 different accommodations in Vienna Hernals.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/ferchergasse_1_georgeye_web-2-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/ferchergasse_1_georgeye_web-2-scaled.jpg\",\"width\":2560,\"height\":1708,\"caption\":\"Apartment 1 in Vienna Hernals with living room and terrace\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/apartments\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.rank.at\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apartments\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.rank.at\\\/en\\\/\",\"name\":\"Appartements Ferchergasse\",\"description\":\"Ferienwohnungen in Wien\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.rank.at\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/#organization\",\"name\":\"The Ranks GmbH\",\"url\":\"https:\\\/\\\/www.rank.at\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rank.at\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo-ferchergasse_c_w220_h70.png\",\"contentUrl\":\"https:\\\/\\\/www.rank.at\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo-ferchergasse_c_w220_h70.png\",\"width\":220,\"height\":70,\"caption\":\"The Ranks GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rank.at\\\/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 apartments - Appartements Ferchergasse","description":"All our apartments at a glance. You have a full choice of 15 different accommodations in Vienna Hernals.","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.rank.at\/en\/apartments\/","og_locale":"en_US","og_type":"article","og_title":"Apartments","og_description":"All our apartments at a glance. You have a full choice of 15 different accommodations in Vienna Hernals.","og_url":"https:\/\/www.rank.at\/en\/apartments\/","og_site_name":"Appartements Ferchergasse","article_publisher":"https:\/\/www.facebook.com\/Appartements.Ferchergasse","article_modified_time":"2026-05-29T12:34:52+00:00","og_image":[{"width":2560,"height":1708,"url":"https:\/\/www.rank.at\/wp-content\/uploads\/2022\/04\/ferchergasse_1_georgeye_web-2-scaled.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.rank.at\/en\/apartments\/","url":"https:\/\/www.rank.at\/en\/apartments\/","name":"Overview of all apartments - Appartements Ferchergasse","isPartOf":{"@id":"https:\/\/www.rank.at\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.rank.at\/en\/apartments\/#primaryimage"},"image":{"@id":"https:\/\/www.rank.at\/en\/apartments\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rank.at\/wp-content\/uploads\/2022\/04\/ferchergasse_1_georgeye_web-2-scaled.jpg","datePublished":"2021-11-21T11:39:17+00:00","dateModified":"2026-05-29T12:34:52+00:00","description":"All our apartments at a glance. You have a full choice of 15 different accommodations in Vienna Hernals.","breadcrumb":{"@id":"https:\/\/www.rank.at\/en\/apartments\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rank.at\/en\/apartments\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rank.at\/en\/apartments\/#primaryimage","url":"https:\/\/www.rank.at\/wp-content\/uploads\/2022\/04\/ferchergasse_1_georgeye_web-2-scaled.jpg","contentUrl":"https:\/\/www.rank.at\/wp-content\/uploads\/2022\/04\/ferchergasse_1_georgeye_web-2-scaled.jpg","width":2560,"height":1708,"caption":"Apartment 1 in Vienna Hernals with living room and terrace"},{"@type":"BreadcrumbList","@id":"https:\/\/www.rank.at\/en\/apartments\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.rank.at\/en\/"},{"@type":"ListItem","position":2,"name":"Apartments"}]},{"@type":"WebSite","@id":"https:\/\/www.rank.at\/en\/#website","url":"https:\/\/www.rank.at\/en\/","name":"Appartements Ferchergasse","description":"Ferienwohnungen in Wien","publisher":{"@id":"https:\/\/www.rank.at\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rank.at\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.rank.at\/en\/#organization","name":"The Ranks GmbH","url":"https:\/\/www.rank.at\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rank.at\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.rank.at\/wp-content\/uploads\/2021\/11\/logo-ferchergasse_c_w220_h70.png","contentUrl":"https:\/\/www.rank.at\/wp-content\/uploads\/2021\/11\/logo-ferchergasse_c_w220_h70.png","width":220,"height":70,"caption":"The Ranks GmbH"},"image":{"@id":"https:\/\/www.rank.at\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Appartements.Ferchergasse","https:\/\/www.instagram.com\/appartements_ferchergasse\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.rank.at\/en\/wp-json\/wp\/v2\/pages\/131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rank.at\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.rank.at\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.rank.at\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rank.at\/en\/wp-json\/wp\/v2\/comments?post=131"}],"version-history":[{"count":24,"href":"https:\/\/www.rank.at\/en\/wp-json\/wp\/v2\/pages\/131\/revisions"}],"predecessor-version":[{"id":5696,"href":"https:\/\/www.rank.at\/en\/wp-json\/wp\/v2\/pages\/131\/revisions\/5696"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rank.at\/en\/wp-json\/wp\/v2\/media\/1648"}],"wp:attachment":[{"href":"https:\/\/www.rank.at\/en\/wp-json\/wp\/v2\/media?parent=131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}