{"id":28629,"date":"2025-07-22T08:17:38","date_gmt":"2025-07-22T08:17:38","guid":{"rendered":"https:\/\/www.visitvirginiabeach.com\/loonie-savers\/"},"modified":"2026-09-11T19:47:04","modified_gmt":"2026-09-11T19:47:04","slug":"loonie-savers","status":"publish","type":"page","link":"https:\/\/www.visitvirginiabeach.com\/de\/loonie-savers\/","title":{"rendered":"Loonie Savers"},"content":{"rendered":"\n<section class=\"image-heading\" arialabelledby=\"Image Header\"><div class=\"fold-wrap xl video-wrap\"><div class=\"image-container\"><img decoding=\"async\" src=\"https:\/\/www.visitvirginiabeach.com\/wp-content\/uploads\/2025\/07\/PH_LSR22_First-Landing-State-Park-Family-compressed-10-scaled.jpg\" alt=\"A family walks hand-in-hand along a wooded trail in First Landing State park, with a woman in a flowing skirt, a man in a light shirt, and a girl in a white dress.\" width=\"1920\" height=\"1080\" fetchpriority=\"high\"\/><div class=\"overlay-content\"><h1 class=\"extra\">Loonie Savers Promotion Virginia Beach<\/h1><\/div><\/div><\/div><div class=\"after-overlay-content page-content-wrap fold-wrap md padded\"><p>Nur eine Tagesfahrt von Quebec entfernt, hat Virginia Beach mit lokalen Hotels, Restaurants und Ausr\u00fcstern zusammengearbeitet, um Kanadiern zus\u00e4tzlichen Spa\u00df f\u00fcr weniger Loonies zu bieten. Mit Rabatten auf Unterk\u00fcnfte, Unterhaltung und Gastronomie gibt es vier Jahreszeiten voller Vergn\u00fcgen, die Sie genie\u00dfen k\u00f6nnen, ohne Ihr Budget zu sprengen. Um diese Sonderangebote zu nutzen, laden Sie die Angebote einfach direkt von unserer Website herunter oder sehen Sie sich das Angebot online an und legen Sie die digitale Version pers\u00f6nlich im Gesch\u00e4ft vor \u2013 den Rest erledigt das Gesch\u00e4ft f\u00fcr Sie. Die G\u00fcltigkeitsdaten wurden von jedem Unternehmen festgelegt; bitte lesen Sie die spezifischen Angebotsdetails.   <\/p><\/div><\/section>\n<link rel=\"stylesheet\" type=\"text\/css\" href=\"https:\/\/explore.visitvirginiabeach.com\/css\/checkout\/persistent-cart\/persistentCart.css?v=1.1\"><script>window.bwvars = {offerId: 3528, partnerId: 344, checkoutUrl: \"https:\/\/explore.visitvirginiabeach.com\"};<\/script><script src=\"https:\/\/explore.visitvirginiabeach.com\/js\/checkout\/persistent-cart\/persistentCart.js?v=1.1\" defer><\/script><br \/>\n<div class=\"bwmodule\" data-bwmoduleid=\"101098\"><\/div>\n<div class=\"bwmodule\" data-bwmoduleid=\"75610\"><\/div>\n<section class=\"listings bg-white\" data-wp-interactive=\"listingsGrid\"\n        data-wp-context='listingsGrid::{\"filters\":{\"amenity\":[],\"city\":[],\"category\":[],\"regions\":[]},\"activeSortingAZ\":\"random\",\"azChecked\":false,\"zaChecked\":false,\"randomChecked\":true,\"newestChecked\":false,\"activeViewList\":true,\"activeViewListDisplay\":\"\",\"activeViewMap\":false,\"activeViewMapDisplay\":\"none\",\"pills\":[],\"coords\":[],\"search_string\":\"\",\"pending_search\":\"\",\"page_changed\":false,\"default_city\":[],\"default_amenity\":[],\"default_single_amenity\":\"\",\"selectedCategories\":[\"514\"],\"default_region\":\"\",\"show_tripadvisor\":true,\"filterAdded\":0,\"isResetOpen\":\"none\",\"hasPills\":\"none\",\"categories\":{\"name\":\"\",\"items\":[{\"name\":\"Loonie Savers\",\"id\":\"514\",\"checked\":false}]},\"cities\":[],\"regions\":[]}'\n         data-nonce=\"8b5c8f3447\"\n         data-wp-init=\"callbacks.initGrid\"\n         id=\"listings-grid\">\n         \n    <div class=\"title-wrap padded fold-wrap xl mg-bottom-x2 mg-top-x2\">\n        <h2 class=\"color-cyan-900\" id=\"related-articles-heading\">Suchen Sie nach Loonie Savers f\u00fcr Unterk\u00fcnfte, Unterhaltung &#038; Gastronomie<\/h2>\n    <\/div>\n        <div class=\"fold-sm-up fold-wrap xl listing-whole-wrap padded gapped-x2 mg-bottom-x2\">\n        <div class=\"filters-wrap\" id=\"filters-panel\" aria-controls=\"filters-panel\">\n            <div class=\"filters-inner-wrap\">\n                <button class=\"close-filters-panel close-top button button--small button--circle has-icon has-icon--after has-icon--close\" aria-label=\"Close filters panel\">Close\n                <\/button>\n                <div class=\"filter-search mg-bottom-x2\">\n                    <p class=\"h4\">Filters<\/p>\n                    <div class=\"search-input-wrap\">\n                        <label for=\"listings-search\" class=\"visually-hidden\">Search <\/label>\n                        <input value=\"\" type=\"search\" placeholder=\"Search\" id=\"listings-search\" data-wp-on--input=\"actions.updateSearchString\"\n                               data-wp-bind--value=\"context.search_string\" aria-label=\"Search \" class=\"search-box\" autocomplete=\"off\">\n                        <button type=\"button\" class=\"clear-search\" data-wp-on--click=\"actions.clearSearch\" aria-label=\"Clear Search\" id=\"clear-search-button\">&#x2715;<\/button>\n                        <button type=\"button\" id=\"listings-search-btn\" data-wp-on--click=\"actions.search\" aria-label=\"Submit search\"\n                                class=\"button button--small button--circle has-icon--after has-icon--search\"><\/button>\n                    <\/div>\n                <\/div>\n                <div class=\"inputs-wrap size-14\">\n                    <!--todo: finish the rest with wp-init -->\n                    <fieldset style=\"display:block;\" class=\"input-wrap mg-bottom-x2\" id=\"categories\" data-wp-init=\"actions.checkCategoriesDisplay\"\n                              data-wp-style--display=\"context.categoriesOpen\" data-wp-context='{ \"categoriesOpen\" : \"block\"}'>\n                        <legend class=\"h5 color-cyan-900\">Type<\/legend>\n                        <template data-wp-each--category=\"context.categories.items\" data-wp-each-key=\"context.category.id\">\n                            <label>\n                                <input type=\"checkbox\"\n                                       data-wp-bind--data-value=\"context.category.id\"\n                                       data-wp-bind--checked=\"context.category.checked\"\n                                       data-wp-on--change=\"actions.addFilter\"\n                                       data-type=\"category\"\n                                       data-wp-init=\"callbacks.initialCategoryState\"\n                                       data-wp-bind--data-label=\"context.category.name\"\n                                >\n                                <span data-wp-text=\"context.category.name\"><\/span>\n                            <\/label>\n                        <\/template>\n                            <label data-wp-each-child=\"listingsGrid::context.categories.items\">\n                                <input data-label=\"Loonie Savers\" data-value=\"514\" type=\"checkbox\"\n                                       data-wp-bind--data-value=\"context.category.id\"\n                                       data-wp-bind--checked=\"context.category.checked\"\n                                       data-wp-on--change=\"actions.addFilter\"\n                                       data-type=\"category\"\n                                       data-wp-init=\"callbacks.initialCategoryState\"\n                                       data-wp-bind--data-label=\"context.category.name\"\n                                >\n                                <span data-wp-text=\"context.category.name\">Loonie Savers<\/span>\n                            <\/label>\n                        \n                        <button class=\"read-more color-fuchsia-900 has-icon has-icon--after has-icon--arrow-down has-icon--bg-fuchsia-900\" aria-expanded=\"false\"\n                                aria-controls=\"category-a\"> View More\n                        <\/button>\n                    <\/fieldset>\n                                        \n                                    <\/div>\n                <div class=\"bottom-buttons fold gapped justify-content-between\">\n                    <button data-wp-on--click=\"actions.resetFilters\"\n                            class=\"has-icon has-icon--before has-icon--refresh has-icon--bg-fuchsia-900 button-as-link size-14 color-fuchsia-900\" aria-label=\"Clear filters\">Clear\n                    <\/button>\n                    <!-- <button data-wp-on--click=\"actions.get_listings\" class=\"close-filters-panel button button--tight button--small has-icon has-icon--after has-icon--tailarrow-right\">Filter results<\/button> -->\n                <\/div>\n            <\/div>\n        <\/div>\n        <div class=\"results-wrap\">\n            <div class=\"results-settings fold-sm-up flex-nowrap align-items-center mg-bottom\">\n                <div class=\"col-sm-2 results-count\">\n                    <p class=\"size-12\" aria-live=\"polite\" id=\"results-count\"><\/p>\n                <\/div>\n                <div class=\"col-sm-4 sortings-wrap\">\n                    <div class=\"trigger-filters\">\n                        <button class=\"button button--tight button--small has-icon has-icon--after has-icon--filter\" id=\"filters-mobile\">Filter<\/button>\n                    <\/div>\n                    <div class=\"view-modes\" role=\"group\" aria-label=\"View modes\">\n                        <button id=\"list-view-btn\" class=\"button button--small button--transparent has-icon has-icon--before has-icon--sort active\" aria-pressed=\"true\"\n                                data-type=\"list\"\n                                data-wp-context='{ \"listPressed\" : \"true\"}'\n                                data-wp-on--click=\"actions.setActiveView\"\n                                data-wp-class--active=\"context.activeViewList\">List view\n                        <\/button>\n                        <button id=\"map-view-btn\" class=\"button button--small has-icon has-icon--before has-icon--map\" aria-pressed=\"false\"\n                                data-type=\"map\"\n                                data-wp-context='{ \"mapPressed\" : \"false\"}'\n                                data-wp-on--click=\"actions.setActiveView\"\n                                data-wp-class--active=\"context.activeViewMap\">Map view\n                        <\/button>\n                    <\/div>\n                    <div class=\"sort-by-wrap\">\n                        <div class=\"dd size-14\">\n                            <button class=\"ddbtn has-icon has-icon--after has-icon--arrow-down button-as-link has-icon--bg-fuchsia-900 color-fuchsia-900 font-weight-600\"\n                                    aria-haspopup=\"true\" aria-expanded=\"false\" id=\"sortButton\">\n                                Sort by\n                            <\/button>\n                            <ul class=\"dd-menu\" aria-labelledby=\"sortButton\">\n                                <li data-value=\"random\" tabindex=\"0\">\n                                    <label>\n                                        <input checked type=\"radio\" id=\"option-az\" value=\"Random\"\n                                               data-type=\"random\"\n                                               data-wp-bind--checked=\"context.randomChecked\"\n                                               data-wp-on--change=\"actions.sortList\"\n                                        \/> Random<\/label>\n                                <\/li>\n                                <li data-value=\"A-Z\" tabindex=\"1\">\n                                    <label>\n                                        <input type=\"radio\" id=\"option-az\" value=\"A-Z\"\n                                               data-type=\"az\"\n                                               data-wp-bind--checked=\"context.azChecked\"\n                                               data-wp-on--change=\"actions.sortList\"\n                                        \/> A-Z<\/label>\n                                <\/li>\n                                <li data-value=\"Z-A\" tabindex=\"2\">\n                                    <label>\n                                        <input type=\"radio\" id=\"option-za\" value=\"Z-A\"\n                                               data-wp-bind--checked=\"context.zaChecked\"\n                                               data-type=\"za\"\n                                               data-wp-on--change=\"actions.sortList\"\n                                        \/> Z-A<\/label>\n                                <\/li>\n                                <li data-value=\"newest\" tabindex=\"3\">\n                                    <label>\n                                        <input type=\"radio\" id=\"option-newest\" value=\"Newest\"\n                                               data-wp-bind--checked=\"context.newestChecked\"\n                                               data-type=\"newest\"\n                                               data-wp-on--change=\"actions.sortList\"\n                                        \/> Newest<\/label>\n                                <\/li>\n                            <\/ul>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"selected-list fold\">\n                <ul style=\"display:none;\" class=\"unformatted fold gapped-small\" aria-label=\"Selected filters\" data-wp-style--display=\"context.hasPills\">\n                    <template data-wp-each--pill=\"state.pills\">\n                        <li><a class=\"a-tag has-icon has-icon--after has-icon--close has-icon--bg-fuchsia-900 bg-fuchsia-100 size-12\"\n                               data-wp-bind--data-type=\"context.pill.type\"\n                               data-wp-bind--data-value=\"context.pill.data_value\"\n                               aria-label=\"context.pill.label\"\n                               data-wp-bind--data-label=\"context.pill.label\"\n                               data-wp-on--click=\"actions.removePill\"\n                               data-wp-text=\"context.pill.label\">\n                            <\/a>\n                        <\/li>\n                    <\/template>\n                <\/ul>\n                <button style=\"display:none;\" data-wp-style--display=\"context.isResetOpen\" data-wp-on--click=\"actions.resetFilters\"\n                        class=\"clear-filters has-icon has-icon--before has-icon--refresh has-icon--bg-fuchsia-900 button-as-link size-14 color-fuchsia-900\"\n                        aria-label=\"Clear Filters\">Clear\n                <\/button>\n            <\/div>\n            <div id=\"listings-list-grid\" data-wp-watch--page=\"actions.watchPageChange\" data-wp-style--display=\"context.activeViewListDisplay\"\n                 class=\"list-results grid-boxes mg-top-x2\"><\/div>\n            <div style=\"display:none;\" id=\"map\" data-wp-style--display=\"context.activeViewMapDisplay\"><\/div>\n        <\/div>\n    <\/div>\n<\/section>\n<script>(g => {\n        var h, a, k, p = \"The Google Maps JavaScript API\", c = \"google\", l = \"importLibrary\", q = \"__ib__\", m = document, b = window;\n        b = b[c] || (b[c] = {});\n        var d = b.maps || (b.maps = {}), r = new Set, e = new URLSearchParams, u = () => h || (h = new Promise(async (f, n) => {\n            await (a = m.createElement(\"script\"));\n            e.set(\"libraries\", [...r] + \"\");\n            for (k in g) e.set(k.replace(\/[A-Z]\/g, t => \"_\" + t[0].toLowerCase()), g[k]);\n            e.set(\"callback\", c + \".maps.\" + q);\n            a.src = `https:\/\/maps.${c}apis.com\/maps\/api\/js?` + e;\n            d[q] = f;\n            a.onerror = () => h = n(Error(p + \" could not load.\"));\n            a.nonce = m.querySelector(\"script[nonce]\")?.nonce || \"\";\n            m.head.append(a)\n        }));\n        d[l] ? console.warn(p + \" only loads once. Ignoring:\", g) : d[l] = (f, ...n) => r.add(f) && u().then(() => d[l](f, ...n))\n    })\n    ({key: \"AIzaSyC2STiWhAEatXVCfc1eolQogzxltXwaq6M\", v: \"weekly\"});<\/script><script type=\"text\/javascript\">\n    async function initMap() {\n        \/\/ Request needed libraries.\n        const {Map} = await google.maps.importLibrary(\"maps\");\n        const {AdvancedMarkerElement} = await google.maps.importLibrary(\"marker\");\n\n        const infowindow = new google.maps.InfoWindow();\n        const bounds = new google.maps.LatLngBounds();\n\n        const map = new Map(document.getElementById(\"map\"), {\n            zoom: 14,\n            mapId: 'vvb listings id',\n        });\n\n        const markers = [];\n        const labels = [];\n\n        \/\/coordinates\n        let coords = document.querySelectorAll('.result-box');\n\n        [...coords].map(function(item){\n\n            let foundCoords = (item.getAttribute('data-listing-coords').split(\",\"));\n\n            const pinImg = document.createElement(\"img\");\n            pinImg.src = \"\/wp-content\/themes\/virginia-beach\/assets\/images\/point.svg?v=1\";\n\n            if(foundCoords[0] !== \"\") {\n                if(foundCoords[0].length !== 0)\n                {\n                    markers.push(new AdvancedMarkerElement({\n                        map,\n                        position: {lat: parseFloat(foundCoords[0]), lng: parseFloat(foundCoords[1])},\n                        title: item.getAttribute('data-listing-name'),\n                        content: pinImg\n                    }));\n                }\n            }\n\n            labels.push({\n                name: item.getAttribute('data-listing-name'),\n                link: item.getAttribute('data-listing-link'),\n                thumb: item.getAttribute('data-listing-thumb'),\n                region: item.getAttribute('data-deregion'),\n            });\n\n        });\n\n        for (let i = 0; i < markers.length; i++) {\n\n            markers[i].addListener(\"gmp-click\", () => {\n                infowindow.open({\n                    anchor: markers[i],\n                    map\n                });\n\n                let info = create_info(labels[i].thumb, labels[i].name, labels[i].region, labels[i].link);\n                infowindow.setContent(info);\n\n            });\n\n            bounds.extend(markers[i].position);\n\n        }\n\n        map.fitBounds(bounds);\n    }\n\n\n    function create_info(img, title, location, link) {\n        \/\/ Escape function to prevent XSS\n        const escapeHTML = (str) => {\n            if (!str) return '';\n            return String(str)\n                .replace(\/&\/g, '&amp;')\n                .replace(\/<\/g, '&lt;')\n                .replace(\/>\/g, '&gt;')\n                .replace(\/\"\/g, '&quot;')\n                .replace(\/'\/g, '&#39;');\n        };\n\n        \/\/ Escape the user inputs\n        const safeTitle = escapeHTML(title);\n        const safeLocation = escapeHTML(location);\n\n        \/\/ For URLs, we should use proper attributes\n        return `\n        <div class=\"popup-wrap\">\n           <!-- <button class=\"button button--circle has-icon--after has-icon--close\">close<\/button> -->\n            <div class=\"image-wrap mg-bottom\">\n                <img loading=\"lazy\" decoding=\"async\" src=\"${img}\" alt=\"\" width=\"300\" height=\"250\" \/>\n            <\/div>\n            <div class=\"content-wrap fold flex-column align-items-start\">\n                <p class=\"h5 no-mg-bottom\">${safeTitle}<\/p>\n                <p class=\"the-location size-12 color-black head-font-family has-icon has-icon--before has-icon--map mg-top-small\">${safeLocation}<\/p>\n                <a href=\"${link}\" class=\"read-more color-fuchsia-900 has-icon has-icon--after has-icon--tailarrow-right has-icon--bg-fuchsia-900 mg-top align-self-end\">Get info<\/a>\n            <\/div>\n        <\/div>\n    `;\n    }\n<\/script>\n<section class=\"text-block\"><div class=\"fold-wrap md padded\">\n<h4 class=\"wp-block-heading\">EINIGE EINSCHR\u00c4NKUNGEN, DIE SIE BEACHTEN SOLLTEN:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reservierungen sind f\u00fcr Unterk\u00fcnfte und einige Attraktionen erforderlich<\/li>\n\n\n\n<li>Ihr kanadischer Reisepass oder Ausweis wird beim Check-in ben\u00f6tigt, um die Promotion zu erhalten.<\/li>\n\n\n\n<li>Eine vorzeitige Abreise macht die Promotion ung\u00fcltig und der Preis wird auf den geltenden Listenpreis angepasst.<\/li>\n\n\n\n<li>Das Angebot basiert auf Verf\u00fcgbarkeit.<\/li>\n\n\n\n<li>F\u00fcr bestimmte teilnehmende Hotels kann ein Mindestaufenthalt erforderlich sein<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr weitere Informationen rufen Sie bitte 1-800-VA-BEACH an.<\/p>\n<\/div><\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"enable_ai_generated_excerpts":true,"ai_model_name":"","ai_prompt_id":"","footnotes":""},"class_list":["post-28629","page","type-page","status-publish","hentry"],"acf":[],"publishpress_future_action":{"enabled":false,"date":"2026-09-19 01:27:47","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"translation_priority","extraData":[]},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/pages\/28629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/comments?post=28629"}],"version-history":[{"count":1,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/pages\/28629\/revisions"}],"predecessor-version":[{"id":28630,"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/pages\/28629\/revisions\/28630"}],"wp:attachment":[{"href":"https:\/\/www.visitvirginiabeach.com\/de\/wp-json\/wp\/v2\/media?parent=28629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}