{"id":4549,"date":"2025-01-08T13:38:06","date_gmt":"2025-01-08T13:38:06","guid":{"rendered":"https:\/\/easytaxibelgium.be\/reservationtransport\/"},"modified":"2026-04-30T11:58:44","modified_gmt":"2026-04-30T11:58:44","slug":"reservationtransport","status":"publish","type":"page","link":"https:\/\/easytaxibelgium.be\/fr\/","title":{"rendered":"BookingTransport"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"4549\" class=\"elementor elementor-4549 elementor-2634\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fef19b3 e-grid e-con-boxed e-con e-parent\" data-id=\"fef19b3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4515562 elementor-widget elementor-widget-spacer\" data-id=\"4515562\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9fc99e elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"f9fc99e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Easy Taxi Belgium - Transfert a\u00e9roport Bruxelles<br>Voyagez en toute simplicit\u00e9, fiable &amp; abordable en Belgique<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a27a4b4 e-flex e-con-boxed e-con e-parent\" data-id=\"a27a4b4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9fb97f7 elementor-widget elementor-widget-heading\" data-id=\"9fb97f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">R\u00e9servez votre trajet en 3 \u00e9tapes simples vers tous les a\u00e9roports de Belgique<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-220221b e-flex e-con-boxed e-con e-parent\" data-id=\"220221b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div data-pafe-form-abandonment=\"\" class=\"elementor-element elementor-element-76099b2 elementor-widget__width-inherit elementor-widget elementor-widget-pafe-multi-step-form\" data-id=\"76099b2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-multi-step-form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form\">\n\t\t\t\t<div class=\"pafe-multi-step-form__progressbar \">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item active\">\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item-step-number\">\n\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item-step\">1<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item-title   \">Transfer<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item\">\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item-step-number\">\n\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item-step\">2<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item-title   \">Vehicle<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item\">\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item-step-number\">\n\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item-step\">3<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__progressbar-item-title   \">Payment<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item active\" data-pafe-form-builder-step-item-id=\"6061\">\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-shortcode\">\n\t\t\t\t\t\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"6134\" class=\"elementor elementor-6134 elementor-6061 elementor-6061\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-fe603fa e-flex e-con-boxed e-con e-parent\" data-id=\"fe603fa\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-aa80bb3 e-grid e-con-full e-con e-child\" data-id=\"aa80bb3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4042556 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"4042556\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-date elementor-field-group elementor-column elementor-field-group-pickupdate elementor-col-100 elementor-field-required elementor-mark-required\">\r\n\t\t\t\t<label for=\"form-field-pickupdate\" class=\"elementor-field-label\">Date et heure de prise en charge  <\/label><div data-pafe-form-builder-required><\/div><div class=\"pafe-field-container\"><input class=\"elementor-field elementor-size-  elementor-field-textual elementor-date-field elementor-use-native flatpickr-custom-options\" type=\"date\" name=\"form_fields[pickupdate]\" id=\"form-field-pickupdate\" placeholder=\"JJ-MM-AAAA - HH:MM\" autocomplete=\"on\" data-pafe-form-builder-default-value=\"\" required=\"required\" aria-required=\"true\" data-pafe-form-builder-form-id=\"multistepbf\" data-pafe-flatpickr-custom-options=\"{\n  allowInput: false,\n  enableTime: true,\n  dateFormat: &quot;d-m-Y - H:i K&quot;,\n  minDate: new Date(new Date().getTime() + 12 * 60 * 60 * 1000),\n  maxDate: new Date().fp_incr(60),\n  disableMobile: false,\n  minuteIncrement: 15,\n  time_24hr: true,\n  clickOpens: true,\n  enable: [\n    function(date) {\n      return (date.getDate() &lt; (new Date().getTime() + 12 * 60 * 60 * 1000));\n    }\n  ],\n  onReady: function(selectedDates, dateStr, instance) {\n    const input = instance.input;\n\n    \/\/ Set readonly attribute and property\n    input.setAttribute(&quot;readonly&quot;, &quot;readonly&quot;);\n    input.readOnly = true;\n\n    \/\/ Ensure that when the input is focused, the calendar opens and we prevent any key input\n    input.addEventListener(&#039;focus&#039;, function(e) {\n      instance.open();\n      e.preventDefault();\n    });\n\n    \/\/ Prevent all key events\n    input.addEventListener(&#039;keydown&#039;, function(e) {\n      e.preventDefault();\n      instance.open(); \/\/ Optionally open the calendar on keydown\n    });\n\n    input.addEventListener(&#039;keypress&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener(&#039;keyup&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    \/\/ Also prevent paste, cut, etc.\n    input.addEventListener(&#039;paste&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener(&#039;cut&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener(&#039;copy&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    \/\/ Make sure the input doesn&#039;t get focused by tab key without opening the calendar\n    input.addEventListener(&#039;mousedown&#039;, function(e) {\n      \/\/ We don&#039;t prevent default because we want the click to trigger the calendar\n      \/\/ But we can force the calendar to open on mousedown as well if needed\n      \/\/ instance.open();\n    });\n  },\n  onKeyDown: function(selectedDates, dateStr, instance) {\n    return false; \/\/ Prevent any keyboard input in the Flatpickr instance\n  }\n}\" data-pafe-form-builder-date-calculate=\"0\">\t\t\t\t\t\t\t\t<script>\r\n\t\t\t\t\t\t\t\t\t(function ($) {\r\n\t\t\t\t\t\t\t\t\t\tvar WidgetPafeFormBuilderHandlerDatepickupdate = function ($scope, $) {\r\n\r\n\t\t\t\t\t\t\t\t\t\t    var $elements = $scope.find('.elementor-date-field');\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif (!$elements.length) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tvar $elements = $scope.find('#form-field-pickupdate');\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif (!$elements.length) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n                                            var options = {\n  allowInput: false,\n  enableTime: true,\n  dateFormat: \"d-m-Y - H:i K\",\n  minDate: new Date(new Date().getTime() + 12 * 60 * 60 * 1000),\n  maxDate: new Date().fp_incr(60),\n  disableMobile: false,\n  minuteIncrement: 15,\n  time_24hr: true,\n  clickOpens: true,\n  enable: [\n    function(date) {\n      return (date.getDate() < (new Date().getTime() + 12 * 60 * 60 * 1000));\n    }\n  ],\n  onReady: function(selectedDates, dateStr, instance) {\n    const input = instance.input;\n\n    \/\/ Set readonly attribute and property\n    input.setAttribute(\"readonly\", \"readonly\");\n    input.readOnly = true;\n\n    \/\/ Ensure that when the input is focused, the calendar opens and we prevent any key input\n    input.addEventListener('focus', function(e) {\n      instance.open();\n      e.preventDefault();\n    });\n\n    \/\/ Prevent all key events\n    input.addEventListener('keydown', function(e) {\n      e.preventDefault();\n      instance.open(); \/\/ Optionally open the calendar on keydown\n    });\n\n    input.addEventListener('keypress', function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener('keyup', function(e) {\n      e.preventDefault();\n    });\n\n    \/\/ Also prevent paste, cut, etc.\n    input.addEventListener('paste', function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener('cut', function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener('copy', function(e) {\n      e.preventDefault();\n    });\n\n    \/\/ Make sure the input doesn't get focused by tab key without opening the calendar\n    input.addEventListener('mousedown', function(e) {\n      \/\/ We don't prevent default because we want the click to trigger the calendar\n      \/\/ But we can force the calendar to open on mousedown as well if needed\n      \/\/ instance.open();\n    });\n  },\n  onKeyDown: function(selectedDates, dateStr, instance) {\n    return false; \/\/ Prevent any keyboard input in the Flatpickr instance\n  }\n};\r\n                                                                                            options['allowInput'] = true;\r\n                                            \t\t\t\t\t\t\t\t\t\t\t$.each($elements, function (i, $element) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t$element.flatpickr(options);\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\t\t\t\t\t$(window).on('elementor\/frontend\/init', function () {\r\n\t\t\t\t\t\t\t\t\t        elementorFrontend.hooks.addAction('frontend\/element_ready\/pafe-form-builder-field.default', WidgetPafeFormBuilderHandlerDatepickupdate);\r\n\t\t\t\t\t\t\t\t\t    });\r\n\r\n\t\t\t\t\t\t\t\t\t}(jQuery)); \r\n\t\t\t\t\t\t\t\t<\/script>\r\n\t\t\t\t\t\t<\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ae59f22 e-grid e-con-full e-con e-child\" data-id=\"ae59f22\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-14d5550 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"14d5550\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-address_autocomplete elementor-field-group elementor-column elementor-field-group-pickuplocation elementor-col-100 elementor-field-required elementor-mark-required\">\r\n\t\t\t\t<label for=\"form-field-pickuplocation\" class=\"elementor-field-label\">Lieu de prise en charge  <\/label><div data-pafe-form-builder-required><\/div><div class=\"pafe-field-container\"><input size=\"1\" class=\"elementor-field elementor-size- \" type=\"text\" name=\"form_fields[pickuplocation]\" id=\"form-field-pickuplocation\" placeholder=\"commencez \u00e0 saisir et s\u00e9lectionnez l&#039;adresse dans la liste\" autocomplete=\"on\" data-pafe-form-builder-default-value=\"\" required=\"required\" aria-required=\"true\" data-pafe-form-builder-form-id=\"multistepbf\" data-pafe-form-builder-address-autocomplete=\"multistepbf\" data-pafe-form-builder-address-autocomplete-country=\"[&quot;BE&quot;]\" data-pafe-form-builder-google-maps-lat=\"\" data-pafe-form-builder-google-maps-lng=\"\" data-pafe-form-builder-google-maps-formatted-address=\"\" data-pafe-form-builder-google-maps-zoom=\"\"><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1c95eb elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"e1c95eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-address_autocomplete elementor-field-group elementor-column elementor-field-group-dropofflocation elementor-col-100 elementor-field-required elementor-mark-required\">\r\n\t\t\t\t<label for=\"form-field-dropofflocation\" class=\"elementor-field-label\">Lieu de d\u00e9pose  <\/label><div data-pafe-form-builder-required><\/div><div class=\"pafe-field-container\"><input size=\"1\" class=\"elementor-field elementor-size- \" type=\"text\" name=\"form_fields[dropofflocation]\" id=\"form-field-dropofflocation\" placeholder=\"  commencez \u00e0 saisir et s\u00e9lectionnez l&#039;adresse dans la liste\" autocomplete=\"on\" data-pafe-form-builder-default-value=\"\" required=\"required\" aria-required=\"true\" data-pafe-form-builder-form-id=\"multistepbf\" data-pafe-form-builder-address-autocomplete=\"multistepbf\" data-pafe-form-builder-address-autocomplete-country=\"[&quot;BE&quot;,&quot;FR&quot;,&quot;DE&quot;,&quot;LU&quot;,&quot;NL&quot;]\" data-pafe-form-builder-google-maps-lat=\"\" data-pafe-form-builder-google-maps-lng=\"\" data-pafe-form-builder-google-maps-formatted-address=\"\" data-pafe-form-builder-google-maps-zoom=\"\"><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9997c00 elementor-widget elementor-widget-text-editor\" data-id=\"9997c00\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><em>S\u00e9lectionnez les lieux de prise en charge et de d\u00e9pose dans la liste pour un calcul plus pr\u00e9cis et correct.<\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-46d0668 e-grid e-con-full e-con e-child\" data-id=\"46d0668\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div style=\"display:none\" class=\"elementor-element elementor-element-e8c1fe0 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"e8c1fe0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-flightnumber elementor-col-100\" data-pafe-form-builder-conditional-logic=\"[{&quot;_id&quot;:&quot;ed49852&quot;,&quot;pafe_conditional_logic_form_if&quot;:&quot;pickuplocation&quot;,&quot;pafe_conditional_logic_form_comparison_operators&quot;:&quot;contains&quot;,&quot;pafe_conditional_logic_form_type&quot;:null,&quot;pafe_conditional_logic_form_value&quot;:&quot;Airport&quot;,&quot;pafe_conditional_logic_form_action&quot;:[&quot;show&quot;],&quot;pafe_conditional_logic_form_set_value&quot;:null,&quot;pafe_conditional_logic_form_set_value_for&quot;:null,&quot;pafe_conditional_logic_form_and_or_operators&quot;:&quot;or&quot;},{&quot;pafe_conditional_logic_form_if&quot;:&quot;pickuplocation&quot;,&quot;pafe_conditional_logic_form_comparison_operators&quot;:&quot;contains&quot;,&quot;pafe_conditional_logic_form_type&quot;:null,&quot;pafe_conditional_logic_form_value&quot;:&quot;A\\u00e9roport&quot;,&quot;_id&quot;:&quot;f6559a2&quot;,&quot;pafe_conditional_logic_form_action&quot;:[&quot;show&quot;],&quot;pafe_conditional_logic_form_set_value&quot;:null,&quot;pafe_conditional_logic_form_set_value_for&quot;:null,&quot;pafe_conditional_logic_form_and_or_operators&quot;:&quot;or&quot;},{&quot;pafe_conditional_logic_form_if&quot;:&quot;pickuplocation&quot;,&quot;pafe_conditional_logic_form_comparison_operators&quot;:&quot;contains&quot;,&quot;pafe_conditional_logic_form_type&quot;:null,&quot;pafe_conditional_logic_form_value&quot;:&quot;Luchthaven&quot;,&quot;_id&quot;:&quot;b306e06&quot;,&quot;pafe_conditional_logic_form_action&quot;:[&quot;show&quot;],&quot;pafe_conditional_logic_form_set_value&quot;:null,&quot;pafe_conditional_logic_form_set_value_for&quot;:null,&quot;pafe_conditional_logic_form_and_or_operators&quot;:&quot;or&quot;}]\" data-pafe-form-builder-conditional-logic-speed=\"400\" data-pafe-form-builder-conditional-logic-easing=\"swing\">\r\n\t\t\t\t<label for=\"form-field-flightnumber\" class=\"elementor-field-label\">Num\u00e9ro de vol<\/label><div data-pafe-form-builder-required><\/div><div class=\"pafe-field-container\"><input size=\"1\" class=\"elementor-field elementor-size- \" type=\"text\" name=\"form_fields[flightnumber]\" id=\"form-field-flightnumber\" autocomplete=\"on\" data-pafe-form-builder-default-value=\"\" data-pafe-form-builder-form-id=\"multistepbf\"><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-abce399 e-grid e-con-boxed e-con e-child\" data-id=\"abce399\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8237279 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"8237279\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-radio elementor-field-group elementor-column elementor-field-group-transferttype elementor-col-100 elementor-field-required elementor-mark-required\">\r\n\t\t\t\t<label for=\"form-field-transferttype\" class=\"elementor-field-label\">Type de transfert<\/label><div data-pafe-form-builder-required><\/div><div class=\"pafe-field-container\"><script type=\"text\/javascript\">if(void 0===clearValidity){function clearValidity(i){console.log(jQuery(i)); jQuery(i).closest(\".elementor-field-subgroup\").find(\".elementor-field-option input\").each((function(){jQuery(this)[0].setCustomValidity(\"\")}))};}<\/script><form><div class=\"elementor-field-subgroup  \"><span class=\"elementor-field-option\"><input type=\"radio\" value=\"oneway\" data-value=\"oneway\" id=\"form-field-transferttype-0\" name=\"form_fields[transferttype]\" data-pafe-form-builder-default-value=\"oneway\" checked=\"checked checked\" data-checked=\"checked checked\" required=\"required\" aria-required=\"true\" data-pafe-form-builder-form-id=\"multistepbf\"> <label for=\"form-field-transferttype-0\" class=\"pafe-checkbox-label\">Aller simple<\/label><\/span><span class=\"elementor-field-option\"><input type=\"radio\" value=\"return\" data-value=\"return\" id=\"form-field-transferttype-1\" name=\"form_fields[transferttype]\" data-pafe-form-builder-default-value=\"oneway\" required=\"required\" aria-required=\"true\" data-pafe-form-builder-form-id=\"multistepbf\"> <label for=\"form-field-transferttype-1\" class=\"pafe-checkbox-label\">Aller-retour<\/label><\/span><\/div><\/form><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div style=\"display:none\" class=\"elementor-element elementor-element-2f56ebd elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"2f56ebd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-date elementor-field-group elementor-column elementor-field-group-returndate elementor-col-100 elementor-field-required elementor-mark-required\" data-pafe-form-builder-conditional-logic=\"[{&quot;_id&quot;:&quot;50bcb41&quot;,&quot;pafe_conditional_logic_form_if&quot;:&quot;transferttype&quot;,&quot;pafe_conditional_logic_form_comparison_operators&quot;:&quot;contains&quot;,&quot;pafe_conditional_logic_form_value&quot;:&quot;return&quot;,&quot;pafe_conditional_logic_form_action&quot;:[&quot;show&quot;],&quot;pafe_conditional_logic_form_set_value&quot;:null,&quot;pafe_conditional_logic_form_set_value_for&quot;:null,&quot;pafe_conditional_logic_form_type&quot;:null,&quot;pafe_conditional_logic_form_and_or_operators&quot;:&quot;or&quot;}]\" data-pafe-form-builder-conditional-logic-speed=\"400\" data-pafe-form-builder-conditional-logic-easing=\"swing\">\r\n\t\t\t\t<label for=\"form-field-returndate\" class=\"elementor-field-label\">Date et heure de retour<\/label><div data-pafe-form-builder-required><\/div><div class=\"pafe-field-container\"><input class=\"elementor-field elementor-size-  elementor-field-textual elementor-date-field elementor-use-native flatpickr-custom-options\" type=\"date\" name=\"form_fields[returndate]\" id=\"form-field-returndate\" placeholder=\"JJ-MM-AAAA - HH:MM\" autocomplete=\"off\" data-pafe-form-builder-default-value=\"\" required=\"required\" aria-required=\"true\" data-pafe-form-builder-form-id=\"multistepbf\" data-pafe-flatpickr-custom-options=\"{\n  allowInput: false,\n  enableTime: true,\n  dateFormat: &quot;d-m-Y - H:i K&quot;,\n  minDate: new Date(new Date().getTime() + 48 * 60 * 60 * 1000),\n  maxDate: new Date().fp_incr(60),\n  disableMobile: false,\n  minuteIncrement: 15,\n  time_24hr: true,\n  clickOpens: true,\n  enable: [\n    function(date) {\n      return (date.getDate() &lt; (new Date().getTime() + 48 * 60 * 60 * 1000));\n    }\n  ],\n  onReady: function(selectedDates, dateStr, instance) {\n    const input = instance.input;\n\n    \/\/ Set readonly attribute and property\n    input.setAttribute(&quot;readonly&quot;, &quot;readonly&quot;);\n    input.readOnly = true;\n\n    \/\/ Ensure that when the input is focused, the calendar opens and we prevent any key input\n    input.addEventListener(&#039;focus&#039;, function(e) {\n      instance.open();\n      e.preventDefault();\n    });\n\n    \/\/ Prevent all key events\n    input.addEventListener(&#039;keydown&#039;, function(e) {\n      e.preventDefault();\n      instance.open(); \/\/ Optionally open the calendar on keydown\n    });\n\n    input.addEventListener(&#039;keypress&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener(&#039;keyup&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    \/\/ Also prevent paste, cut, etc.\n    input.addEventListener(&#039;paste&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener(&#039;cut&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener(&#039;copy&#039;, function(e) {\n      e.preventDefault();\n    });\n\n    \/\/ Make sure the input doesn&#039;t get focused by tab key without opening the calendar\n    input.addEventListener(&#039;mousedown&#039;, function(e) {\n      \/\/ We don&#039;t prevent default because we want the click to trigger the calendar\n      \/\/ But we can force the calendar to open on mousedown as well if needed\n      \/\/ instance.open();\n    });\n  },\n  onKeyDown: function(selectedDates, dateStr, instance) {\n    return false; \/\/ Prevent any keyboard input in the Flatpickr instance\n  }\n}\" data-pafe-form-builder-date-calculate=\"0\">\t\t\t\t\t\t\t\t<script>\r\n\t\t\t\t\t\t\t\t\t(function ($) {\r\n\t\t\t\t\t\t\t\t\t\tvar WidgetPafeFormBuilderHandlerDatereturndate = function ($scope, $) {\r\n\r\n\t\t\t\t\t\t\t\t\t\t    var $elements = $scope.find('.elementor-date-field');\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif (!$elements.length) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tvar $elements = $scope.find('#form-field-returndate');\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif (!$elements.length) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n                                            var options = {\n  allowInput: false,\n  enableTime: true,\n  dateFormat: \"d-m-Y - H:i K\",\n  minDate: new Date(new Date().getTime() + 48 * 60 * 60 * 1000),\n  maxDate: new Date().fp_incr(60),\n  disableMobile: false,\n  minuteIncrement: 15,\n  time_24hr: true,\n  clickOpens: true,\n  enable: [\n    function(date) {\n      return (date.getDate() < (new Date().getTime() + 48 * 60 * 60 * 1000));\n    }\n  ],\n  onReady: function(selectedDates, dateStr, instance) {\n    const input = instance.input;\n\n    \/\/ Set readonly attribute and property\n    input.setAttribute(\"readonly\", \"readonly\");\n    input.readOnly = true;\n\n    \/\/ Ensure that when the input is focused, the calendar opens and we prevent any key input\n    input.addEventListener('focus', function(e) {\n      instance.open();\n      e.preventDefault();\n    });\n\n    \/\/ Prevent all key events\n    input.addEventListener('keydown', function(e) {\n      e.preventDefault();\n      instance.open(); \/\/ Optionally open the calendar on keydown\n    });\n\n    input.addEventListener('keypress', function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener('keyup', function(e) {\n      e.preventDefault();\n    });\n\n    \/\/ Also prevent paste, cut, etc.\n    input.addEventListener('paste', function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener('cut', function(e) {\n      e.preventDefault();\n    });\n\n    input.addEventListener('copy', function(e) {\n      e.preventDefault();\n    });\n\n    \/\/ Make sure the input doesn't get focused by tab key without opening the calendar\n    input.addEventListener('mousedown', function(e) {\n      \/\/ We don't prevent default because we want the click to trigger the calendar\n      \/\/ But we can force the calendar to open on mousedown as well if needed\n      \/\/ instance.open();\n    });\n  },\n  onKeyDown: function(selectedDates, dateStr, instance) {\n    return false; \/\/ Prevent any keyboard input in the Flatpickr instance\n  }\n};\r\n                                                                                            options['allowInput'] = true;\r\n                                            \t\t\t\t\t\t\t\t\t\t\t$.each($elements, function (i, $element) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t$element.flatpickr(options);\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\t\t\t\t\t$(window).on('elementor\/frontend\/init', function () {\r\n\t\t\t\t\t\t\t\t\t        elementorFrontend.hooks.addAction('frontend\/element_ready\/pafe-form-builder-field.default', WidgetPafeFormBuilderHandlerDatereturndate);\r\n\t\t\t\t\t\t\t\t\t    });\r\n\r\n\t\t\t\t\t\t\t\t\t}(jQuery)); \r\n\t\t\t\t\t\t\t\t<\/script>\r\n\t\t\t\t\t\t<\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div style=\"display:none\" class=\"elementor-element elementor-element-187a2c1 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"187a2c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-returnflightnumber elementor-col-100\" data-pafe-form-builder-conditional-logic=\"[{&quot;pafe_conditional_logic_form_if&quot;:&quot;dropofflocation&quot;,&quot;pafe_conditional_logic_form_comparison_operators&quot;:&quot;contains&quot;,&quot;pafe_conditional_logic_form_type&quot;:null,&quot;pafe_conditional_logic_form_value&quot;:&quot;Airport&quot;,&quot;_id&quot;:&quot;c0b921b&quot;,&quot;pafe_conditional_logic_form_action&quot;:[&quot;show&quot;],&quot;pafe_conditional_logic_form_set_value&quot;:null,&quot;pafe_conditional_logic_form_set_value_for&quot;:null,&quot;pafe_conditional_logic_form_and_or_operators&quot;:&quot;or&quot;},{&quot;pafe_conditional_logic_form_if&quot;:&quot;dropofflocation&quot;,&quot;pafe_conditional_logic_form_comparison_operators&quot;:&quot;contains&quot;,&quot;pafe_conditional_logic_form_type&quot;:null,&quot;pafe_conditional_logic_form_value&quot;:&quot;A\\u00e9roport&quot;,&quot;_id&quot;:&quot;38d7073&quot;,&quot;pafe_conditional_logic_form_action&quot;:[&quot;show&quot;],&quot;pafe_conditional_logic_form_set_value&quot;:null,&quot;pafe_conditional_logic_form_set_value_for&quot;:null,&quot;pafe_conditional_logic_form_and_or_operators&quot;:&quot;or&quot;},{&quot;pafe_conditional_logic_form_if&quot;:&quot;dropofflocation&quot;,&quot;pafe_conditional_logic_form_comparison_operators&quot;:&quot;contains&quot;,&quot;pafe_conditional_logic_form_type&quot;:null,&quot;pafe_conditional_logic_form_value&quot;:&quot;Luchthaven&quot;,&quot;_id&quot;:&quot;64170d2&quot;,&quot;pafe_conditional_logic_form_action&quot;:[&quot;show&quot;],&quot;pafe_conditional_logic_form_set_value&quot;:null,&quot;pafe_conditional_logic_form_set_value_for&quot;:null,&quot;pafe_conditional_logic_form_and_or_operators&quot;:&quot;or&quot;}]\" data-pafe-form-builder-conditional-logic-speed=\"400\" data-pafe-form-builder-conditional-logic-easing=\"swing\">\r\n\t\t\t\t<label for=\"form-field-returnflightnumber\" class=\"elementor-field-label\">Num\u00e9ro du vol de retour  <\/label><div data-pafe-form-builder-required><\/div><div class=\"pafe-field-container\"><input size=\"1\" class=\"elementor-field elementor-size- \" type=\"text\" name=\"form_fields[returnflightnumber]\" id=\"form-field-returnflightnumber\" autocomplete=\"on\" data-pafe-form-builder-default-value=\"\" data-pafe-form-builder-form-id=\"multistepbf\"><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7006707 elementor-hidden-tablet elementor-hidden-mobile elementor-hidden-desktop e-flex e-con-boxed e-con e-parent\" data-id=\"7006707\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b0b0c51 e-grid e-con-boxed e-con e-child\" data-id=\"b0b0c51\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cd3b561 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"cd3b561\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-calculated_fields elementor-field-group elementor-column elementor-field-group-distance1 elementor-col-100\">\r\n\t\t\t\t<label style=\"display:none\" for=\"form-field-distance1\" class=\"elementor-field-label pafe-label-inline\">distance1<\/label><div class=\"pafe-field-container pafe-field-inline\"><div class=\"pafe-calculated-fields-form\" style=\"width: 100%\"><span class=\"pafe-calculated-fields-form__value\"><\/span><\/div><input style=\"display:none!important;\" size=\"1\" type=\"text\" name=\"form_fields[distance1]\" id=\"form-field-distance1\" class=\"elementor-field elementor-size- \" data-pafe-form-builder-calculated-fields=\"\" data-pafe-form-builder-calculated-fields-before=\"\" data-pafe-form-builder-calculated-fields-after=\"\" data-pafe-form-builder-calculated-fields-rounding-decimals=\"0\" data-pafe-form-builder-calculated-fields-rounding-decimals-decimals-symbol=\".\" data-pafe-form-builder-calculated-fields-rounding-decimals-seperators-symbol=\",\" data-pafe-form-builder-calculated-fields-rounding-decimals-show=\"\" data-pafe-form-builder-remove-this-field-from-repeater=\"\" data-pafe-form-builder-form-id=\"multistepbf\" data-pafe-form-builder-calculated-fields-distance-calculation=\"\" data-pafe-form-builder-calculated-fields-distance-calculation-from-field-shortcode=\"\" data-pafe-form-builder-calculated-fields-distance-calculation-to-field-shortcode=\"[field id=&quot;pickuplocation&quot;]\" data-pafe-form-builder-calculated-fields-distance-calculation-unit=\"km\" data-pafe-form-builder-calculated-fields-distance-calculation-from=\"Karel Rogierplein, 1210 Sint-Joost-ten-Node\"><\/div><div data-pafe-form-builder-required><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a6eba6 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"7a6eba6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-calculated_fields elementor-field-group elementor-column elementor-field-group-distance2 elementor-col-100\">\r\n\t\t\t\t<label style=\"display:none\" for=\"form-field-distance2\" class=\"elementor-field-label pafe-label-inline\">distance2<\/label><div class=\"pafe-field-container pafe-field-inline\"><div class=\"pafe-calculated-fields-form\" style=\"width: 100%\"><span class=\"pafe-calculated-fields-form__value\"><\/span><\/div><input style=\"display:none!important;\" size=\"1\" type=\"text\" name=\"form_fields[distance2]\" id=\"form-field-distance2\" class=\"elementor-field elementor-size- \" data-pafe-form-builder-calculated-fields=\"\" data-pafe-form-builder-calculated-fields-before=\"\" data-pafe-form-builder-calculated-fields-after=\"\" data-pafe-form-builder-calculated-fields-rounding-decimals=\"0\" data-pafe-form-builder-calculated-fields-rounding-decimals-decimals-symbol=\".\" data-pafe-form-builder-calculated-fields-rounding-decimals-seperators-symbol=\",\" data-pafe-form-builder-calculated-fields-rounding-decimals-show=\"\" data-pafe-form-builder-remove-this-field-from-repeater=\"\" data-pafe-form-builder-form-id=\"multistepbf\" data-pafe-form-builder-calculated-fields-distance-calculation=\"\" data-pafe-form-builder-calculated-fields-distance-calculation-from-field-shortcode=\"[field id=&quot;pickuplocation&quot;]\" data-pafe-form-builder-calculated-fields-distance-calculation-to-field-shortcode=\"[field id=&quot;dropofflocation&quot;]\" data-pafe-form-builder-calculated-fields-distance-calculation-unit=\"km\"><\/div><div data-pafe-form-builder-required><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-830c966 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"830c966\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-calculated_fields elementor-field-group elementor-column elementor-field-group-distance3 elementor-col-100\">\r\n\t\t\t\t<label style=\"display:none\" for=\"form-field-distance3\" class=\"elementor-field-label pafe-label-inline\">distance3<\/label><div class=\"pafe-field-container pafe-field-inline\"><div class=\"pafe-calculated-fields-form\" style=\"width: 100%\"><span class=\"pafe-calculated-fields-form__value\"><\/span><\/div><input style=\"display:none!important;\" size=\"1\" type=\"text\" name=\"form_fields[distance3]\" id=\"form-field-distance3\" class=\"elementor-field elementor-size- \" data-pafe-form-builder-calculated-fields=\"\" data-pafe-form-builder-calculated-fields-before=\"\" data-pafe-form-builder-calculated-fields-after=\"\" data-pafe-form-builder-calculated-fields-rounding-decimals=\"0\" data-pafe-form-builder-calculated-fields-rounding-decimals-decimals-symbol=\".\" data-pafe-form-builder-calculated-fields-rounding-decimals-seperators-symbol=\",\" data-pafe-form-builder-calculated-fields-rounding-decimals-show=\"\" data-pafe-form-builder-remove-this-field-from-repeater=\"\" data-pafe-form-builder-form-id=\"multistepbf\" data-pafe-form-builder-calculated-fields-distance-calculation=\"\" data-pafe-form-builder-calculated-fields-distance-calculation-from-field-shortcode=\"[field id=&quot;dropofflocation&quot;]\" data-pafe-form-builder-calculated-fields-distance-calculation-to-field-shortcode=\"\" data-pafe-form-builder-calculated-fields-distance-calculation-unit=\"km\" data-pafe-form-builder-calculated-fields-distance-calculation-to=\"Karel Rogierplein, 1210 Sint-Joost-ten-Node\"><\/div><div data-pafe-form-builder-required><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d6ef10 elementor-widget elementor-widget-html\" data-id=\"7d6ef10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n\/\/ Global Module for Pricing Calculator\nconst PricingCalculator = (function () {\n    \/\/ Private Variables\n    let prijskm_coef = 0.49;  \/\/ Default coefficient per km\n    let prijsmin_coef = 0.26;  \/\/ Default coefficient per minute\n    let isnight = 0;          \/\/ Default night status\n    let isnightreturn = 0;    \/\/ Default night return status\n    let totalKms = 0;         \/\/ Total distance\n    let transfert = 1;        \/\/ Default transfert type\n    let airportpickup = 0;    \/\/ Airport pickup status\n    let airportdropoff = 0;   \/\/ Airport dropoff status\n    let basicprice = 0;       \/\/ Basic price (totalKms * prijskm_coef)\n    let isInitialLoad = true; \/\/ Track initial page load state\n\n    \/\/ Time-Based Pricing Variables\n    let totaltime120 = 0;\n    let pricetime120 = 0;\n    let totalprice120 = 0;\n    let totaltime200 = 0;\n    let pricetime200 = 0;\n    let totalprice200 = 0;\n    let totaltime300 = 0;\n    let pricetime300 = 0;\n    let totalprice300 = 0;\n\n    \/\/ Final Prices\n    let priceberlinefinal = 0;\n    let pricevanfinal = 0;\n\n    \/\/ Reference Address\n    const referenceAddress = \"Karel Rogierplein, 1210 Sint-Joost-ten-Node, Brussel, Belgi\u00eb\";\n\n    \/\/ Caching mechanism for distance calculations\n    const distanceCache = new Map();\n    const CACHE_DURATION = 45 * 60 * 1000; \/\/ 45 minutes in milliseconds\n\n    \/\/ Validation flags\n    let isValidPickupLocation = false;\n    let isValidDropoffLocation = false;\n\n    \/\/ Price tiers configuration\n    const priceTiers = [\n        { max: 45, value: 45 }, { max: 50, value: 50 }, { max: 55, value: 55 },\n        { max: 60, value: 60 }, { max: 65, value: 65 }, { max: 70, value: 70 },\n        { max: 75, value: 75 }, { max: 80, value: 80 }, { max: 85, value: 85 },\n        { max: 90, value: 90 }, { max: 95, value: 95 }, { max: 100, value: 100 },\n        { max: 105, value: 105 }, { max: 110, value: 110 }, { max: 115, value: 115 },\n        { max: 120, value: 120 }, { max: 125, value: 125 }, { max: 130, value: 130 },\n        { max: 135, value: 135 }, { max: 140, value: 140 }, { max: 145, value: 145 },\n        { max: 150, value: 150 }, { max: 155, value: 155 }, { max: 160, value: 160 },\n        { max: 165, value: 165 }, { max: 170, value: 170 }, { max: 175, value: 175 },\n        { max: 180, value: 180 }, { max: 185, value: 185 }, { max: 190, value: 190 },\n        { max: 195, value: 195 }, { max: 200, value: 200 }, { max: 205, value: 205 },\n        { max: 210, value: 210 }, { max: 215, value: 215 }, { max: 220, value: 220 },\n        { max: 225, value: 225 }, { max: 230, value: 230 }, { max: 235, value: 235 },\n        { max: 240, value: 240 }, { max: 245, value: 245 }, { max: 250, value: 250 },\n        { max: 255, value: 255 }, { max: 260, value: 260 }, { max: 265, value: 265 },\n        { max: 270, value: 270 }, { max: 275, value: 275 }, { max: 280, value: 280 },\n        { max: 285, value: 285 }, { max: 290, value: 290 }\n    ];\n\n    \/\/ Default reference pricing table\n    const distancePriceRanges = [\n        { min: 0.50, max: 17, price: 45 },\n        { min: 17.01, max: 23, price: 50 },\n        { min: 23.01, max: 26, price: 55 },\n        { min: 26.01, max: 29, price: 60 },\n        { min: 29.01, max: 32, price: 65 },\n        { min: 32.01, max: 35, price: 70 },\n        { min: 35.01, max: 38, price: 75 },\n        { min: 38.01, max: 41, price: 80 },\n        { min: 41.01, max: 45, price: 85 },\n        { min: 45.01, max: 55, price: 90 },\n        { min: 55.01, max: 65, price: 95 },\n        { min: 65.01, max: 75, price: 110 },\n        { min: 75.01, max: 85, price: 130 },\n        { min: 85.01, max: 95, price: 150 },\n        { min: 95.01, max: 105, price: 170 },\n        { min: 105.01, max: 120, price: 190 }\n    ];\n\n    \/\/ Helper function to handle return date visibility\n    const toggleReturnDateVisibility = (show) => {\n        const returnDateField = document.getElementById(\"form-field-returndate\") ||\n                                document.querySelector('[name=\"form_fields[returndate]\"]');\n        if (returnDateField) {\n            let container = returnDateField.closest('.piotnet-form__field-wrapper') ||\n                            returnDateField.closest('.elementor-field-group') ||\n                            returnDateField.closest('.piotnet-form-fields-wrapper') ||\n                            returnDateField.parentElement;\n            if (container) {\n                container.style.display = show ? '' : 'none';\n                if (typeof jQuery !== 'undefined') {\n                    jQuery(container).trigger('change');\n                    jQuery(returnDateField).trigger('input');\n                }\n            }\n        }\n    };\n\n    \/\/ Cache management functions\n    const generateCacheKey = (pickup, dropoff) => {\n        return `${pickup.trim().toLowerCase()}|${dropoff.trim().toLowerCase()}`;\n    };\n\n    const getCachedDistance = (pickup, dropoff) => {\n        const cacheKey = generateCacheKey(pickup, dropoff);\n        const cached = distanceCache.get(cacheKey);\n        if (cached && (Date.now() - cached.timestamp < CACHE_DURATION)) {\n            console.log(\"Using cached distance for:\", cacheKey);\n            return cached.distance;\n        }\n        if (cached) {\n            console.log(\"Cache expired for:\", cacheKey);\n            distanceCache.delete(cacheKey);\n        }\n        return null;\n    };\n\n    const setCachedDistance = (pickup, dropoff, distance) => {\n        const cacheKey = generateCacheKey(pickup, dropoff);\n        distanceCache.set(cacheKey, { distance, timestamp: Date.now() });\n        console.log(\"Distance cached for:\", cacheKey, \"Value:\", distance);\n    };\n\n    \/\/ Debounce function\n    const debounce = (func, wait) => {\n        let timeout;\n        return function executedFunction(...args) {\n            const later = () => { clearTimeout(timeout); func(...args); };\n            clearTimeout(timeout);\n            timeout = setTimeout(later, wait);\n        };\n    };\n\n    const resetPricesToZero = function () {\n        priceberlinefinal = 0;\n        pricevanfinal = 0;\n        const finalPriceField = document.getElementById(\"form-field-finalpriceberline\");\n        if (finalPriceField) finalPriceField.value = \"0.00\";\n        console.log(\"Prices reset to 0\");\n    };\n\n    const setDefaultDistances = function () {\n        [\"form-field-distance1\", \"form-field-distance2\", \"form-field-distance3\"].forEach(id => {\n            const field = document.getElementById(id);\n            if (field) { field.value = \"150\"; console.log(\"Set\", id, \"to 150\"); }\n        });\n    };\n\n    const areAllDistancesZero = function (d1, d2, d3) {\n        return d1 === 0 && d2 === 0 && d3 === 0;\n    };\n\n    const validateAddressFormat = function (address) {\n        if (!address || address.trim() === '') return false;\n        const addressPatterns = [\n            \/^[^,]+,\\s*\\d+[^,]*,\\s*\\d{4}\\s+[^,]+,\\s*[^,]+$\/,\n            \/^[^,]+,[^,]+,[^,]+\/,\n            \/^[^,]+,.+\/\n        ];\n        for (const pattern of addressPatterns) {\n            if (pattern.test(address.trim())) return true;\n        }\n        const commaCount = (address.match(\/,\/g) || []).length;\n        if (commaCount >= 1) {\n            const parts = address.split(',');\n            if (parts.length >= 2 && parts[1].trim().length > 0) return true;\n        }\n        return false;\n    };\n\n    const showAddressError = function (fieldId, message) {\n        const field = document.getElementById(fieldId);\n        if (!field) return;\n        const existingError = field.parentElement.querySelector('.address-error-message');\n        if (existingError) existingError.remove();\n        field.classList.remove('address-error');\n        const errorElement = document.createElement('div');\n        errorElement.className = 'address-error-message';\n        errorElement.style.cssText = `color:#dc2626;font-size:12px;margin-top:4px;padding:4px 8px;\n            background-color:#fef2f2;border-radius:4px;border-left:3px solid #dc2626;`;\n        errorElement.textContent = message;\n        field.classList.add('address-error');\n        field.style.borderColor = '#dc2626';\n        field.style.boxShadow = '0 0 0 1px #dc2626';\n        field.parentNode.insertBefore(errorElement, field.nextSibling);\n        setTimeout(() => {\n            if (errorElement.parentNode) {\n                errorElement.remove();\n                field.classList.remove('address-error');\n                field.style.borderColor = '';\n                field.style.boxShadow = '';\n            }\n        }, 5000);\n    };\n\n    const clearAddressError = function (fieldId) {\n        const field = document.getElementById(fieldId);\n        if (!field) return;\n        field.classList.remove('address-error');\n        field.style.borderColor = '';\n        field.style.boxShadow = '';\n        const existingError = field.parentElement.querySelector('.address-error-message');\n        if (existingError) existingError.remove();\n    };\n\n    const validateLocationField = function (fieldId, fieldName) {\n        const field = document.getElementById(fieldId);\n        if (!field) return false;\n        const value = field.value.trim();\n        if (value === '') {\n            showAddressError(fieldId, `Please select a ${fieldName} from the address list`);\n            return false;\n        }\n        if (!validateAddressFormat(value)) {\n            showAddressError(fieldId, `Please select a valid ${fieldName} from the address autocomplete list`);\n            return false;\n        }\n        clearAddressError(fieldId);\n        return true;\n    };\n\n    const validateBothLocations = function () {\n        const pickupValid = validateLocationField('form-field-pickuplocation', 'pickup location');\n        const dropoffValid = validateLocationField('form-field-dropofflocation', 'dropoff location');\n        isValidPickupLocation = pickupValid;\n        isValidDropoffLocation = dropoffValid;\n        return pickupValid && dropoffValid;\n    };\n\n    const checkExtraFeeZone = function (location) {\n        if (!location) return false;\n\n        \/\/ Skip zone fee if the address is an airport\n        const airportKeywords = ['(BRU)', '(OST)', '(LGG)', '(ANR)', '(CRL)', 'Luchthaven', 'Airport', 'A\u00e9roport'];\n        if (airportKeywords.some(k => location.includes(k))) return false;\n\n        const extraZones = [\n            'kraainem', 'tervuren', 'overijse', 'woluwe', 'oppem', 'zemst',\n            'steenokkerzeel', 'zaventem', 'hoeilaart', 'vilvoorde', 'kampenhout',\n            'vilvorde', 'campenhout', 'wezembeek', 'wezembeek-oppem'\n        ];\n        const lowerLocation = location.toLowerCase();\n        return extraZones.some(zone => lowerLocation.includes(zone));\n    };\n\n    \/*** NEW: Check if a location is a Belgian train station ***\/\n    const checkTrainStationFee = function (location) {\n        if (!location) return false;\n\n        \/\/ Multilingual keyword list: Dutch, French, English\n        \/\/ Patterns use word boundaries to avoid false positives on street names\n        \/\/ e.g. \"Stationstraat\" or \"Rue de la Gare\" should NOT trigger\n        const stationPatterns = [\n            \/\/ Dutch\n            \/\\btreinstation\\b\/i,\n            \/\\bstation\\b(?!s?traat|s?plein|s?weg|s?laan|s?dorp|s?wijk|s?plats)\/i,  \/\/ \"station\" but not \"stationstraat\" etc.\n            \/\\bcentralstation\\b\/i,\n            \/\\bhoofstation\\b\/i,\n            \/\/ French\n            \/\\bgare\\b(?!\\s+de\\s+la\\s+(?:rue|avenue|place|boulevard))\/i,  \/\/ \"gare\" but not \"rue de la gare\" as a street\n            \/\\bgare\\s+(centrale|du\\s+midi|du\\s+nord|de\\s+l[''']est|du\\s+luxembourg|de\\s+schaerbeek|d[''']ixelles|de\\s+namur|de\\s+li\u00e8ge|de\\s+bruges|de\\s+gand|d[''']anvers)\\b\/i,\n            \/\/ English\n            \/\\btrain\\s+station\\b\/i,\n            \/\\brailway\\s+station\\b\/i,\n            \/\\bcentral\\s+station\\b\/i,\n        ];\n\n        \/\/ Known Belgian train station names (both languages, major stations)\n        \/\/ These are matched as substrings because Google Places returns full formatted addresses\n        const knownStations = [\n            'brussel-centraal', 'bruxelles-central',\n            'brussel-noord', 'bruxelles-nord',\n            'brussel-zuid', 'bruxelles-midi',\n            'brussel-schuman', 'bruxelles-schuman',\n            'brussel-luxemburg', 'bruxelles-luxembourg',\n            'gent-sint-pieters', 'gand-saint-pierre',\n            'antwerpen-centraal', 'anvers-central',\n            'leuven station', 'station leuven',\n            'li\u00e8ge-guillemins', 'luik-guillemins',\n            'namur station', 'station namur',\n            'bruges station', 'station bruges',\n            'brugge station', 'station brugge',\n            'mechelen station', 'station mechelen',\n            'hasselt station', 'station hasselt',\n            'genk station', 'station genk',\n            'kortrijk station', 'station kortrijk',\n            'roeselare station', 'station roeselare',\n            'aalst station', 'station aalst',\n            'dendermonde station', 'station dendermonde',\n            'turnhout station', 'station turnhout',\n            'charleroi-sud', 'charleroi sud',\n            'mons station', 'station mons', 'bergen station',\n            'verviers station', 'station verviers',\n            'ottignies station', 'station ottignies',\n        ];\n\n        const lowerLocation = location.toLowerCase();\n\n        \/\/ Check known station names first (most reliable)\n        if (knownStations.some(name => lowerLocation.includes(name))) {\n            return true;\n        }\n\n        \/\/ Then check keyword patterns\n        return stationPatterns.some(pattern => pattern.test(location));\n    };\n\n    \/\/ Public API\n    return {\n        \/\/ Getter methods\n        getPrijskmCoef: () => prijskm_coef,\n        getPrijsminCoef: () => prijsmin_coef,\n        getIsNight: () => isnight,\n        getIsNightReturn: () => isnightreturn,\n        getTotalKms: () => totalKms,\n        getTransfert: () => transfert,\n        getAirportPickup: () => airportpickup,\n        getAirportDropoff: () => airportdropoff,\n        getBasicPrice: () => basicprice,\n        getTotalTime120: () => totaltime120,\n        getPriceTime120: () => pricetime120,\n        getTotalPrice120: () => totalprice120,\n        getTotalTime200: () => totaltime200,\n        getPriceTime200: () => pricetime200,\n        getTotalPrice200: () => totalprice200,\n        getTotalTime300: () => totaltime300,\n        getPriceTime300: () => pricetime300,\n        getTotalPrice300: () => totalprice300,\n        getPriceBerlineFinal: () => priceberlinefinal,\n        getPriceVanFinal: () => pricevanfinal,\n\n\n\/*** FUNCTION 1: CHECK NIGHT-TIME PRICING ***\/\ncheckNightTime: function () {\n    console.log(\"Executing checkNightTime...\");\n\n    const pickUpDateTime = document.getElementById(\"form-field-pickupdate\")?.value || \"\";\n    const returnDateTime = document.getElementById(\"form-field-returndate\")?.value || \"\";\n\n    console.log(\"DEBUG - Pickup field value:\", pickUpDateTime);\n    console.log(\"DEBUG - Return field value:\", returnDateTime);\n\n    function parseDateTime(datetimeString) {\n        if (!datetimeString || datetimeString.trim() === '') return null;\n        let match = null;\n        let hours = 0, minutes = 0;\n\n        match = datetimeString.match(\/^(\\d{1,2})-(\\d{1,2})-(\\d{4})\\s*-\\s*(\\d{1,2}):(\\d{2})$\/);\n        if (match) { hours = parseInt(match[4], 10); minutes = parseInt(match[5], 10); }\n\n        if (!match) {\n            match = datetimeString.match(\/^(\\d{1,2})-(\\d{1,2})-(\\d{4})\\s*-\\s*(\\d{1,2}):(\\d{2})\\s*(AM|PM|am|pm)$\/i);\n            if (match) {\n                hours = parseInt(match[4], 10); minutes = parseInt(match[5], 10);\n                const period = match[6].toUpperCase();\n                if (period === 'PM' && hours < 12) hours += 12;\n                else if (period === 'AM' && hours === 12) hours = 0;\n            }\n        }\n\n        if (!match) {\n            match = datetimeString.match(\/^(\\d{4})-(\\d{1,2})-(\\d{1,2})\\s+(\\d{1,2}):(\\d{2})$\/);\n            if (match) { hours = parseInt(match[4], 10); minutes = parseInt(match[5], 10); }\n        }\n\n        if (!match) {\n            match = datetimeString.match(\/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{4})\\s+(\\d{1,2}):(\\d{2})\\s*(AM|PM|am|pm)$\/i);\n            if (match) {\n                hours = parseInt(match[4], 10); minutes = parseInt(match[5], 10);\n                const period = match[6].toUpperCase();\n                if (period === 'PM' && hours < 12) hours += 12;\n                else if (period === 'AM' && hours === 12) hours = 0;\n            }\n        }\n\n        if (!match) {\n            match = datetimeString.match(\/^(\\d{1,2}):(\\d{2})\\s*(AM|PM|am|pm)?$\/i);\n            if (match) {\n                hours = parseInt(match[1], 10); minutes = parseInt(match[2], 10);\n                if (match[3]) {\n                    const period = match[3].toUpperCase();\n                    if (period === 'PM' && hours < 12) hours += 12;\n                    else if (period === 'AM' && hours === 12) hours = 0;\n                }\n            }\n        }\n\n        if (!match) return null;\n        if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) return null;\n        return { hours, minutes };\n    }\n\n    function isNightTime(datetimeString) {\n        const parsedTime = parseDateTime(datetimeString);\n        if (!parsedTime) return false;\n        const { hours, minutes } = parsedTime;\n        return (hours >= 0 && hours < 10) || (hours === 9 && minutes <= 30);\n    }\n\n    isnight = pickUpDateTime.trim() !== \"\" ? (isNightTime(pickUpDateTime) ? 1 : 0) : 0;\n    isnightreturn = returnDateTime.trim() !== \"\" ? (isNightTime(returnDateTime) ? 1 : 0) : 0;\n\n    console.log(\"Night status updated - pickup:\", isnight, \"return:\", isnightreturn);\n    return true;\n},\n\n        \/*** FUNCTION 2: UPDATE TOTAL DISTANCE ***\/\n        updateTotalDistance: function (forceUpdate = false) {\n            if (isInitialLoad && !forceUpdate) {\n                console.log(\"Skipping distance calculation on initial page load\");\n                return;\n            }\n\n            let pickup = document.getElementById(\"form-field-pickuplocation\")?.value || \"\";\n            let dropoff = document.getElementById(\"form-field-dropofflocation\")?.value || \"\";\n\n            const pickupValid = validateLocationField('form-field-pickuplocation', 'pickup location');\n            const dropoffValid = validateLocationField('form-field-dropofflocation', 'dropoff location');\n\n            if (!pickupValid || !dropoffValid) {\n                setDefaultDistances();\n                totalKms = 450;\n                this.triggerRecalculation();\n                return;\n            }\n\n            if (pickup.trim() === \"\" || dropoff.trim() === \"\") {\n                setDefaultDistances();\n                totalKms = 450;\n                this.triggerRecalculation();\n                return;\n            }\n\n            setTimeout(() => {\n                let distance1 = parseFloat(document.getElementById(\"form-field-distance1\")?.value) || 0;\n                let distance2 = parseFloat(document.getElementById(\"form-field-distance2\")?.value) || 0;\n                let distance3 = parseFloat(document.getElementById(\"form-field-distance3\")?.value) || 0;\n\n                if (areAllDistancesZero(distance1, distance2, distance3)) {\n                    setDefaultDistances();\n                    distance1 = distance2 = distance3 = 150;\n                    totalKms = 450;\n                    this.triggerRecalculation();\n                } else if (distance1 > 0 || distance2 > 0 || distance3 > 0) {\n                    const cachedDistance = getCachedDistance(pickup, dropoff);\n                    if (cachedDistance !== null) {\n                        totalKms = cachedDistance;\n                        this.triggerRecalculation();\n                        return;\n                    }\n                    totalKms = Math.round((distance1 + distance2 + distance3) * 100) \/ 100;\n                    setCachedDistance(pickup, dropoff, totalKms);\n                    this.triggerRecalculation();\n                } else {\n                    setDefaultDistances();\n                    totalKms = 450;\n                    this.triggerRecalculation();\n                }\n            }, 2000);\n        },\n\n        \/*** FUNCTION 3: HANDLE LOCATION CHANGES ***\/\n        handleLocationChange: function (event) {\n            console.log(\"Location field changed - triggering distance calculation\");\n            isInitialLoad = false;\n\n            const eventTarget = event?.target;\n            if (eventTarget) {\n                const fieldId = eventTarget.id;\n                if (fieldId === 'form-field-pickuplocation') {\n                    validateLocationField('form-field-pickuplocation', 'pickup location');\n                } else if (fieldId === 'form-field-dropofflocation') {\n                    validateLocationField('form-field-dropofflocation', 'dropoff location');\n                }\n            }\n\n            this.updateTotalDistance(true);\n        },\n\n        \/*** FUNCTION 4: UPDATE TRANSFERT TYPE ***\/\n        updateTransfertType: function () {\n            const radioButtons = document.querySelectorAll(\"input[name='form_fields[transferttype]']\");\n            const retourKmsField = document.getElementById(\"form-field-retour_kms\");\n            const previousTransfert = transfert;\n            transfert = 1;\n\n            radioButtons.forEach(radio => {\n                if (radio.checked && radio.value.toLowerCase() === \"return\") transfert = 2;\n            });\n\n            if (previousTransfert !== transfert) {\n                console.log(\"Transfert changed to:\", transfert);\n                toggleReturnDateVisibility(transfert === 2);\n                if (retourKmsField) {\n                    retourKmsField.value = transfert;\n                    [\"input\", \"change\"].forEach(e => retourKmsField.dispatchEvent(new Event(e, { bubbles: true })));\n                }\n                this.updateAirportStatus();\n                this.triggerRecalculation();\n            }\n        },\n\n        \/*** FUNCTION 5: UPDATE AIRPORT STATUS ***\/\n        updateAirportStatus: function () {\n            const pickupField = document.getElementById(\"form-field-pickuplocation\");\n            const dropoffField = document.getElementById(\"form-field-dropofflocation\");\n            const airportPickupField = document.getElementById(\"form-field-airport_pickup\");\n            const airportDropoffField = document.getElementById(\"form-field-airport_dropoff\");\n\n            airportpickup = 0;\n            airportdropoff = 0;\n\n            const airportKeywords = ['(BRU)', '(OST)', '(LGG)', '(ANR)', '(CRL)', 'Luchthaven', 'Airport', 'A\u00e9roport'];\n\n            if (pickupField && transfert === 1) {\n                airportpickup = airportKeywords.some(k => pickupField.value.includes(k)) ? 1 : 0;\n            }\n            if (dropoffField && transfert === 2) {\n                airportdropoff = airportKeywords.some(k => dropoffField.value.includes(k)) ? 1 : 0;\n            }\n\n            console.log(\"Airport Pickup:\", airportpickup, \"| Airport Dropoff:\", airportdropoff);\n\n            if (airportPickupField) {\n                airportPickupField.value = airportpickup;\n                [\"input\", \"change\"].forEach(e => airportPickupField.dispatchEvent(new Event(e, { bubbles: true })));\n            }\n            if (airportDropoffField) {\n                airportDropoffField.value = airportdropoff;\n                [\"input\", \"change\"].forEach(e => airportDropoffField.dispatchEvent(new Event(e, { bubbles: true })));\n            }\n        },\n\n        \/*** FUNCTION 6: CALCULATE BASIC PRICE ***\/\n        calculateBasicPrice: function () {\n            if (totalKms !== 0 && prijskm_coef !== 0) {\n                basicprice = Math.round((totalKms * prijskm_coef) * 100) \/ 100;\n            } else {\n                basicprice = 0;\n            }\n            console.log(\"Basic Price:\", basicprice);\n        },\n\n        \/*** FUNCTION 7: CALCULATE TIME-BASED PRICES ***\/\n        calculateTimeBasedPrices: function () {\n            if (totalKms === 0) {\n                priceberlinefinal = 0;\n                pricevanfinal = 0;\n                const finalPriceField = document.getElementById(\"form-field-finalpriceberline\");\n                if (finalPriceField) finalPriceField.value = \"0.00\";\n                return;\n            }\n\n            const directDistance = parseFloat(document.getElementById(\"form-field-distance2\")?.value) || 0;\n            const pickupLocation = document.getElementById(\"form-field-pickuplocation\")?.value || \"\";\n            const dropoffLocation = document.getElementById(\"form-field-dropofflocation\")?.value || \"\";\n\n            const isBrusselsAirport =\n                pickupLocation.includes(\"Brussels Airport (BRU)\") || pickupLocation.includes(\"(BRU)\") ||\n                dropoffLocation.includes(\"Brussels Airport (BRU)\") || dropoffLocation.includes(\"(BRU)\");\n\n            \/\/ Time-based price calculations\n            totaltime120 = Math.round(((totalKms \/ 32) \/ 100) * 6000 * 100) \/ 100;\n            pricetime120 = Math.round(totaltime120 * prijsmin_coef * 100) \/ 100;\n            totalprice120 = Math.ceil(basicprice + pricetime120);\n\n            totaltime200 = Math.round(((totalKms \/ 55) \/ 100) * 6000 * 100) \/ 100;\n            pricetime200 = Math.round(totaltime200 * prijsmin_coef * 100) \/ 100;\n            totalprice200 = Math.ceil(basicprice + pricetime200);\n\n            totaltime300 = Math.round(((totalKms \/ 65) \/ 100) * 6000 * 100) \/ 100;\n            pricetime300 = Math.round(totaltime300 * prijsmin_coef * 100) \/ 100;\n            totalprice300 = Math.ceil(basicprice + pricetime300);\n\n            let calculatedPrice;\n            if (totalKms <= 0) {\n                calculatedPrice = 0;\n            } else if (totalKms < 120) {\n                calculatedPrice = totalprice120;\n            } else if (totalKms <= 200) {\n                calculatedPrice = totalprice200;\n            } else {\n                calculatedPrice = totalprice300;\n            }\n\n            if (calculatedPrice < 45) calculatedPrice = 45;\n            if (calculatedPrice <= 0) calculatedPrice = 0;\n\n            if (calculatedPrice > 45 && calculatedPrice <= 290) {\n                for (const tier of priceTiers) {\n                    if (calculatedPrice <= tier.max) { calculatedPrice = tier.value; break; }\n                }\n            }\n\n            let basePrice = calculatedPrice;\n\n            if ((directDistance > 0 && directDistance <= 120) && isBrusselsAirport) {\n                let referencePrice = 45;\n                for (const range of distancePriceRanges) {\n                    if (directDistance > range.min && directDistance <= range.max) {\n                        referencePrice = range.price;\n                        break;\n                    }\n                }\n                if (calculatedPrice > referencePrice) {\n                    basePrice = referencePrice;\n                    console.log(\"Using reference price for distance\", directDistance, \"km:\", referencePrice, \"\u20ac\");\n                }\n            }\n\n            \/\/ Apply transfert multiplier\n            priceberlinefinal = basePrice * transfert;\n\n            \/\/ --- Extra fee: specific zones ---\n            let extraZoneFee = 0;\n            if (checkExtraFeeZone(pickupLocation) || checkExtraFeeZone(dropoffLocation)) {\n                extraZoneFee = 5;\n                console.log(\"Adding 5\u20ac zone fee (Kraainem\/Tervuren\/Overijse\/...)\");\n            }\n\n            \/\/ --- NEW: Train station fee ---\n            let trainStationFee = 0;\n            if (checkTrainStationFee(pickupLocation) || checkTrainStationFee(dropoffLocation)) {\n                trainStationFee = 10;\n                console.log(\"Adding 10\u20ac train station fee\");\n            }\n\n            \/\/ --- Additional charges ---\n            let additionalCharges = 0;\n\n            if (airportpickup && transfert === 1) {\n                additionalCharges += 10;\n                console.log(\"Adding 10\u20ac for airport pickup\");\n            }\n            if (airportdropoff && transfert === 2) {\n                additionalCharges += 10;\n                console.log(\"Adding 10\u20ac for airport dropoff\");\n            }\n            if (isnight) {\n                additionalCharges += 10;\n                console.log(\"Adding 10\u20ac for nighttime one-way trip\");\n            }\n            if (isnightreturn && transfert === 2) {\n                additionalCharges += 10;\n                console.log(\"Adding 10\u20ac for nighttime return trip\");\n            }\n            if (extraZoneFee > 0) {\n                additionalCharges += extraZoneFee;\n            }\n            if (trainStationFee > 0) {\n                additionalCharges += trainStationFee;\n            }\n\n            priceberlinefinal = priceberlinefinal + additionalCharges;\n            pricevanfinal = priceberlinefinal + 50;\n\n            console.log(\"--- Price Calculation ---\");\n            console.log(\"Direct distance (distance2):\", directDistance, \"km\");\n            console.log(\"Total route distance (totalKms):\", totalKms, \"km\");\n            console.log(\"Calculated Price (single trip):\", calculatedPrice, \"\u20ac\");\n            console.log(\"Base Price (before transfert):\", basePrice, \"\u20ac\");\n            console.log(\"Transfert multiplier:\", transfert, \"x\");\n            console.log(\"Price after transfert:\", basePrice * transfert, \"\u20ac\");\n            console.log(\"Extra zone fee:\", extraZoneFee, \"\u20ac\");\n            console.log(\"Train station fee:\", trainStationFee, \"\u20ac\");\n            console.log(\"Total additional charges:\", additionalCharges, \"\u20ac\");\n            console.log(\"Final Berline Price:\", priceberlinefinal, \"\u20ac\");\n            console.log(\"Final Van Price:\", pricevanfinal, \"\u20ac\");\n\n            const finalPriceField = document.getElementById(\"form-field-finalpriceberline\");\n            if (finalPriceField) finalPriceField.value = priceberlinefinal.toFixed(2);\n        },\n\n        \/*** FUNCTION 8: TRIGGER FULL RECALCULATION ***\/\n        triggerRecalculation: function () {\n            this.calculateBasicPrice();\n            this.calculateTimeBasedPrices();\n        },\n\n        \/*** FUNCTION 9: ATTACH EVENT LISTENERS ***\/\n        attachListeners: function () {\n            const debouncedLocationChange = debounce((event) => {\n                this.handleLocationChange(event);\n                this.updateAirportStatus();\n            }, 1000);\n\n            const locationFields = [\"form-field-pickuplocation\", \"form-field-dropofflocation\"];\n            locationFields.forEach(fieldId => {\n                const field = document.getElementById(fieldId);\n                if (field) {\n                    field.addEventListener(\"change\", debouncedLocationChange);\n                    field.addEventListener(\"input\", debouncedLocationChange);\n                    field.addEventListener(\"blur\", () => {\n                        const fieldName = fieldId === 'form-field-pickuplocation' ? 'pickup location' : 'dropoff location';\n                        validateLocationField(fieldId, fieldName);\n                        this.updateTotalDistance(true);\n                    });\n                    field.addEventListener(\"focus\", () => clearAddressError(fieldId));\n                }\n            });\n\n            [\"form-field-distance1\", \"form-field-distance2\", \"form-field-distance3\"].forEach(fieldId => {\n                const field = document.getElementById(fieldId);\n                if (field) field.addEventListener(\"change\", this.updateTotalDistance.bind(this));\n            });\n\n            [\"form-field-pickupdate\", \"form-field-returndate\"].forEach(fieldId => {\n                const field = document.getElementById(fieldId);\n                if (field) {\n                    field.addEventListener(\"change\", () => { this.checkNightTime(); this.triggerRecalculation(); });\n                    field.addEventListener(\"input\", () => { this.checkNightTime(); this.triggerRecalculation(); });\n                }\n            });\n\n            document.querySelectorAll(\"input[name='form_fields[transferttype]']\").forEach(radio => {\n                radio.addEventListener(\"change\", this.updateTransfertType.bind(this));\n            });\n\n            const form = document.querySelector('form') ||\n                         document.querySelector('.piotnet-form') ||\n                         document.querySelector('.elementor-form');\n            if (form) {\n                form.addEventListener('submit', (event) => {\n                    if (!validateBothLocations()) {\n                        event.preventDefault();\n                        event.stopPropagation();\n                        alert('Please select valid addresses from the autocomplete list for both pickup and dropoff locations.');\n                        return false;\n                    }\n                });\n            }\n        },\n\n        \/*** FUNCTION 10: INITIALIZATION ***\/\n        init: function () {\n            setTimeout(() => { isInitialLoad = false; toggleReturnDateVisibility(false); }, 500);\n            setTimeout(() => {\n                this.updateAirportStatus();\n                this.calculateBasicPrice();\n                this.calculateTimeBasedPrices();\n            }, 250);\n            this.attachListeners();\n            setTimeout(() => {\n                const pickupField = document.getElementById(\"form-field-pickupdate\");\n                const returnField = document.getElementById(\"form-field-returndate\");\n                console.log(\"DEBUG - Pickup field exists:\", !!pickupField, \"Value:\", pickupField?.value);\n                console.log(\"DEBUG - Return field exists:\", !!returnField, \"Value:\", returnField?.value);\n                this.checkNightTime();\n            }, 1000);\n        },\n\n        \/*** CACHE MANAGEMENT ***\/\n        clearCache: function () { distanceCache.clear(); console.log(\"Distance cache cleared\"); },\n        getCacheStats: function () { return { size: distanceCache.size, entries: Array.from(distanceCache.entries()) }; },\n\n        \/*** PUBLIC HELPERS (expose private functions) ***\/\n        setDefaultDistances: function () { setDefaultDistances(); },\n        areAllDistancesZero: function (d1, d2, d3) { return areAllDistancesZero(d1, d2, d3); },\n        validateAddressFormat: function (address) { return validateAddressFormat(address); },\n        showAddressError: function (fieldId, message) { showAddressError(fieldId, message); },\n        clearAddressError: function (fieldId) { clearAddressError(fieldId); },\n        validateLocationField: function (fieldId, fieldName) { return validateLocationField(fieldId, fieldName); },\n        validateBothLocations: function () { return validateBothLocations(); },\n        checkExtraFeeZone: function (location) { return checkExtraFeeZone(location); },\n        checkTrainStationFee: function (location) { return checkTrainStationFee(location); }\n    };\n})();\n\n\/\/ Initialize with Elementor compatibility\ndocument.addEventListener('DOMContentLoaded', function () {\n    if (typeof jQuery !== 'undefined') {\n        jQuery(window).on('elementor\/frontend\/init', function () { PricingCalculator.init(); });\n        if (window.elementorFrontend) PricingCalculator.init();\n    } else {\n        PricingCalculator.init();\n    }\n});\n<\/script>\n\n<style>\n.address-error {\n    border-color: #dc2626 !important;\n    box-shadow: 0 0 0 1px #dc2626 !important;\n}\n.address-error-message {\n    color: #dc2626;\n    font-size: 12px;\n    margin-top: 4px;\n    padding: 4px 8px;\n    background-color: #fef2f2;\n    border-radius: 4px;\n    border-left: 3px solid #dc2626;\n    animation: fadeIn 0.3s ease-in;\n}\n@keyframes fadeIn {\n    from { opacity: 0; transform: translateY(-5px); }\n    to   { opacity: 1; transform: translateY(0); }\n}\n<\/style>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-buttons\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-button\">\n\t\t\t\t\t\t\t\t\t\t<button class=\"elementor-button pafe-form-builder-button elementor-size-sm\" role=\"button\" data-pafe-form-builder-required-text=\"Ce champ est obligatoire.\" data-pafe-form-builder-nav-form-id=\"multistepbf\" data-pafe-form-builder-stripe-submit=\"\" data-pafe-form-builder-stripe-currency=\"EUR\" data-pafe-form-builder-stripe-amount-field=\"[field id=&quot;total&quot;]\" data-pafe-form-builder-nav=\"next\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Suivant<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div id=\"pafe-form-builder-trigger-success-multistepbf\" data-pafe-form-builder-trigger-success=\"multistepbf\" data-disable-clean-form=\"no\" style=\"display: none\"><\/div>\n\t\t\t\t\t\t\t<div id=\"pafe-form-builder-trigger-failed-multistepbf\" data-pafe-form-builder-trigger-failed=\"multistepbf\" style=\"display: none\"><\/div>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item\" data-pafe-form-builder-step-item-id=\"2808\">\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-shortcode\">\n\t\t\t\t\t\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"4505\" class=\"elementor elementor-4505 elementor-2808 elementor-2808\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-2e99db1 e-grid e-con-boxed e-con e-parent\" data-id=\"2e99db1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-9a6d040 e-flex e-con-boxed e-con e-child\" data-id=\"9a6d040\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4042556 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"4042556\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-number elementor-field-group elementor-column elementor-field-group-persons elementor-col-100 elementor-field-required elementor-mark-required\">\r\n\t\t\t\t<label for=\"form-field-persons\" class=\"elementor-field-label pafe-label-inline\">Nombre de personnes<\/label><div class=\"pafe-field-container pafe-field-inline\"><input class=\"elementor-field elementor-size-  elementor-field-textual\" type=\"number\" name=\"form_fields[persons]\" id=\"form-field-persons\" autocomplete=\"off\" data-pafe-form-builder-default-value=\"\" required=\"required\" aria-required=\"true\" data-pafe-form-builder-form-id=\"multistepbf\" step=\"any\" data-pafe-remove-value=\"false\" min=\"1\" max=\"7\"><\/div><div data-pafe-form-builder-required><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-679c8c0 e-flex e-con-boxed e-con e-child\" data-id=\"679c8c0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c9f6efe elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"c9f6efe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-number elementor-field-group elementor-column elementor-field-group-bags elementor-col-100 elementor-field-required elementor-mark-required\">\r\n\t\t\t\t<label for=\"form-field-bags\" class=\"elementor-field-label pafe-label-inline\">Nombre de bagages<\/label><div class=\"pafe-field-container pafe-field-inline\"><input class=\"elementor-field elementor-size-  elementor-field-textual\" type=\"number\" name=\"form_fields[bags]\" id=\"form-field-bags\" autocomplete=\"off\" data-pafe-form-builder-default-value=\"\" required=\"required\" aria-required=\"true\" data-pafe-form-builder-form-id=\"multistepbf\" step=\"any\" data-pafe-remove-value=\"false\" min=\"0\" max=\"10\"><\/div><div data-pafe-form-builder-required><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6059a51 e-flex e-con-boxed e-con e-parent\" data-id=\"6059a51\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b2096dd e-flex e-con-boxed e-con e-child\" data-id=\"b2096dd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-081548e elementor-widget elementor-widget-html\" data-id=\"081548e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<head><meta charset=\"UTF-8\"><meta name=\"viewport_carselection\" content=\"width=device-width, initial-scale=1\"><title>Car Selection<\/title><style>.selection-container {\r\n            display: flex;\r\n            justify-content: space-around;\r\n            margin-top: 20px;\r\n        }\r\n\r\n        .car-option {\r\n            width: 150px;\r\n            height: 150px;\r\n            background-size: cover;\r\n            background-position: center;\r\n            border: 2px solid #EBC10D;\r\n            border-radius: 10px;\r\n            cursor: pointer;\r\n            transition: border 0.3s, background-color 0.3s;\r\n            position: relative;\r\n        }\r\n\r\n        .car-option.selected {\r\n            border: 2px solid #EBC10D;\r\n            background-color: #EBC10D;\r\n        }\r\n\r\n        .car-option.disabled {\r\n            opacity: 0.5;\r\n            pointer-events: none;\r\n            cursor: not-allowed;\r\n        }\r\n\r\n        #car-type {\r\n            display: none;\r\n        }\r\n\r\n        .price-label {\r\n            position: absolute;\r\n            bottom: 10px;\r\n            left: 50%;\r\n            transform: translateX(-50%);\r\n            background-color: #EBC10D;\r\n            color: #fff;\r\n            padding: 10px;\r\n            border-radius: 10px;\r\n            font-size: 18px;\r\n            font-weight: bold;\r\n        }\r\n\r\n        #form-field-displayselectedcar {\r\n            display: none;\r\n        }\r\n    <\/style><\/head><body><h4>Your Transport Vehicle<\/h4><select id=\"car-type\" name=\"cartypeselection\"><option value=\"berline\" selected>Berline<\/option><option value=\"van\">Van<\/option><\/select><div class=\"selection-container\"><div id=\"berline\" class=\"car-option selected\" data-value=\"berline\" style=\"background-image: url('http:\/\/easytaxibelgium.be\/wp-content\/uploads\/2024\/11\/easytaxibelgium_voertuigvoorbeeld2.png');\"><div class=\"price-label\" id=\"priceberline_1\">Loading...<\/div><\/div><div id=\"van\" class=\"car-option\" data-value=\"van\" style=\"background-image: url('http:\/\/easytaxibelgium.be\/wp-content\/uploads\/2024\/11\/easytaxibelgium_voertuigvoorbeeld1.png');\"><div class=\"price-label\" id=\"pricevan_1\">Loading...<\/div><\/div><\/div><div style=\"display: none;\"><select id=\"form-field-displayselectedcar\" name=\"selectedcar\" disabled><option value=\"berline\">Berline<\/option><option value=\"van\">Van<\/option><\/select><label for=\"form-field-displayprice\">Price:<\/label><input type=\"text\" id=\"form-field-displayprice\" disabled value=\"N\/A\"><\/div><!-- Piotnet Hidden Input Fields --><input type=\"hidden\" id=\"form-field-priceberline_final\" value=\"100\"><input type=\"hidden\" id=\"form-field-pricevan_final\" value=\"150\"><\/body>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6f9b01b e-flex e-con-boxed e-con e-parent\" data-id=\"6f9b01b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8fdda4d elementor-widget elementor-widget-html\" data-id=\"8fdda4d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>document.addEventListener(\"DOMContentLoaded\", function () {\r\n        \r\n        \/\/ Function to get prices from PricingCalculator module\r\n        function getPrices() {\r\n            return {\r\n                berline: PricingCalculator.getPriceBerlineFinal() || 0,\r\n                van: PricingCalculator.getPriceVanFinal() || 0\r\n            };\r\n        }\r\n\r\n        \/\/ Function to update price labels\r\n        function updatePriceLabels() {\r\n            const prices = getPrices(); \r\n            document.getElementById(\"priceberline_1\").textContent = `${prices.berline} \\u20AC`;\r\n            document.getElementById(\"pricevan_1\").textContent = `${prices.van} \\u20AC`;\r\n            \r\n            displayPrice.value = `${prices[carTypeSelection.value]} \\u20AC`;\r\n\r\n            \/\/ Update total field when prices change\r\n            updateTotalField(carTypeSelection.value);\r\n        }\r\n\r\n        \/\/ Function to update total field\r\n        function updateTotalField(selectedCar) {\r\n            const prices = getPrices();\r\n            const totalField = document.getElementById(\"form-field-total\");\r\n            if (totalField) {\r\n                totalField.value = prices[selectedCar] || 0;\r\n                totalField.dispatchEvent(new Event(\"input\", { bubbles: true }));\r\n            }\r\n        }\r\n\r\n        const prices = { berline: 0, van: 0 };\r\n\r\n        const carTypeSelection = document.getElementById(\"car-type\");\r\n        const displaySelectedCar = document.getElementById(\"form-field-displayselectedcar\");\r\n        const displayPrice = document.getElementById(\"form-field-displayprice\");\r\n        const personsInput = document.getElementById(\"form-field-persons\");\r\n        const bagsInput = document.getElementById(\"form-field-bags\");\r\n        const berlineOption = document.getElementById(\"berline\");\r\n        const vanOption = document.getElementById(\"van\");\r\n        const options = document.querySelectorAll('.car-option');\r\n\r\n        function updateCarSelection(selectedCar) {\r\n            carTypeSelection.value = selectedCar;\r\n            displaySelectedCar.value = selectedCar;\r\n            displayPrice.value = `${prices[selectedCar]} \\u20AC`;\r\n\r\n            options.forEach(option => {\r\n                option.classList.toggle('selected', option.getAttribute('data-value') === selectedCar);\r\n            });\r\n\r\n            \/\/ Update total field on car selection\r\n            updateTotalField(selectedCar);\r\n        }\r\n\r\n        function checkPersonAndBagLimits() {\r\n            const persons = parseInt(personsInput.value, 10) || 1;\r\n            const bags = parseInt(bagsInput.value, 10) || 0;\r\n\r\n            if (persons > 4 || bags > 4) {\r\n                \/\/ If persons or bags exceed 4, disable Berline and select Van\r\n                berlineOption.classList.add(\"disabled\");\r\n                vanOption.classList.remove(\"disabled\");\r\n                updateCarSelection(\"van\");\r\n            } else {\r\n                \/\/ Enable both options and let the user select either\r\n                berlineOption.classList.remove(\"disabled\");\r\n                vanOption.classList.add(\"disabled\");\r\n                updateCarSelection(\"berline\");\r\n            }\r\n        }\r\n        \r\n        personsInput.addEventListener(\"input\", checkPersonAndBagLimits);\r\n        bagsInput.addEventListener(\"input\", checkPersonAndBagLimits);\r\n\r\n        options.forEach(option => {\r\n            option.addEventListener('click', function () {\r\n                if (!this.classList.contains(\"disabled\")) {\r\n                    updateCarSelection(this.getAttribute('data-value'));\r\n                }\r\n            });\r\n        });\r\n\r\n        const observer = new MutationObserver(updatePriceLabels);\r\n        observer.observe(document.getElementById(\"form-field-priceberline_final\"), { attributes: true, childList: true, subtree: true });\r\n        observer.observe(document.getElementById(\"form-field-pricevan_final\"), { attributes: true, childList: true, subtree: true });\r\n\r\n        setInterval(updatePriceLabels, 100);\r\n\r\n        updatePriceLabels();\r\n        checkPersonAndBagLimits();\r\n        \r\n        \/\/ Clear and hide distance fields\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-71eef22 elementor-widget elementor-widget-pafe-form-builder-field\" data-id=\"71eef22\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-form-builder-field.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\r\n\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above pafe-form-builder-field\">\r\n\t\t\t<div class=\"elementor-field-type-hidden elementor-field-group elementor-column elementor-field-group-total elementor-col-100\">\r\n\t\t\t\t<label style=\"display:none\" for=\"form-field-total\" class=\"elementor-field-label pafe-label-inline\">total<\/label><div class=\"pafe-field-container pafe-field-inline\"><input size=\"1\" class=\"elementor-field elementor-size- \" type=\"hidden\" name=\"form_fields[total]\" id=\"form-field-total\" autocomplete=\"on\" data-pafe-form-builder-default-value=\"1\" value=\"1\" data-pafe-form-builder-value=\"1\" data-pafe-form-builder-remove-this-field-from-repeater=\"\" data-pafe-form-builder-form-id=\"multistepbf\" data-pafe-form-remove-value=\"\"><\/div><div data-pafe-form-builder-required><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-buttons\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-button\">\n\t\t\t\t\t\t\t\t\t\t<button class=\"elementor-button pafe-form-builder-button elementor-size-sm\" role=\"button\" data-pafe-form-builder-required-text=\"Ce champ est obligatoire.\" data-pafe-form-builder-nav-form-id=\"multistepbf\" data-pafe-form-builder-stripe-submit=\"\" data-pafe-form-builder-stripe-currency=\"EUR\" data-pafe-form-builder-stripe-amount-field=\"[field id=&quot;total&quot;]\" data-pafe-form-builder-nav=\"prev\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Pr\u00e9c\u00e9dent<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-button\">\n\t\t\t\t\t\t\t\t\t\t<button class=\"elementor-button pafe-form-builder-button elementor-size-sm\" role=\"button\" data-pafe-form-builder-required-text=\"Ce champ est obligatoire.\" data-pafe-form-builder-nav-form-id=\"multistepbf\" data-pafe-form-builder-stripe-submit=\"\" data-pafe-form-builder-stripe-currency=\"EUR\" data-pafe-form-builder-stripe-amount-field=\"[field id=&quot;total&quot;]\" data-pafe-form-builder-nav=\"next\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Suivant<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div id=\"pafe-form-builder-trigger-success-multistepbf\" data-pafe-form-builder-trigger-success=\"multistepbf\" data-disable-clean-form=\"no\" style=\"display: none\"><\/div>\n\t\t\t\t\t\t\t<div id=\"pafe-form-builder-trigger-failed-multistepbf\" data-pafe-form-builder-trigger-failed=\"multistepbf\" style=\"display: none\"><\/div>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item\" data-pafe-form-builder-step-item-id=\"3313\">\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-shortcode\">\n\t\t\t\t\t\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"4495\" class=\"elementor elementor-4495 elementor-3313 elementor-3313\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-044c861 e-flex e-con-boxed e-con e-parent\" data-id=\"044c861\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-4c9114f e-grid e-con-full e-con e-child\" data-id=\"4c9114f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4f1fa8a elementor-widget elementor-widget-pafe-woocommerce-checkout\" data-id=\"4f1fa8a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pafe-woocommerce-checkout.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div data-pafe-woocommerce-checkout-form-id=\"multistepbf\" data-pafe-woocommerce-checkout-custom-message=\"This field is required.\" data-pafe-woocommerce-checkout-product-id=\"2810\" data-pafe-woocommerce-checkout-post-id=\"4549\" data-pafe-woocommerce-checkout-id=\"4f1fa8a\" >\n\t\t\t<div class=\"woocommerce\"><\/div>\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b65291b e-flex e-con-boxed e-con e-parent\" data-id=\"b65291b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-73f1863 elementor-widget elementor-widget-html\" data-id=\"73f1863\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>document.addEventListener(\"DOMContentLoaded\", function () {\n    \/\/ Debounce utility to prevent excessive executions\n    function debounce(func, delay) {\n        let timeout;\n        return function () {\n            clearTimeout(timeout);\n            timeout = setTimeout(() => func.apply(this, arguments), delay);\n        };\n    }\n\n    \/\/ Hide a dt\/dd pair by class\n    function hideDefinitionItem(selector) {\n        const dt = document.querySelector(`dt.${selector}`);\n        if (dt) {\n            dt.style.display = 'none';\n            const dd = Array.from(dt.parentNode.children).find(\n                el => el.tagName === 'DD' && el.previousElementSibling === dt\n            );\n            if (dd) dd.style.display = 'none';\n        }\n    }\n\n    \/\/ Change billing fields title to \"Client Details\"\n    function changeBillingTitle() {\n        const billingTitle = document.querySelector('.woocommerce-billing-fields > h3');\n        if (billingTitle) {\n            billingTitle.textContent = 'Client Details';\n        }\n    }\n\n    \/\/ Hide form-field-total elements\n    function hideFormFieldTotal() {\n        document.querySelectorAll('.form-field-total').forEach(element => {\n            element.style.display = 'none';\n        });\n    }\n\n    \/\/ Main logic to adjust the checkout table\n    function modifyCheckoutTable() {\n        const reviewTable = document.querySelector(\".shop_table.woocommerce-checkout-review-order-table\");\n\n        if (reviewTable) {\n            \/\/ Remove the table header row\n            const thead = reviewTable.querySelector('thead');\n            if (thead) {\n                thead.remove();\n            }\n\n            \/\/ Remove the cart-subtotal row in the footer\n            const subtotalRow = reviewTable.querySelector('tfoot .cart-subtotal');\n            if (subtotalRow) {\n                subtotalRow.remove();\n            }\n        }\n\n        \/\/ Clear quantity fields\n        document.querySelectorAll('.product-quantity').forEach(qty => {\n            qty.textContent = '';\n        });\n        document.querySelectorAll('.product-total').forEach(qty => {\n            qty.textContent = '';\n        });\n\n        \/\/ Hide specific fields\n        ['variation-totaal', 'variation-total', 'variation-distance1', 'variation-distance2', 'variation-distance3']\n            .forEach(hideDefinitionItem);\n        \n        \/\/ Update billing title\n        changeBillingTitle();\n        \n        \/\/ Hide form-field-total\n        hideFormFieldTotal();\n    }\n\n    const debouncedModify = debounce(modifyCheckoutTable, 200);\n\n    \/\/ Initial execution\n    modifyCheckoutTable();\n    changeBillingTitle(); \/\/ Initial title change\n    hideFormFieldTotal(); \/\/ Initial hide form-field-total\n\n    \/\/ Observe the WooCommerce checkout table\n    const reviewTable = document.querySelector(\".shop_table.woocommerce-checkout-review-order-table\");\n    if (reviewTable) {\n        new MutationObserver(debouncedModify)\n            .observe(reviewTable, { childList: true, subtree: true });\n    }\n\n    \/\/ React to WooCommerce updates\n    if (typeof jQuery !== \"undefined\") {\n        jQuery(document.body).on(\"updated_checkout\", function () {\n            modifyCheckoutTable(); \/\/ Reapply all modifications\n            changeBillingTitle(); \/\/ Ensure title stays updated\n            hideFormFieldTotal(); \/\/ Re-hide form-field-total\n        });\n    }\n\n    \/\/ Fallback: run every 1 second in case nothing else catches it\n    const intervalId = setInterval(modifyCheckoutTable, 1000);\n    window.addEventListener('beforeunload', () => clearInterval(intervalId));\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-buttons\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-multi-step-form__content-item-button\">\n\t\t\t\t\t\t\t\t\t\t<button class=\"elementor-button pafe-form-builder-button elementor-size-sm\" role=\"button\" data-pafe-form-builder-required-text=\"Ce champ est obligatoire.\" data-pafe-form-builder-nav-form-id=\"multistepbf\" data-pafe-form-builder-stripe-submit=\"\" data-pafe-form-builder-stripe-currency=\"EUR\" data-pafe-form-builder-stripe-amount-field=\"[field id=&quot;total&quot;]\" data-pafe-form-builder-nav=\"prev\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Pr\u00e9c\u00e9dent<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-form-builder-alert pafe-form-builder-alert--stripe\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-message elementor-message-success\" role=\"alert\" data-pafe-form-builder-message>Payment success<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-message elementor-message-danger\" role=\"alert\">Payment failed<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-message elementor-help-inline\" role=\"alert\">Payment pending<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"pafe-form-builder-alert pafe-form-builder-alert--mail\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-message elementor-message-success\" role=\"alert\" data-pafe-form-builder-message>Le formulaire a \u00e9t\u00e9 envoy\u00e9 avec succ\u00e8s.<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-message elementor-message-danger\" role=\"alert\">Une erreur s&#039;est produite.<\/div>\n\t\t\t\t\t\t\t\t\t<!-- <div class=\"elementor-message elementor-help-inline\" role=\"alert\">Server error. Form not sent.<\/div> -->\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div id=\"pafe-form-builder-trigger-success-multistepbf\" data-pafe-form-builder-trigger-success=\"multistepbf\" data-disable-clean-form=\"no\" style=\"display: none\"><\/div>\n\t\t\t\t\t\t\t<div id=\"pafe-form-builder-trigger-failed-multistepbf\" data-pafe-form-builder-trigger-failed=\"multistepbf\" style=\"display: none\"><\/div>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7acbe31 e-grid e-con-boxed e-con e-parent\" data-id=\"7acbe31\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fbfb500 elementor-widget elementor-widget-image\" data-id=\"fbfb500\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1498\" height=\"260\" src=\"https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment3.png\" class=\"attachment-full size-full wp-image-5986\" alt=\"EasytaxiBelgium - Brussels Airport taxi services\" srcset=\"https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment3.png 1498w, https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment3-300x52.png 300w, https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment3-1024x178.png 1024w, https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment3-768x133.png 768w, https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment3-600x104.png 600w\" sizes=\"(max-width: 1498px) 100vw, 1498px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6858057 elementor-widget elementor-widget-image\" data-id=\"6858057\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1536\" height=\"723\" src=\"https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment4.png\" class=\"attachment-full size-full wp-image-5990\" alt=\"EasytaxiBelgium - Brussels Airport taxi services\" srcset=\"https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment4.png 1536w, https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment4-300x141.png 300w, https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment4-1024x482.png 1024w, https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment4-768x362.png 768w, https:\/\/easytaxibelgium.be\/wp-content\/uploads\/2025\/08\/securepayment4-600x282.png 600w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f3e9500 e-flex e-con-boxed e-con e-parent\" data-id=\"f3e9500\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d847d85 elementor-widget elementor-widget-spacer\" data-id=\"d847d85\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d14ec2 elementor-widget elementor-widget-html\" data-id=\"9d14ec2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script defer async src='https:\/\/cdn.trustindex.io\/loader.js?82b6d1561e8a37684f36d2de102'><\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c78ac94 e-flex e-con-boxed e-con e-parent\" data-id=\"c78ac94\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1249492 elementor-widget elementor-widget-spacer\" data-id=\"1249492\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f97a638 elementor-widget elementor-widget-heading\" data-id=\"f97a638\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">R\u00e9servation en ligne s\u00e9curis\u00e9e, simple et rapide<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-04d8391 elementor-widget elementor-widget-text-editor\" data-id=\"04d8391\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Chez <strong>Easy Taxi Belgium<\/strong>, nous sommes sp\u00e9cialis\u00e9s dans la fourniture de services de transport fiables et de haute qualit\u00e9 pour les voyageurs d&rsquo;affaires et les particuliers. Que vous voyagiez vers ou depuis un a\u00e9roport en Belgique ou dans un pays voisin, nous vous assurons un voyage fluide, ponctuel et confortable, adapt\u00e9 \u00e0 vos besoins. <\/p><p>Gr\u00e2ce \u00e0 notre vaste exp\u00e9rience et \u00e0 notre connaissance approfondie du paysage \u00e9conomique r\u00e9gional, nous sommes le choix privil\u00e9gi\u00e9 pour les transferts a\u00e9roportuaires. Nos services sont con\u00e7us pour r\u00e9pondre aux attentes des professionnels qui privil\u00e9gient l&rsquo;efficacit\u00e9 et la discr\u00e9tion, ainsi qu&rsquo;\u00e0 celles des particuliers qui souhaitent voyager sans stress. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-862b711 elementor-widget elementor-widget-heading\" data-id=\"862b711\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><strong>Des prix transparents - disponibles instantan\u00e9ment en ligne<\/strong><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4707316 elementor-widget elementor-widget-text-editor\" data-id=\"4707316\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Curieux de conna\u00eetre le co\u00fbt de votre transfert a\u00e9roport ? Notre site web convivial vous permet de calculer votre tarif en quelques clics. Il vous suffit d&rsquo;indiquer votre lieu de prise en charge et votre a\u00e9roport de destination pour recevoir une estimation de prix instantan\u00e9e, sans frais cach\u00e9s ni surprises.  <\/p><p>Nous proposons des tarifs comp\u00e9titifs pour les transferts de n&rsquo;importe quel endroit en Belgique vers tous les principaux a\u00e9roports, y compris ceux des pays voisins tels que les Pays-Bas, la France, l&rsquo;Allemagne et le Luxembourg.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a9700e3 elementor-widget elementor-widget-heading\" data-id=\"a9700e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">R\u00e9servation en ligne simple, rapide et s\u00e9curis\u00e9e<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d4b18fe elementor-widget elementor-widget-text-editor\" data-id=\"d4b18fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>R\u00e9server votre transfert d&rsquo;a\u00e9roport n&rsquo;a jamais \u00e9t\u00e9 aussi simple. Sur notre site web, vous pouvez : <\/p><ul><li>Visualisez instantan\u00e9ment le co\u00fbt de votre voyage<\/li><li>Saisissez les d\u00e9tails de votre voyage et vos coordonn\u00e9es<\/li><li>Confirmez votre r\u00e9servation en quelques \u00e9tapes<\/li><\/ul><p>Une fois votre r\u00e9servation effectu\u00e9e, vous recevrez rapidement une confirmation par e-mail. Notre \u00e9quipe veille \u00e0 ce que chaque trajet soit trait\u00e9 avec professionnalisme, ponctualit\u00e9 et soin. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>R\u00e9servez votre transfert a\u00e9roport en ligne et en toute s\u00e9curit\u00e9 pour tous les a\u00e9roports belges. Easy Taxi Belgium &#8211; Transfert A\u00e9roport Bruxelles. Voyagez en toute s\u00e9r\u00e9nit\u00e9, fiable et abordable en Belgique.<\/p>\n","protected":false},"author":1,"featured_media":4459,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"unboxed","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"enabled","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"slim_seo":{"title":"Transferts taxi a\u00e9roport","description":"Voyagez en toute s\u00e9r\u00e9nit\u00e9, avec un service fiable et abordable vers les a\u00e9roports de Bruxelles-Zaventem et Charleroi. R\u00e9servez en ligne et payez en toute s\u00e9curit\u00e9. Nos chauffeurs professionnels vous conduiront \u00e0 destination en temps voulu."},"footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-4549","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/easytaxibelgium.be\/fr\/wp-json\/wp\/v2\/pages\/4549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/easytaxibelgium.be\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/easytaxibelgium.be\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/easytaxibelgium.be\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/easytaxibelgium.be\/fr\/wp-json\/wp\/v2\/comments?post=4549"}],"version-history":[{"count":109,"href":"https:\/\/easytaxibelgium.be\/fr\/wp-json\/wp\/v2\/pages\/4549\/revisions"}],"predecessor-version":[{"id":6759,"href":"https:\/\/easytaxibelgium.be\/fr\/wp-json\/wp\/v2\/pages\/4549\/revisions\/6759"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/easytaxibelgium.be\/fr\/wp-json\/wp\/v2\/media\/4459"}],"wp:attachment":[{"href":"https:\/\/easytaxibelgium.be\/fr\/wp-json\/wp\/v2\/media?parent=4549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}