{"id":661,"date":"2024-11-26T09:16:55","date_gmt":"2024-11-26T09:16:55","guid":{"rendered":"https:\/\/parkandflypro.de\/book-parking\/"},"modified":"2025-06-18T17:03:15","modified_gmt":"2025-06-18T17:03:15","slug":"book-parking","status":"publish","type":"page","link":"https:\/\/parkandflypro.de\/en\/book-parking\/","title":{"rendered":"Book Parking"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.2&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;40px|||||&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.2&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; width_tablet=&#8221;&#8221; width_phone=&#8221;100%&#8221; width_last_edited=&#8221;on|phone&#8221; max_width=&#8221;1441px&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<script> \n\n\t\t\tdocument.addEventListener(\"scroll\", function () {\n\t\t\t\tvar iframe = document.getElementById(\"parkingpro_booking_widgets_iframe\");\n\t\t\t\tvar rect = iframe.getBoundingClientRect();\n\t\t\t\tvar top_value = rect.top;\n\n\t\t\n\t\t\t\tiframe.contentWindow.postMessage({\n\t\t\t\t\tevent: \"parkingPro.widget.scroll\",\n\t\t\t\t\ttop: top_value\n\t\t\t\t}, \"*\");\n\t\t\t});\n\n\t\t\twindow.addEventListener(\"message\", function (e) { \n\t\t\t\tif(e.data.event === \"parkingPro.domain.reservationAdded\") {  \n\t    \t\tjQuery(\"html, body\").animate({\n\t        \t\tscrollTop: jQuery(\"#parkingpro_booking_widgets_iframe\").offset().top\n\t        \t}, 600); \n\t        }\n\n\t    \tif( e.data.event === \"parkingPro.ui.pageHeightChanged\" ) \n            {\n                jQuery(\"#parkingpro_booking_widgets_iframe\").height(e.data.newHeight + 50);\n            }\n\n\t\t\tif ( e.data.event === \"parkingPro.ui.scroll\" )\n\t\t\t{\n\t\t\t\tvar scrollAppendElements = jQuery(\"\");\n\n\t\t\t\tvar headerHeight = scrollAppendElements\n\t\t\t\t\t.map(function (x) { \n\t\t\t\t\t\treturn jQuery(this).outerHeight();\n\t\t\t\t\t})\n\t\t\t\t\t.get()\n\t\t\t\t\t.reduce(function (prev, curr) {\n\t\t\t\t\t\treturn prev + curr;\n\t\t\t\t\t}, 0);\n\n\t\t\t\tjQuery(\"html, body\").animate({\n\t        \t\tscrollTop: jQuery(\"#parkingpro_booking_widgets_iframe\").offset().top + e.data.scrollTop - headerHeight\n\t        \t}, 600); \n\t\t\t}\n            \n\t        }, false);<\/script><iframe loading=\"lazy\" id=\"parkingpro_booking_widgets_iframe\" style=\"width: 100%; src=\"about:blank\" padding: 0; border: 0;\" width=\"100%\" height=\"1500\" frameborder=\"0\" scrolling=\"yes\"><\/iframe>\n\t\t\t<script>\n\t\t\t\t(function () {\n\t\t\t\t\tlet iframe = document.querySelector('#parkingpro_booking_widgets_iframe');\n\t\t\t\t\tlet iframeUrl = new URL('https:\/\/parkandflypro.myparking.pro\/reservations\/add?&hideHeader&hideTitle&culture=en-GB');\n\t\t\t\t\tlet trackingId = 'GTM-WDXQTK2G';\n\t\t\t\t\tlet iframeLoaded = false;\n\n\t\t\t\t\t\/\/ Try to get the adwords click id\n\t\t\t\t\tconst gclid = new URLSearchParams(window.location.search).get('gclid')\n\t\t\t\t\t\t|| (document.cookie.match(\/_gcl_aw=GCL\\.\\d+\\.([^;]+)\/)?.[1])\n\t\t\t\t\t\t|| null;\n\n\t\t\t\t\tif (gclid) {\n\t\t\t\t\t\tiframeUrl.searchParams.append('gclid', gclid);\n\t\t\t\t\t}\n\n\t\t\t\t\t\/\/ Only load GA if needed\n\t\t\t\t\tif (!window.gtag) {\n\t\t\t\t\t\twindow.dataLayer = window.dataLayer || [];\n\t\t\t\t\t\twindow.gtag = function () { window.dataLayer.push(arguments); };\n\n\t\t\t\t\t\tgtag('js', new Date());\n\n\t\t\t\t\t\tconst s = document.createElement('script');\n\t\t\t\t\t\ts.type = 'text\/javascript';\n\t\t\t\t\t\ts.async = true;\n\t\t\t\t\t\ts.src = 'https:\/\/www.googletagmanager.com\/gtag\/js?id=' + trackingId;\n\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script')[0];\n\t\t\t\t\t\tscripts.parentNode.insertBefore(s, scripts);\n\t\t\t\t\t}\n\n\t\t\t\t\t\/\/ Even if GA was already loaded, it could have been configured for a different trackingId\n\t\t\t\t\t\/\/ So check if the trackingId was already configured. If so, don't send a page view event again.\n\t\t\t\t\tconst gtagConfigured = window.dataLayer.some(entry => entry[0] === 'config' && entry[1] === trackingId);\n\t\t\t\t\tgtag('config', trackingId, {\n\t\t\t\t\t\tsend_page_view: !gtagConfigured,\n\t\t\t\t\t\tcookie_flags: 'SameSite=None;Secure',\n\t\t\t\t\t\tlinker: {\n\t\t\t\t\t\t\tdomains: [location.host, iframeUrl.host],\n\t\t\t\t\t\t\taccept_incoming: true\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tgtag('get', trackingId, 'client_id', function (clientId) {\n\t\t\t\t\t\tiframeUrl.searchParams.append('_ga_client_id', clientId);\n\t\t\t\t\t\tiframe.src = iframeUrl.toString();\n\n\t\t\t\t\t\tiframeLoaded = true;\n\t\t\t\t\t});\n\n\t\t\t\t\t\/\/ Fallback in case gtag didn't load because of adblocker or other reasons.\n\t\t\t\t\t\/\/ We still want to load the iframe. Set to 2 seconds.\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\tif (iframeLoaded === false) {\n\t\t\t\t\t\t\tiframe.src = iframeUrl.toString();\n\t\t\t\t\t\t\tiframeLoaded = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000);\n\n\t\t\t\t\twindow.addEventListener('message', function (e) {\n\t\t\t\t\t\tif(new URL(e.origin).host === iframeUrl.host && e.data) {\n\t\t\t\t\t\t\tswitch (e.data.event) {\n\t\t\t\t\t\t\t\tcase 'parkingPro.googleAnalytics.gtag':\n\t\t\t\t\t\t\t\t\tgtag.apply(null, e.data.gtagArguments);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase 'parkingPro.googleTagManager.dataLayer':\n\t\t\t\t\t\t\t\t\tdataLayer.push(e.data.dataLayerArguments);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t})();\n\t\t\t<\/script>\n\t\t[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<script> \n\n\t\t\tdocument.addEventListener(\"scroll\", function () {\n\t\t\t\tvar iframe = document.getElementById(\"parkingpro_booking_widgets_iframe\");\n\t\t\t\tvar rect = iframe.getBoundingClientRect();\n\t\t\t\tvar top_value = rect.top;\n\n\t\t\n\t\t\t\tiframe.contentWindow.postMessage({\n\t\t\t\t\tevent: \"parkingPro.widget.scroll\",\n\t\t\t\t\ttop: top_value\n\t\t\t\t}, \"*\");\n\t\t\t});\n\n\t\t\twindow.addEventListener(\"message\", function (e) { \n\t\t\t\tif(e.data.event === \"parkingPro.domain.reservationAdded\") {  \n\t    \t\tjQuery(\"html, body\").animate({\n\t        \t\tscrollTop: jQuery(\"#parkingpro_booking_widgets_iframe\").offset().top\n\t        \t}, 600); \n\t        }\n\n\t    \tif( e.data.event === \"parkingPro.ui.pageHeightChanged\" ) \n            {\n                jQuery(\"#parkingpro_booking_widgets_iframe\").height(e.data.newHeight + 50);\n            }\n\n\t\t\tif ( e.data.event === \"parkingPro.ui.scroll\" )\n\t\t\t{\n\t\t\t\tvar scrollAppendElements = jQuery(\"\");\n\n\t\t\t\tvar headerHeight = scrollAppendElements\n\t\t\t\t\t.map(function (x) { \n\t\t\t\t\t\treturn jQuery(this).outerHeight();\n\t\t\t\t\t})\n\t\t\t\t\t.get()\n\t\t\t\t\t.reduce(function (prev, curr) {\n\t\t\t\t\t\treturn prev + curr;\n\t\t\t\t\t}, 0);\n\n\t\t\t\tjQuery(\"html, body\").animate({\n\t        \t\tscrollTop: jQuery(\"#parkingpro_booking_widgets_iframe\").offset().top + e.data.scrollTop - headerHeight\n\t        \t}, 600); \n\t\t\t}\n            \n\t        }, false);<\/script><iframe loading=\"lazy\" id=\"parkingpro_booking_widgets_iframe\" style=\"width: 100%; src=\"about:blank\" padding: 0; border: 0;\" width=\"100%\" height=\"1500\" frameborder=\"0\" scrolling=\"yes\"><\/iframe>\n\t\t\t<script>\n\t\t\t\t(function () {\n\t\t\t\t\tlet iframe = document.querySelector('#parkingpro_booking_widgets_iframe');\n\t\t\t\t\tlet iframeUrl = new URL('https:\/\/parkandflypro.myparking.pro\/reservations\/add?&hideHeader&hideTitle&culture=en-GB');\n\t\t\t\t\tlet trackingId = 'GTM-WDXQTK2G';\n\t\t\t\t\tlet iframeLoaded = false;\n\n\t\t\t\t\t\/\/ Try to get the adwords click id\n\t\t\t\t\tconst gclid = new URLSearchParams(window.location.search).get('gclid')\n\t\t\t\t\t\t|| (document.cookie.match(\/_gcl_aw=GCL\\.\\d+\\.([^;]+)\/)?.[1])\n\t\t\t\t\t\t|| null;\n\n\t\t\t\t\tif (gclid) {\n\t\t\t\t\t\tiframeUrl.searchParams.append('gclid', gclid);\n\t\t\t\t\t}\n\n\t\t\t\t\t\/\/ Only load GA if needed\n\t\t\t\t\tif (!window.gtag) {\n\t\t\t\t\t\twindow.dataLayer = window.dataLayer || [];\n\t\t\t\t\t\twindow.gtag = function () { window.dataLayer.push(arguments); };\n\n\t\t\t\t\t\tgtag('js', new Date());\n\n\t\t\t\t\t\tconst s = document.createElement('script');\n\t\t\t\t\t\ts.type = 'text\/javascript';\n\t\t\t\t\t\ts.async = true;\n\t\t\t\t\t\ts.src = 'https:\/\/www.googletagmanager.com\/gtag\/js?id=' + trackingId;\n\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script')[0];\n\t\t\t\t\t\tscripts.parentNode.insertBefore(s, scripts);\n\t\t\t\t\t}\n\n\t\t\t\t\t\/\/ Even if GA was already loaded, it could have been configured for a different trackingId\n\t\t\t\t\t\/\/ So check if the trackingId was already configured. If so, don't send a page view event again.\n\t\t\t\t\tconst gtagConfigured = window.dataLayer.some(entry => entry[0] === 'config' && entry[1] === trackingId);\n\t\t\t\t\tgtag('config', trackingId, {\n\t\t\t\t\t\tsend_page_view: !gtagConfigured,\n\t\t\t\t\t\tcookie_flags: 'SameSite=None;Secure',\n\t\t\t\t\t\tlinker: {\n\t\t\t\t\t\t\tdomains: [location.host, iframeUrl.host],\n\t\t\t\t\t\t\taccept_incoming: true\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tgtag('get', trackingId, 'client_id', function (clientId) {\n\t\t\t\t\t\tiframeUrl.searchParams.append('_ga_client_id', clientId);\n\t\t\t\t\t\tiframe.src = iframeUrl.toString();\n\n\t\t\t\t\t\tiframeLoaded = true;\n\t\t\t\t\t});\n\n\t\t\t\t\t\/\/ Fallback in case gtag didn't load because of adblocker or other reasons.\n\t\t\t\t\t\/\/ We still want to load the iframe. Set to 2 seconds.\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\tif (iframeLoaded === false) {\n\t\t\t\t\t\t\tiframe.src = iframeUrl.toString();\n\t\t\t\t\t\t\tiframeLoaded = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 2000);\n\n\t\t\t\t\twindow.addEventListener('message', function (e) {\n\t\t\t\t\t\tif(new URL(e.origin).host === iframeUrl.host && e.data) {\n\t\t\t\t\t\t\tswitch (e.data.event) {\n\t\t\t\t\t\t\t\tcase 'parkingPro.googleAnalytics.gtag':\n\t\t\t\t\t\t\t\t\tgtag.apply(null, e.data.gtagArguments);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase 'parkingPro.googleTagManager.dataLayer':\n\t\t\t\t\t\t\t\t\tdataLayer.push(e.data.dataLayerArguments);\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t})();\n\t\t\t<\/script>\n\t\t\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-661","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/parkandflypro.de\/en\/wp-json\/wp\/v2\/pages\/661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parkandflypro.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/parkandflypro.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/parkandflypro.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/parkandflypro.de\/en\/wp-json\/wp\/v2\/comments?post=661"}],"version-history":[{"count":2,"href":"https:\/\/parkandflypro.de\/en\/wp-json\/wp\/v2\/pages\/661\/revisions"}],"predecessor-version":[{"id":663,"href":"https:\/\/parkandflypro.de\/en\/wp-json\/wp\/v2\/pages\/661\/revisions\/663"}],"wp:attachment":[{"href":"https:\/\/parkandflypro.de\/en\/wp-json\/wp\/v2\/media?parent=661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}