{"id":4117,"date":"2024-08-05T02:50:34","date_gmt":"2024-08-05T02:50:34","guid":{"rendered":"https:\/\/www.bikago.com\/buchung\/"},"modified":"2026-03-16T05:00:23","modified_gmt":"2026-03-16T05:00:23","slug":"booking","status":"publish","type":"page","link":"https:\/\/www.bikago.com\/de\/booking\/","title":{"rendered":"Buchung"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4117\" class=\"elementor elementor-4117 elementor-998\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f71cf7 hide e-flex e-con-boxed e-con e-parent\" data-id=\"9f71cf7\" data-element_type=\"container\" data-e-type=\"container\" id=\"booking-widget-container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;position&quot;:&quot;fixed&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-9e1d0a1 e-con-full e-flex e-con e-child\" data-id=\"9e1d0a1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a701170 elementor-widget elementor-widget-image\" data-id=\"a701170\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"close-booking-widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"#\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"40\" height=\"40\" src=\"https:\/\/www.bikago.com\/wp-content\/uploads\/2024\/10\/close-btn.svg\" class=\"attachment-full size-full wp-image-3999\" alt=\"Schlie\u00dfen-Schaltfl\u00e4che\" \/>\t\t\t\t\t\t\t\t<\/a>\n\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<div class=\"elementor-element elementor-element-e964765 e-con-full e-flex e-con e-child\" data-id=\"e964765\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-d9b50e0 e-flex e-con-boxed e-con e-child\" data-id=\"d9b50e0\" 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-ff5858b elementor-widget elementor-widget-shortcode\" data-id=\"ff5858b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\r\n\r\n<!--------------------------- BOOKING WIDGET --------------------------->\r\n\r\n<input type=\"hidden\" id=\"currentDateLogic\">\r\n\r\n<!-- ====================================== MOBILE PART ====================================== -->\r\n<form action=\"\/de\/booking\" method=\"GET\" id=\"booking-widget-form-mobile\">\r\n\r\n    <input type=\"hidden\" name=\"booking_location\" class=\"booking-location\" id=\"booking-location\" value=\"\">\r\n    <input type=\"hidden\" name=\"is_from_shop\" class=\"is-from-shop\" id=\"is-from-shop\" value=\"\">\r\n    <input type=\"hidden\" value=\"usd\" name=\"currency\" class=\"currency\" id=\"currency\">\r\n\r\n    <div class=\"booking-widget-container booking-form location-container\">\r\n\r\n        <!-- PICKUP LOCATION FIELD - MOBILE -->\r\n        <div class=\"item item-center\" id=\"pickup-location-container\">\r\n            <div class=\"sub-item\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/pin-map-widget.svg\" width=\"24\" height=\"24\" alt=\"icon\">\r\n                            <\/div>\r\n            <div class=\"sub-item location-field text-elipsis\" id=\"pickup-location-field\" data-field=\"pickup\">\r\n                <input type=\"hidden\" name=\"pickup_location\" id=\"pickup_location_value\" class=\"pickup_location_value\" value=\"\">\r\n                <input type=\"hidden\" name=\"pickup_location_text\" id=\"pickup_location_value_text\" class=\"pickup_location_value_text\" value=\"Lieferort \/ Abholort\">\r\n                <input type=\"hidden\" name=\"pickup_location_custom_value\" id=\"pickup_location_custom_value\" class=\"pickup_location_custom_value\" value=\"\">\r\n                <input type=\"hidden\" name=\"pickup_lat\" class=\"pickup_lat\" id=\"pickup_lat\" value=\"\">\r\n                <input type=\"hidden\" name=\"pickup_lng\" class=\"pickup_lng\" id=\"pickup_lng\" value=\"\">\r\n                <span class=\"font-m text-dark-orange-100 pickup-place\" id=\"pickup-place\">Lieferort \/ Abholort<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- DIFFERENT RETURN LOCATION FIELD - MOBILE -->\r\n        <div class=\"item item-center\" id=\"different-location-container\">\r\n            <div class=\"sub-item\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/arrow.svg\" width=\"24\" height=\"24\" alt=\"icon\">\r\n                            <\/div>\r\n            <div class=\"sub-item text-elipsis\">\r\n                <span class=\"font-m text-orange-main return-place\">Abholung \/ R\u00fcckgabe<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"item item-center return-location hide\" id=\"return-location-container\">\r\n            <div class=\"sub-item\">\r\n                                    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/pin-map-widget.svg\" width=\"42\" height=\"24\" alt=\"icon\">\r\n                            <\/div>\r\n            <div class=\"sub-item location-field text-elipsis\" id=\"return-location-field\" data-field=\"return\">\r\n                <input type=\"hidden\" name=\"return_location\" class=\"return_location_value\" id=\"return_location_value\" value=\"\">\r\n                <input type=\"hidden\" name=\"return_location_text\" class=\"return_location_value_text\" id=\"return_location_value_text\" value=\"\">\r\n                <input type=\"hidden\" name=\"return_location_custom_value\" class=\"return_location_custom_value\" id=\"return_location_custom_value\" value=\"\">\r\n                <input type=\"hidden\" name=\"return_lat\" class=\"return_lat\" id=\"return_lat\" value=\"\">\r\n                <input type=\"hidden\" name=\"return_lng\" class=\"return_lng\" id=\"return_lng\" value=\"\">\r\n                <span class=\"font-m text-dark-orange-100 return-place\" id=\"return-place\">Abholung \/ R\u00fcckgabe<\/span>\r\n            <\/div>\r\n            <div class=\"sub-item\" id=\"close-return-field\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/close-loc-btn.svg\" alt=\"icon\">\r\n                            <\/div>\r\n        <\/div>\r\n\r\n        <!-- CALENDAR FIELD - MOBILE -->\r\n        <div class=\"item item-center\" id=\"calendar-for-mobile\">\r\n            <div class=\"sub-item\">\r\n                                    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/calendar.svg\" width=\"24\" height=\"24\" alt=\"icon\">\r\n                            <\/div>\r\n            <div class=\"sub-item\">\r\n                <span class=\"font-m text-dark-orange-100 pr-4\">Startdatum<\/span>\r\n                <span class=\"font-m text-dark-orange-100\">Enddatum<\/span><br>\r\n\r\n                <div class=\"item-timer\">\r\n                    <span class=\"font-m text-dark-orange-100 pickup-time-text\" id=\"pickup-time-text\">\r\n                        <span class=\"delivery-date-region-change\">24 May<\/span>,\r\n                         <span class=\"time-region-change display-pickup-time-mobile\">13:45<\/span>\r\n                         &nbsp;<\/span>  -\r\n                    <span class=\"font-m text-dark-orange-100 return-time-text\" id=\"return-time-text\">\r\n                     &nbsp;<span class=\"collection-date-region-change\">27 May<\/span>,\r\n                     <span class=\"time-region-change display-return-time-mobile\">13:45<\/span>\r\n                    <\/span>\r\n                <\/div>\r\n                <input class=\"daterange-picker\" aria-label=\"Select rental date\" type=\"text\" name=\"daterange\" id=\"datepicker-mobile\" value=\"\" readonly\/>\r\n\r\n                <input type=\"hidden\" class=\"pickup-time-value display-pickup-time-mobile\" value=\"13:45\" id=\"pickup-time-value\" name=\"pickup_time\">\r\n                <input type=\"hidden\" class=\"return-time-value display-return-time-mobile\" value=\"13:45\" id=\"return-time-value\" name=\"return_time\">\r\n\r\n                <input type=\"hidden\" class=\"start-date-picker\" value=\"2026-05-24\">\r\n                <input type=\"hidden\" class=\"end-date-picker\" value=\"2026-05-27\">\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"item\">\r\n            <button class=\"btn btn-orange disabled btn-search-bike\" id=\"btn-search-bike-mobile\" disabled>\r\n                SUCHEN            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n<\/form>\r\n\r\n<!-- ====================================== DESKTOP PART ====================================== -->\r\n<form action=\"\/de\/booking\" method=\"GET\" id=\"booking-widget-form-desktop\">\r\n\r\n    <input type=\"hidden\" name=\"booking_location\" class=\"booking-location\" id=\"booking-location\" value=\"\">\r\n    <input type=\"hidden\" name=\"is_from_shop\" class=\"is-from-shop\" id=\"is-from-shop\" value=\"\">\r\n    <input type=\"hidden\" value=\"usd\" name=\"currency\" class=\"currency\" id=\"currency\">\r\n\r\n    <!-- for desktop -->\r\n    <div class=\"booking-widget-container booking-form location-container-desktop \">\r\n\r\n        <!-- PICKUP LOCATION FIELD - DESKTOP -->\r\n        <div class=\"item item-center\" id=\"pickup-location-container-desktop\">\r\n            <div class=\"sub-item\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/pin-map-widget.svg\" width=\"24\" height=\"24\" alt=\"icon\">\r\n                            <\/div>\r\n            <div class=\"sub-item location-field text-elipsis\" id=\"pickup-location-field-desktop\" data-field=\"pickup\">\r\n                <input type=\"hidden\" name=\"pickup_location\" id=\"pickup_location_value\" class=\"pickup_location_value\" value=\"\">\r\n                <input type=\"hidden\" name=\"pickup_location_text\" id=\"pickup_location_value_text\" class=\"pickup_location_value_text\" value=\"Lieferort \/ Abholort\">\r\n                <input type=\"hidden\" name=\"pickup_location_custom_value\" id=\"pickup_location_custom_value\" class=\"pickup_location_custom_value\" value=\"\">\r\n                <input type=\"hidden\" name=\"pickup_lat\" class=\"pickup_lat\" id=\"pickup_lat_desktop\" value=\"\">\r\n                <input type=\"hidden\" name=\"pickup_lng\" class=\"pickup_lng\" id=\"pickup_lng_desktop\" value=\"\">\r\n                <span class=\"font-m text-dark-orange-100 pickup-place\" id=\"pickup-place\">Lieferort \/ Abholort<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- DIFFERENT RETURN LOCATION FIELD - DESKTOP -->\r\n        <div class=\"item item-center\" id=\"different-location-container-desktop\" data-shop=\"no\">\r\n            <div class=\"sub-item\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/arrow.svg\" width=\"24\" height=\"24\" alt=\"icon\">\r\n                            <\/div>\r\n            <div class=\"sub-item location-field text-elipsis\">\r\n                <span class=\"font-m text-orange-main return-place\">Abholung \/ R\u00fcckgabe<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"item item-center return-location hide\" id=\"return-location-container-desktop\">\r\n            <div class=\"sub-item\">\r\n                                    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/pin-map-widget.svg\" width=\"42\" height=\"24\" alt=\"icon\">\r\n                            <\/div>\r\n            <div class=\"sub-item location-field text-elipsis\" id=\"return-location-field-desktop\" data-field=\"return\" data-shop=\"no\">\r\n                <input type=\"hidden\" name=\"return_location\" class=\"return_location_value\" id=\"return_location_value-desktop\" value=\"\">\r\n                <input type=\"hidden\" name=\"return_location_text\" class=\"return_location_value_text\" id=\"return_location_value_text-desktop\" value=\"\">\r\n                <input type=\"hidden\" name=\"return_location_custom_value\" class=\"return_location_custom_value\" id=\"return_location_custom_value-desktop\" value=\"\">\r\n                <input type=\"hidden\" name=\"return_lat\" class=\"return_lat\" id=\"return_lat_desktop\" value=\"\">\r\n                <input type=\"hidden\" name=\"return_lng\" class=\"return_lng\" id=\"return_lng_desktop\" value=\"\">\r\n                <span class=\"font-m text-dark-orange-100 return-place\" id=\"return-place-desktop\">Abholung \/ R\u00fcckgabe<\/span>\r\n            <\/div>\r\n            <div class=\"sub-item\" id=\"close-return-field-desktop\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/close-loc-btn.svg\" alt=\"icon\">\r\n                            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"item item-center\" id=\"calendar-for-desktop\">\r\n            <div class=\"sub-item\">\r\n                                    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/calendar.svg\" width=\"24\" height=\"24\" alt=\"icon\">\r\n                            <\/div>\r\n\r\n            <!-- Shop Portal Date Selection -->\r\n            \r\n                <div class=\"sub-item\">\r\n                    <span class=\"font-m text-dark-orange-100 pr-5\">Startdatum<\/span>\r\n                    <span class=\"font-m text-dark-orange-100\">Enddatum<\/span><br>\r\n                    <div class=\"item-timer\">\r\n                        <span class=\"font-m text-dark-orange-100 pickup-time-text\" id=\"pickup-time-text\">\r\n                            <span class=\"delivery-date-region-change\">24 May<\/span>, <span class=\"time-region-change display-pickup-time-desktop\">13:45<\/span>\r\n                            &nbsp;<\/span>  -\r\n                        <span class=\"font-m text-dark-orange-100 return-time-text\" id=\"return-time-text\">\r\n                        &nbsp;<span class=\"collection-date-region-change\">27 May<\/span>, <span class=\"time-region-change display-return-time-desktop\">13:45<\/span>\r\n                        <\/span>\r\n                    <\/div>\r\n\r\n                    <input class=\"daterange-picker\" aria-label=\"Select rental date\" type=\"text\" name=\"daterange\" id=\"datepicker-desktop\" value=\"\" readonly\/>\r\n                <\/div>\r\n\r\n            \r\n            <input type=\"hidden\" class=\"pickup-time-value display-pickup-time-desktop\" value=\"13:45\" id=\"pickup-time-value\" name=\"pickup_time\">\r\n            <input type=\"hidden\" class=\"return-time-value display-return-time-desktop\" value=\"13:45\" id=\"return-time-value\" name=\"return_time\">\r\n\r\n            <input type=\"hidden\" class=\"start-date-picker\" value=\"2026-05-24\">\r\n            <input type=\"hidden\" class=\"end-date-picker\" value=\"2026-05-27\">\r\n\r\n\r\n        <\/div>\r\n\r\n        <div class=\"item button-container-desktop icon\">\r\n            <button title=\"Search\" class=\"btn btn-orange disabled btn-search-bike\" disabled>\r\n                <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/search-png.png\" width=\"100\" class=\"search-btn-img\" height=\"100\" alt=\"icon\">\r\n                <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/loading-orange.gif\" class=\"hide search-loading\" width=\"100\" height=\"100\" alt=\"icon\">\r\n            <\/button>\r\n        <\/div>\r\n\r\n        <div class=\"item button-container-desktop text\">\r\n            <button class=\"btn btn-orange disabled btn-search-bike\" disabled>\r\n                <span class=\"search-btn-img\">SUCHEN<\/span>\r\n                <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/loading-orange.gif\" class=\"hide search-loading\" width=\"25\" height=\"25\" alt=\"icon\">\r\n            <\/button>\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n<\/form>\r\n\r\n<!-- CALENDAR FOR ALL - MOBILE AND DESKTOP -->\r\n<div class=\"booking-widget-popup hide\" id=\"calender-pop\">\r\n    <div class=\"header\">\r\n        <div class=\"item\">\r\n            <!--<img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/back-popup-btn.svg\" alt=\"icon\">--> &nbsp;\r\n        <\/div>\r\n        <div class=\"item\">\r\n            <!--<h3>Trip dates<\/h3>-->&nbsp;\r\n        <\/div>\r\n        <div class=\"item popup-close-btn\">\r\n                            <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/close-btn.svg\" width=\"40\" height=\"40\" alt=\"icon\">\r\n                    <\/div>\r\n    <\/div>\r\n    <div class=\"content timepicker\">\r\n        <div class=\"slider-range\">\r\n            <label for=\"pickup-time\">Liefer- \/ Abholzeit<\/label>\r\n            <input\r\n                    type=\"range\"\r\n                    id=\"pickup-time-mobile\"\r\n                    min=\"09:00\"\r\n                    max=\"22:00\"\r\n                    step=\"15\"\r\n                    value=\"08:00\"\r\n                >\r\n             <input type=\"hidden\" id=\"hidden-pickup-time-mobile\" name=\"pickup-time-mobile-time\">\r\n        <\/div>\r\n        <div class=\"slider-range\">\r\n            <label for=\"return-time\">Abhol- bzw. R\u00fcckgabezeit<\/label>\r\n            <input\r\n                    type=\"range\"\r\n                    id=\"return-time-mobile\"\r\n                    min=\"08:00\"\r\n                    max=\"22:00\"\r\n                    step=\"15\"\r\n                    value=\"08:00\"\r\n                >\r\n            <input type=\"hidden\" id=\"hidden-return-time-mobile\" name=\"return-time-mobile-time\">\r\n\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- ERROR -->\r\n<div class=\"error-notification-container error-notification-container-missed-date font-m hide\">\r\n    Bitte w\u00e4hlen Sie zun\u00e4chst den Abholort aus.<\/div>\r\n\r\n<!-- ERROR -->\r\n<div class=\"error-notification-container error-notification-container-custom-location font-m hide\">\r\n    Bitte w\u00e4hlen Sie eine der vorgeschlagenen Adressen aus. F\u00fcr diesen Standort ist keine Lieferung oder Abholung m\u00f6glich.<\/div>\r\n\r\n<!-- ERROR -->\r\n<div class=\"error-notification-container error-notification-container-min-req font-m hide\">\r\n    Die Mindestmietdauer betr\u00e4gt <span class=\"min-period\"><\/span> Tag(e)<\/div>\r\n\r\n<!-- PICKUP PLACE LIST -->\r\n<div class=\"booking-widget-popup hide location-popup\" id=\"pickup-location-popup\">\r\n    <div class=\"header\">\r\n        <div class=\"item\">\r\n            &nbsp;\r\n        <\/div>\r\n        <div class=\"item\">\r\n            <h3 id=\"popup-label\">Lieferung \/ Abholung<\/h3>\r\n        <\/div>\r\n        <div class=\"item popup-close-btn\">\r\n                            <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/close-btn.svg\" width=\"40\" height=\"40\" alt=\"icon\">\r\n                    <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"content\">\r\n        <input type=\"hidden\" name=\"pickup_or_return\" value=\"\">\r\n        <input type=\"hidden\" name=\"pickup_location_parent\" value=\"indonesia\">\r\n        <input type=\"hidden\" name=\"return_location_parent\" value=\"indonesia\">\r\n        <input type=\"hidden\" name=\"pickup_location_child\" value=\"bali\">\r\n        <input type=\"hidden\" name=\"return_location_child\" value=\"bali\">\r\n\r\n        \r\n        <div class=\"tabs\">\r\n            <div class=\"tabs-country orange\">\r\n                <div class=\"tab orange active\" data-tab=\"indonesia\">Indonesia<\/div>\r\n                <div class=\"tab orange \" data-tab=\"thailand\">Thailand<\/div>\r\n                <div class=\"tab orange \" data-tab=\"philippines\">Philippines<\/div>\r\n            <\/div>\r\n\r\n            <div class=\"tabs-region\" id=\"bali-region\">\r\n                                                                                                                    <div class=\"tab-region orange active\" data-tab-id=\"1\" data-tab-region=\"bali\">Bali<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"14\" data-tab-region=\"nusa_penida\">Nusa Penida<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"18\" data-tab-region=\"lombok\">Lombok<\/div>\r\n                                                                                                                                                                                                        <\/div>\r\n            <div class=\"tabs-region hide\" id=\"thailand-region\">\r\n                                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"10\" data-tab-region=\"phuket\">Phuket<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"15\" data-tab-region=\"krabi\">Krabi<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"16\" data-tab-region=\"chiang_mai\">Chiang Mai<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"19\" data-tab-region=\"khao_lak\">Khao Lak<\/div>\r\n                                                                                                                                                                    <\/div>\r\n            <div class=\"tabs-region hide\" id=\"philippines-region\">\r\n                                                                                                                                                                                            <div class=\"tab-region orange \" data-tab-id=\"20\" data-tab-region=\"siargao\">Siargao<\/div>\r\n                                                                                                                                <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"search-container hide\">\r\n            <div class=\"search-icon-left\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/search-icn.svg\" alt=\"icon\">\r\n                            <\/div>\r\n            <input type=\"text\" id=\"search-autocomplete-location\" placeholder=\"Search...\">\r\n            <div class=\"search-icon-right\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/maps-icn.svg\" alt=\"icon\">\r\n                            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"radio-container orange pt-20\">\r\n            <label class=\"form-control\" for=\"hotel-location\">\r\n                <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/hotel-icn.svg\" alt=\"icon\">\r\n                <p>Hotel oder Villa<\/p>\r\n            <\/label>\r\n            <input type=\"radio\" id=\"hotel-location\" class=\"hotel-location\" name=\"location\" value='custom'>\r\n        <\/div>\r\n\r\n        <div class=\"radio-container orange search hide search-location\" id=\"search-location\">\r\n            <input class=\"hide pickup-custom-location custom-location-input-mobile\" type=\"text\" id=\"pickup-custom-location\" name=\"pick_up_location_custom\" placeholder=\"Search Location...\">\r\n            <input class=\"hide return-custom-location custom-location-input-mobile\" type=\"text\" id=\"return-custom-location\" name=\"return_location_custom\" placeholder=\"Search Location...\">\r\n            <p class=\"font-m text-orange-main\">* Bitte w\u00e4hlen Sie aus den vorgeschlagenen Adressen aus.<\/p>\r\n        <\/div>\r\n\r\n        <!-- append all location base on the branch -->\r\n        <div class=\"location-points\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- SELECT COUNTRY - DESKTOP ONLY -->\r\n<div class=\"booking-widget-popup-select-country hide\">\r\n    <h3>W\u00e4hlen Sie Ihr Land aus<\/h3>\r\n    <div class=\"booking-location-flag\">\r\n        <div class=\"booking-location\" data-tab=\"thailand\">\r\n            <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/country-flag\/thb.svg\" alt=\"icon\">\r\n            <p>Thailand<\/p>\r\n        <\/div>\r\n        <div class=\"booking-location\" data-tab=\"indonesia\">\r\n            <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/country-flag\/idr.svg\" alt=\"icon\">\r\n            <p>Indonesia<\/p>\r\n        <\/div>\r\n        <div class=\"booking-location\" data-tab=\"philippines\">\r\n            <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/country-flag\/phl.svg\" alt=\"icon\">\r\n            <p>Philippines<\/p>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- SELECT REGION - DESKTOP ONLY -->\r\n<div class=\"booking-widget-popup-select-region hide return-location-container\">\r\n    <div class=\"header\">\r\n        <div class=\"item\">\r\n            <button type=\"button\" id=\"back-to-select-country\">\r\n                                    <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/back-popup-btn.svg\" alt=\"icon\">\r\n                            <\/button>\r\n        <\/div>\r\n        <div class=\"item\">\r\n            <h3 id=\"region-title\">Indonesia<\/h3>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"content\">\r\n        <input type=\"hidden\" name=\"pickup_or_return_desktop\" value=\"pickup\">\r\n        <input type=\"hidden\" name=\"pickup_location_parent\" value=\"indonesia\">\r\n        <input type=\"hidden\" name=\"return_location_parent\" value=\"indonesia\">\r\n        <input type=\"hidden\" name=\"pickup_location_child\" value=\"bali\">\r\n        <input type=\"hidden\" name=\"return_location_child\" value=\"bali\">\r\n\r\n        <div class=\"tabs\">\r\n            <div class=\"tabs-country orange hide\">\r\n                <div class=\"tab orange active active\" data-tab=\"indonesia\">Indonesia<\/div>\r\n                <div class=\"tab orange \" data-tab=\"thailand\">Thailand<\/div>\r\n                <div class=\"tab orange \" data-tab=\"philippines\">Philippines<\/div>\r\n            <\/div>\r\n\r\n            <p class=\"text-dark-orange-100 font-weight-600 text-left\">Region<\/p>\r\n            <div class=\"tabs-region\" id=\"bali-region-desktop\">\r\n                                                                                                                    <div class=\"tab-region orange active\" data-tab-id=\"1\" data-tab-region=\"bali\">Bali<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"14\" data-tab-region=\"nusa_penida\">Nusa Penida<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"18\" data-tab-region=\"lombok\">Lombok<\/div>\r\n                                                                                                                                                                                                        <\/div>\r\n            <div class=\"tabs-region hide\" id=\"thailand-region-desktop\">\r\n                                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"10\" data-tab-region=\"phuket\">Phuket<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"15\" data-tab-region=\"krabi\">Krabi<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"16\" data-tab-region=\"chiang_mai\">Chiang Mai<\/div>\r\n                                                                                                                                        <div class=\"tab-region orange \" data-tab-id=\"19\" data-tab-region=\"khao_lak\">Khao Lak<\/div>\r\n                                                                                                                                                                    <\/div>\r\n            <div class=\"tabs-region hide\" id=\"philippines-region-desktop\">\r\n                                                                                                                                                                                            <div class=\"tab-region orange \" data-tab-id=\"20\" data-tab-region=\"siargao\">Siargao<\/div>\r\n                                                                                                                                <\/div>\r\n        <\/div>\r\n\r\n        <p class=\"text-dark-orange-100 font-weight-600 text-left\">Beliebte Orte<\/p>\r\n        <div class=\"radio-container orange\">\r\n            <label class=\"form-control\" for=\"hotel-location-desktop\">\r\n                <img decoding=\"async\" src=\"https:\/\/www.bikago.com\/wp-content\/themes\/bikago\/assets\/images\/hotel-icn.svg\" alt=\"icon\">\r\n                <p>Hotel oder Villa<\/p>\r\n            <\/label>\r\n            <input type=\"radio\" id=\"hotel-location-desktop\" class=\"hotel-location\" name=\"location\" value='custom'>\r\n        <\/div>\r\n\r\n        <div class=\"radio-container orange search hide search-location\" id=\"search-location\">\r\n            <input class=\"hide pickup-custom-location custom-location-input\" type=\"text\" id=\"pickup-custom-location-desktop\" name=\"pick_up_location_custom\" placeholder=\"Search Location...\">\r\n            <input class=\"hide return-custom-location custom-location-input\" type=\"text\" id=\"return-custom-location-desktop\" name=\"return_location_custom\" placeholder=\"Search Location...\">\r\n            <br><span class=\"font-m text-orange-main text-left mb-10\">* Bitte w\u00e4hlen Sie aus den vorgeschlagenen Adressen aus.<\/span>\r\n        <\/div>\r\n\r\n        <!-- append all location base on the branch -->\r\n        <div class=\"location-points-desktop\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- Select calendar desktop -->\r\n<div class=\"booking-widget-popup-calendar-bg hide\" id=\"calender-pop-desktop-bg\"><\/div>\r\n<div class=\"booking-widget-popup-calendar hide\" id=\"calender-pop-desktop\">\r\n\r\n\r\n    \r\n        <!-- Slider Time Picker -->\r\n        <div class=\"content timepicker\">\r\n            <div class=\"slider-range\">\r\n                <label for=\"pickup-time\">Liefer- \/ Abholzeit<\/label>\r\n                <input\r\n                        type=\"range\"\r\n                        id=\"pickup-time-desktop\"\r\n                        min=\"08:00\"\r\n                        max=\"22:00\"\r\n                        step=\"15\"\r\n                        value=\"09:00\"\r\n                    >\r\n                <input type=\"hidden\" id=\"hidden-pickup-time-desktop\" class=\"hidden-pickup-time-desktop\" name=\"pickup-time-desktop-time\">\r\n            <\/div>\r\n            <div class=\"slider-range\">\r\n                <label for=\"return-time\">Abhol- bzw. R\u00fcckgabezeit<\/label>\r\n                <input\r\n                        type=\"range\"\r\n                        id=\"return-time-desktop\"\r\n                        min=\"08:00\"\r\n                        max=\"22:00\"\r\n                        step=\"15\"\r\n                        value=\"08:00\"\r\n                >\r\n                <input type=\"hidden\" id=\"hidden-return-time-desktop\" class=\"hidden-return-time-desktop\" name=\"return-time-desktop-time\">\r\n            <\/div>\r\n        <\/div>\r\n\r\n    \r\n<\/div>\r\n\r\n<script>\r\n    window.adjustHourValue = 3;\r\n\r\n    \r\n    function initializeSlider(sliderId, hiddenInputId) {\r\n        var $ = jQuery;\r\n        const $element = $(`#${sliderId}`);\r\n        const $hiddenInput = $(`#${hiddenInputId}`);\r\n\r\n        const minTime = $element.attr(\"min\");\r\n        const maxTime = $element.attr(\"max\");\r\n        const stepMinutes = parseInt($element.attr(\"step\"), 10);\r\n        const initialValue = $element.attr(\"value\");\r\n\r\n        const timeToValue = (timeStr) => {\r\n            const [hours, minutes] = timeStr.split(\":\").map(Number);\r\n            return ((hours - 8) * 60 + minutes) \/ stepMinutes;\r\n        };\r\n\r\n        const minValue = timeToValue(minTime);\r\n        const maxValue = timeToValue(maxTime);\r\n        const initialSliderValue = timeToValue(initialValue);\r\n\r\n        $element.rangeslider('destroy');\r\n\r\n        $element.attr({\r\n            min: minValue,\r\n            max: maxValue,\r\n            step: 1,\r\n            value: initialSliderValue\r\n        });\r\n\r\n        const getRange = (start, end) => Array.from({length: end - start}, (_, i) => start + i);\r\n        \r\n        const sliderStates = [\r\n            { name: \"morning\", range: getRange(minValue, minValue + 16) },\r\n            { name: \"afternoon\", range: getRange(minValue + 16, minValue + 28) },\r\n            { name: \"evening\", range: getRange(minValue + 28, maxValue + 1) }\r\n        ];\r\n\r\n        let currentState = sliderStates[0];\r\n\r\n        $element.rangeslider({\r\n            polyfill: false,\r\n            onInit: function() {\r\n                updateState(this.value);\r\n            },\r\n            onSlide: function(position, value) {\r\n                updateHandle(value);\r\n                checkState(value);\r\n            }\r\n        });\r\n\r\n        function formatTime(val) {\r\n            const totalMinutes = val * stepMinutes;\r\n            const hours = 8 + Math.floor(totalMinutes \/ 60);\r\n            const minutes = totalMinutes % 60;\r\n            return `${hours}:${minutes === 0 ? \"00\" : minutes}`;\r\n        }\r\n\r\n        function updateHandle(val) {\r\n            const displayVal = formatTime(val);\r\n\r\n            $(\".rangeslider__handle\", $element.parent()).text(displayVal);\r\n            $hiddenInput.val(displayVal);\r\n\r\n            $(\".display-\" + sliderId).html(displayVal);\r\n            $(\".display-\" + sliderId).val(displayVal);\r\n        }\r\n\r\n        function checkState(val) {\r\n            if (!currentState.range.includes(parseInt(val))) {\r\n                updateState(val);\r\n            }\r\n        }\r\n\r\n        function updateState(val) {\r\n            currentState = sliderStates.find(state => state.range.includes(parseInt(val)));\r\n            updateHandle(val);\r\n\r\n            $(\".rangeslider__handle\", $element.parent()).removeClass(function (index, css) {\r\n                return (css.match(\/(^|\\s)js-\\S+\/g) || []).join(\" \");\r\n            }).addClass(\"js-\" + currentState.name);\r\n        }\r\n    }\r\n\r\n    \/\/ initializeSlider(\"return-time-desktop\", \"hidden-return-time-desktop\");\r\n    \/\/ initializeSlider(\"return-time-mobile\", \"hidden-return-time-mobile\");\r\n\r\n<\/script>\r\n\r\n<script>\r\n            document.body.classList.add('color-orange');\r\n    \r\n    if (navigator.userAgent.indexOf('Chrome') !== -1) {\r\n        document.body.classList.add('chrome');\r\n    }\r\n\r\n    function showCustomLocationErrorMsg() {\r\n        jQuery(\".error-notification-container-custom-location\").removeClass(\"hide\");\r\n\r\n        setTimeout(function() {\r\n            jQuery(\".error-notification-container-custom-location\").addClass(\"hide\");\r\n        }, 7000);\r\n    }\r\n\r\n    function hideCustomLocationErrorMsg() {\r\n        jQuery(\".error-notification-container-custom-location\").addClass(\"hide\");\r\n    }\r\n\r\n    function afterSelectCustomLocationDesktop() {\r\n        let returnLocVal = jQuery('.return_location_value').val();\r\n        let pickupOrReturn = jQuery('input[name=\"pickup_or_return_desktop\"]').val();\r\n        if (pickupOrReturn == \"return\" && (returnLocVal == \"81\" || returnLocVal == 81 || returnLocVal == \"82\" || returnLocVal == 82 || returnLocVal == \"83\" || returnLocVal == 83)) {\r\n            return;\r\n        }\r\n\r\n        setTimeout(function() {\r\n            let pickupOrReturn = jQuery('input[name=\"pickup_or_return_desktop\"]').val();\r\n\r\n            if(pickupOrReturn == \"pickup\") {\r\n\r\n                if(window.selectedLocationPickupDesktop) {\r\n                    let pickupCustomValue = jQuery('#pickup-custom-location-desktop').val();\r\n\r\n                    jQuery(\".pickup-place\").html(pickupCustomValue).css({\r\n                        'text-transform': 'capitalize',\r\n                        'color': '#321B01',\r\n                    });\r\n\r\n                    hideCustomLocationErrorMsg();\r\n\r\n                    jQuery('.pickup_location_custom_value').val(pickupCustomValue);\r\n                    jQuery('.pickup_location_value_text').val(pickupCustomValue);\r\n                    jQuery('.pickup_location_value').val('custom');\r\n\r\n                    \/\/ Make a button search booking widget enabled\r\n                    jQuery('.btn-search-bike').prop('disabled', false);\r\n                    jQuery('.btn-search-bike').removeClass('disabled');\r\n                } else {\r\n                    let pickupCustomValue = 'Lieferort \/ Abholort';\r\n\r\n                    jQuery(\".pickup-place\").html(pickupCustomValue).css({\r\n                        'text-transform': 'capitalize',\r\n                        'color': '#321B01',\r\n                    });\r\n\r\n                    showCustomLocationErrorMsg();\r\n\r\n                    jQuery('.pickup_location_custom_value').val('');\r\n                    jQuery('.pickup_location_value_text').val('');\r\n                    jQuery('.pickup_location_value').val('');\r\n\r\n                    \/\/ Make a button search booking widget enabled\r\n                    jQuery('.btn-search-bike').prop('disabled', true);\r\n                    jQuery('.btn-search-bike').addClass('disabled');\r\n                }\r\n\r\n            } else {\r\n\r\n                if(window.selectedLocationReturnDesktop) {\r\n                    let returnCustomValue = jQuery('#return-custom-location-desktop').val();\r\n\r\n                    jQuery(\".return-place\").html(returnCustomValue).css({\r\n                        'text-transform': 'capitalize',\r\n                    });\r\n\r\n                    hideCustomLocationErrorMsg();\r\n\r\n                    jQuery('.return_location_custom_value').val(returnCustomValue);\r\n                    jQuery('.return_location_value_text').val(returnCustomValue);\r\n                    jQuery('.return_location_value').val('custom');\r\n\r\n                    \/\/ hide the header and tabs\r\n                    jQuery('.booking-widget-popup-select-region .header').addClass('hide');\r\n                    jQuery('.booking-widget-popup-select-region .content .tabs').addClass('hide');\r\n                } else {\r\n                    showCustomLocationErrorMsg();\r\n\r\n                    jQuery('.return_location_custom_value').val('');\r\n                    jQuery('.return_location_value_text').val('');\r\n                    jQuery('.return_location_value').val('custom');\r\n\r\n                    \/\/ show different location container\r\n                    jQuery(\"#return-location-container-desktop\").addClass(\"hide\");\r\n                    jQuery(\"#different-location-container-desktop\").removeClass(\"hide\");\r\n                }\r\n\r\n            }\r\n\r\n            var brandId = jQuery('.booking-location').val();\r\n            getLocationPoints(brandId);\r\n\r\n            jQuery('.booking-widget-popup-select-region').addClass('hide');\r\n\r\n        }, 500);\r\n    }\r\n\r\n    function initBangkokAutocompleteDesktop() {\r\n        let bangkokInputDesktop = document.getElementById('bangkok-custom-location-desktop');\r\n        if (bangkokInputDesktop && typeof google !== 'undefined' && google.maps && google.maps.places) {\r\n            const bangkokCenter = { lat: 13.7563, lng: 100.5018 };\r\n            const bangkokCircle = new google.maps.Circle({\r\n                center: bangkokCenter,\r\n                radius: 30000 \/\/ 30km\r\n            });\r\n            const bangkokBounds = bangkokCircle.getBounds();\r\n\r\n            const bangkokOptions = {\r\n                types: ['geocode', 'establishment'],\r\n                bounds: bangkokBounds,\r\n                strictBounds: true,\r\n                componentRestrictions: {\r\n                    country: 'TH'\r\n                }\r\n            };\r\n\r\n            window.bangkokAutocompleteDesktop = new google.maps.places.Autocomplete(bangkokInputDesktop, bangkokOptions);\r\n            \r\n            jQuery('#bangkok-custom-location-desktop').off('input.bangkok').on('input.bangkok', function() {\r\n                window.selectedLocationReturnDesktop = false;\r\n                jQuery('.return_location_custom_value').val('');\r\n                jQuery('#return_lat_desktop').val('');\r\n                jQuery('#return_lng_desktop').val('');\r\n            });\r\n\r\n            window.bangkokAutocompleteDesktop.addListener('place_changed', function() {\r\n                const place = window.bangkokAutocompleteDesktop.getPlace();\r\n\r\n                if (place && place.geometry) {\r\n                    let locationValue = jQuery('#bangkok-custom-location-desktop').val();\r\n                    let lat = place.geometry.location.lat();\r\n                    let lng = place.geometry.location.lng();\r\n\r\n                    \/\/ Set coordinates & value \u2014 use the currently selected Bangkok location ID\r\n                    let bangkokReturnId = jQuery('.location-points-desktop input[name=\"location\"]:checked').val() || '81';\r\n                    jQuery('.return_location_value').val(bangkokReturnId);\r\n                    jQuery('.return_location_value_text').val('Bangkok - custom location');\r\n                    jQuery('.return_location_custom_value').val(locationValue);\r\n                    jQuery('#return_lat_desktop').val(lat);\r\n                    jQuery('#return_lng_desktop').val(lng);\r\n\r\n                    window.selectedLocationReturnDesktop = true;\r\n\r\n                    \/\/ Update label\r\n                    jQuery(\".return-place\").html(locationValue).css({\r\n                        'text-transform': 'capitalize',\r\n                        'color': '#321B01',\r\n                    });\r\n\r\n                    hideCustomLocationErrorMsg();\r\n                    jQuery(\".booking-widget-popup-select-region\").addClass('hide');\r\n                    jQuery(\".booking-widget-popup-select-country\").addClass('hide');\r\n                } else {\r\n                    showCustomLocationErrorMsg();\r\n                    window.selectedLocationReturnDesktop = false;\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n    function initBangkokAutocompleteMobile() {\r\n        let bangkokInputMobile = document.getElementById('bangkok-custom-location');\r\n        if (bangkokInputMobile && typeof google !== 'undefined' && google.maps && google.maps.places) {\r\n            const bangkokCenter = { lat: 13.7563, lng: 100.5018 };\r\n            const bangkokCircle = new google.maps.Circle({\r\n                center: bangkokCenter,\r\n                radius: 30000 \/\/ 30km\r\n            });\r\n            const bangkokBounds = bangkokCircle.getBounds();\r\n\r\n            const bangkokOptionsMobile = {\r\n                types: ['geocode', 'establishment'],\r\n                bounds: bangkokBounds,\r\n                strictBounds: true,\r\n                componentRestrictions: {\r\n                    country: 'TH'\r\n                }\r\n            };\r\n\r\n            window.bangkokAutocompleteMobile = new google.maps.places.Autocomplete(bangkokInputMobile, bangkokOptionsMobile);\r\n\r\n            jQuery('#bangkok-custom-location').off('input.bangkok').on('input.bangkok', function() {\r\n                window.selectedLocationReturnMobile = false;\r\n                jQuery('.return_location_custom_value').val('');\r\n                jQuery('#return_lat').val('');\r\n                jQuery('#return_lng').val('');\r\n            });\r\n\r\n            window.bangkokAutocompleteMobile.addListener('place_changed', function() {\r\n                const place = window.bangkokAutocompleteMobile.getPlace();\r\n\r\n                if (place && place.geometry) {\r\n                    let locationValue = jQuery('#bangkok-custom-location').val();\r\n                    let lat = place.geometry.location.lat();\r\n                    let lng = place.geometry.location.lng();\r\n\r\n                    \/\/ Set coordinates & value \u2014 use the currently selected Bangkok location ID\r\n                    let bangkokReturnIdMobile = jQuery('.location-points input[name=\"location\"]:checked').val() || '81';\r\n                    jQuery('.return_location_value').val(bangkokReturnIdMobile);\r\n                    jQuery('.return_location_value_text').val('Bangkok - custom location');\r\n                    jQuery('.return_location_custom_value').val(locationValue);\r\n                    jQuery('#return_lat').val(lat);\r\n                    jQuery('#return_lng').val(lng);\r\n\r\n                    window.selectedLocationReturnMobile = true;\r\n\r\n                    \/\/ Update label\r\n                    jQuery(\".return-place\").html(locationValue).css({\r\n                        'text-transform': 'capitalize',\r\n                        'color': '#321B01',\r\n                    });\r\n\r\n                    hideCustomLocationErrorMsg();\r\n                    jQuery(\".location-popup\").addClass(\"hide\");\r\n                } else {\r\n                    showCustomLocationErrorMsg();\r\n                    window.selectedLocationReturnMobile = false;\r\n                }\r\n\r\n                afterSelectCustomLocationMobile();\r\n            });\r\n        }\r\n    }\r\n\r\n    \/\/ Get Maps to calculate range of location - Desktop\r\n    function getMapsLocationDesktop(branchId) {\r\n        if (window.mapsDesktopTimeout) clearTimeout(window.mapsDesktopTimeout);\r\n        window.mapsDesktopTimeout = setTimeout(() => {\r\n\r\n            var mapsLocations = {\"1\":{\"latitude\":\"-8.409518\",\"longitude\":\"115.188919\",\"radius\":\"80000\",\"country\":\"ID\"},\"14\":{\"latitude\":\"-8.7270\",\"longitude\":\"115.5442\",\"radius\":\"8000\",\"country\":\"ID\"},\"10\":{\"latitude\":\"7.988417436066629\",\"longitude\":\"98.31420022472052\",\"radius\":\"24000\",\"country\":\"TH\"},\"15\":{\"latitude\":\"8.1808778\",\"longitude\":\"99.0463396\",\"radius\":\"30000\",\"country\":\"TH\"},\"16\":{\"latitude\":\"18.7692428\",\"longitude\":\"98.9681891\",\"radius\":\"13000\",\"country\":\"TH\"},\"18\":{\"latitude\":\"-8.5657\",\"longitude\":\"116.3510\",\"radius\":\"38800\",\"country\":\"ID\"},\"17\":{\"latitude\":\"19.954111\",\"longitude\":\"99.878917\",\"radius\":\"100\",\"country\":\"TH\"},\"19\":{\"latitude\":\"8.68889\",\"longitude\":\"98.25000\",\"radius\":\"15000\",\"country\":\"TH\"},\"20\":{\"latitude\":\"9.8500\",\"longitude\":\"126.0500\",\"radius\":\"13000\",\"country\":\"PH\"}};\r\n\r\n            let locationMaps;\r\n            if (mapsLocations.hasOwnProperty(branchId)) {\r\n                locationMaps = {\r\n                    latitude: parseFloat(mapsLocations[branchId].latitude),\r\n                    longitude: parseFloat(mapsLocations[branchId].longitude),\r\n                    radius: parseFloat(mapsLocations[branchId].radius),\r\n                    country: mapsLocations[branchId].country\r\n                };\r\n            }\r\n\r\n            \/\/ Helper function to get bounds for a specific branch\r\n            const getBoundsForBranch = (id) => {\r\n                if (mapsLocations.hasOwnProperty(id)) {\r\n                    return (new google.maps.Circle({\r\n                        center: {\r\n                            lat: parseFloat(mapsLocations[id].latitude),\r\n                            lng: parseFloat(mapsLocations[id].longitude)\r\n                        },\r\n                        radius: parseFloat(mapsLocations[id].radius) || 150\r\n                    })).getBounds();\r\n                }\r\n                return null;\r\n            };\r\n\r\n            let pickupLocationBounds = getBoundsForBranch(branchId);\r\n            let country = mapsLocations[branchId] ? mapsLocations[branchId].country : 'ID';\r\n\r\n\r\n            \/\/ Assuming 'pickupLocation' is the ID or class of the input field you want to use for autocomplete\r\n            let pickupLocation = document.getElementById('pickup-custom-location-desktop');\r\n\r\n            if (!pickupLocationBounds) return;\r\n\r\n            \/\/ Initialize or update Google Maps Places Autocomplete for Pickup\r\n            const autocompleteOptions = {\r\n                types: ['geocode', 'establishment'],\r\n                bounds: pickupLocationBounds,\r\n                strictBounds: true,\r\n                componentRestrictions: {\r\n                    country: country\r\n                }\r\n            };\r\n\r\n            if (!window.pickupAutocompleteDesktop) {\r\n                window.pickupAutocompleteDesktop = new google.maps.places.Autocomplete(pickupLocation, autocompleteOptions);\r\n                window.pickupAutocompleteDesktop.addListener('place_changed', function() {\r\n                    const place = window.pickupAutocompleteDesktop.getPlace();\r\n\r\n                    if (place && place.geometry) {\r\n                        let pickupLocationValue = jQuery('#pickup-custom-location-desktop').val();\r\n                        let lat = place.geometry.location.lat();\r\n                        let lng = place.geometry.location.lng();\r\n\r\n                        \/\/ Capture coordinates\r\n                        console.log(\"Desktop Pickup selected, setting coordinates:\", lat, lng);\r\n                        jQuery('#pickup_lat_desktop').val(lat);\r\n                        jQuery('#pickup_lng_desktop').val(lng);\r\n\r\n                        hideCustomLocationErrorMsg();\r\n\r\n                        \/\/ Update label immediately\r\n                        jQuery(\".pickup-place\").html(pickupLocationValue).css({\r\n                            'text-transform': 'capitalize',\r\n                            'color': '#321B01',\r\n                        });\r\n\r\n                        window.selectedLocationPickupDesktop = true;\r\n                    } else {\r\n                        showCustomLocationErrorMsg();\r\n\r\n                        jQuery('.return_location_custom_value').val('');\r\n                        jQuery('#return-custom-location-desktop').val();\r\n\r\n                        jQuery('.pickup-place').html(\"Lieferort \/ Abholort\");\r\n\r\n                        window.selectedLocationPickupDesktop = false;\r\n                    }\r\n\r\n                });\r\n            } else {\r\n                window.pickupAutocompleteDesktop.setBounds(pickupLocationBounds);\r\n                window.pickupAutocompleteDesktop.setComponentRestrictions({ country: country });\r\n            }\r\n\r\n            \/\/ Only reset if the input is actually empty to prevent premature error messages\r\n            if (jQuery('#pickup-custom-location-desktop').val() === \"\") {\r\n                window.selectedLocationPickupDesktop = false;\r\n            }\r\n\r\n            \/\/ Logic for multiple Return Location Bounds\r\n            let returnLocationBounds = new google.maps.LatLngBounds();\r\n            let allowedReturnIds = [branchId.toString()];\r\n\r\n            \/\/ If Phuket (10), Krabi (15), or Khao Lak (19), allow cross-returns between them\r\n            const crossReturnGroup = [\"10\", \"15\", \"19\"];\r\n            if (crossReturnGroup.includes(branchId.toString())) {\r\n                allowedReturnIds = crossReturnGroup;\r\n            }\r\n\r\n            allowedReturnIds.forEach(id => {\r\n                let bounds = getBoundsForBranch(id);\r\n                if (bounds) returnLocationBounds.union(bounds);\r\n            });\r\n\r\n\r\n\r\n            \/\/ Assuming 'returnLocation' is the ID or class of the input field you want to use for autocomplete\r\n            let returnLocation = document.getElementById('return-custom-location-desktop');\r\n            \/\/ Initialize or update Google Maps Places Autocomplete for Return\r\n            const returnAutocompleteOptions = {\r\n                types: ['geocode', 'establishment'],\r\n                bounds: returnLocationBounds,\r\n                strictBounds: true,\r\n                componentRestrictions: {\r\n                    country: country\r\n                }\r\n            };\r\n\r\n            if (!window.returnAutocompleteDesktop) {\r\n                window.returnAutocompleteDesktop = new google.maps.places.Autocomplete(returnLocation, returnAutocompleteOptions);\r\n                window.returnAutocompleteDesktop.addListener('place_changed', function() {\r\n                    const place = window.returnAutocompleteDesktop.getPlace();\r\n\r\n                    if (place && place.geometry) {\r\n                        let returnLocationValue = jQuery('#return-custom-location-desktop').val();\r\n                        let lat = place.geometry.location.lat();\r\n                        let lng = place.geometry.location.lng();\r\n\r\n                        jQuery('.return_location_custom_value').val(returnLocationValue);\r\n\r\n                        \/\/ Capture coordinates\r\n                        console.log(\"Desktop Return selected, setting coordinates:\", lat, lng);\r\n                        jQuery('#return_lat_desktop').val(lat);\r\n                        jQuery('#return_lng_desktop').val(lng);\r\n\r\n                        window.selectedLocationReturnDesktop = true;\r\n\r\n                        \/\/ Update label immediately\r\n                        jQuery(\".return-place\").html(returnLocationValue).css({\r\n                            'text-transform': 'capitalize',\r\n                            'color': '#321B01',\r\n                        });\r\n\r\n                        hideCustomLocationErrorMsg();\r\n                        jQuery(\".location-popup\").addClass(\"hide\");\r\n                    } else {\r\n                        showCustomLocationErrorMsg();\r\n\r\n                        jQuery('#return_location_custom_value').val('');\r\n\r\n                        window.selectedLocationReturnDesktop = false;\r\n                    }\r\n                });\r\n            } else {\r\n                window.returnAutocompleteDesktop.setBounds(returnLocationBounds);\r\n                window.returnAutocompleteDesktop.setComponentRestrictions({ country: country });\r\n            }\r\n\r\n            initBangkokAutocompleteDesktop();\r\n\r\n        }, 50);\r\n\r\n    }\r\n\r\n    function afterSelectCustomLocationMobile() {\r\n        let returnLocVal = jQuery('.return_location_value').val();\r\n        let pickupOrReturn = jQuery('input[name=\"pickup_or_return\"]').val();\r\n        if (pickupOrReturn == \"return\" && (returnLocVal == \"81\" || returnLocVal == 81 || returnLocVal == \"82\" || returnLocVal == 82 || returnLocVal == \"83\" || returnLocVal == 83)) {\r\n            return;\r\n        }\r\n\r\n        setTimeout(function() {\r\n            \/\/ Category pickup or return\r\n            let pickupOrReturn = jQuery('input[name=\"pickup_or_return\"]').val();\r\n\r\n            if(pickupOrReturn == \"pickup\") {\r\n\r\n                if(window.selectedLocationPickupMobile) {\r\n                    let pickupCustomValue = jQuery('#pickup-custom-location').val();\r\n\r\n                    jQuery(\".pickup-place\").html(pickupCustomValue).css({\r\n                        'text-transform': 'capitalize',\r\n                        'color': '#321B01',\r\n                    });\r\n\r\n                    hideCustomLocationErrorMsg();\r\n\r\n                    jQuery('.pickup_location_custom_value').val(pickupCustomValue);\r\n                    jQuery('.pickup_location_value_text').val(pickupCustomValue);\r\n                    jQuery('.pickup_location_value').val('custom');\r\n\r\n                    \/\/ Make a button search booking widget enabled\r\n                    jQuery('.btn-search-bike').prop('disabled', false);\r\n                    jQuery('.btn-search-bike').removeClass('disabled');\r\n                } else {\r\n                    let pickupCustomValue = 'Lieferort \/ Abholort';\r\n\r\n                    jQuery(\".pickup-place\").html(pickupCustomValue).css({\r\n                        'text-transform': 'capitalize',\r\n                        'color': '#321B01',\r\n                    });\r\n\r\n                    showCustomLocationErrorMsg();\r\n\r\n                    jQuery('.pickup_location_custom_value').val('');\r\n                    jQuery('.pickup_location_value_text').val('');\r\n                    jQuery('.pickup_location_value').val('');\r\n\r\n                    \/\/ Make a button search booking widget enabled\r\n                    jQuery('.btn-search-bike').prop('disabled', true);\r\n                    jQuery('.btn-search-bike').addClass('disabled');\r\n                }\r\n\r\n            } else {\r\n\r\n                if(window.selectedLocationReturnMobile) {\r\n                    let returnCustomValue = jQuery('#return-custom-location').val();\r\n\r\n                    jQuery(\".return-place\").html(returnCustomValue).css({\r\n                        'text-transform': 'capitalize',\r\n                        'color': '#321B01',\r\n                    });\r\n\r\n                    hideCustomLocationErrorMsg();\r\n\r\n                    jQuery('.return_location_custom_value').val(returnCustomValue);\r\n                    jQuery('.return_location_value_text').val(returnCustomValue);\r\n                    jQuery('.return_location_value').val('custom');\r\n                } else {\r\n                    showCustomLocationErrorMsg();\r\n\r\n                    \/\/ show different location container\r\n                    jQuery(\"#return-location-container\").addClass(\"hide\");\r\n                    jQuery(\"#different-location-container\").removeClass(\"hide\");\r\n                }\r\n\r\n            }\r\n\r\n            var brandId = jQuery('.booking-location').val();\r\n            getLocationPoints(brandId);\r\n\r\n            jQuery(\".location-popup\").addClass(\"hide\");\r\n        }, 100);\r\n    }\r\n\r\n    \/\/ Get Maps to calculate range of location - Mobile\r\n    function getMapsLocation(branchId) {\r\n        if (window.mapsMobileTimeout) clearTimeout(window.mapsMobileTimeout);\r\n        window.mapsMobileTimeout = setTimeout(() => {\r\n\r\n            var mapsLocations = {\"1\":{\"latitude\":\"-8.409518\",\"longitude\":\"115.188919\",\"radius\":\"80000\",\"country\":\"ID\"},\"14\":{\"latitude\":\"-8.7270\",\"longitude\":\"115.5442\",\"radius\":\"8000\",\"country\":\"ID\"},\"10\":{\"latitude\":\"7.988417436066629\",\"longitude\":\"98.31420022472052\",\"radius\":\"24000\",\"country\":\"TH\"},\"15\":{\"latitude\":\"8.1808778\",\"longitude\":\"99.0463396\",\"radius\":\"30000\",\"country\":\"TH\"},\"16\":{\"latitude\":\"18.7692428\",\"longitude\":\"98.9681891\",\"radius\":\"13000\",\"country\":\"TH\"},\"18\":{\"latitude\":\"-8.5657\",\"longitude\":\"116.3510\",\"radius\":\"38800\",\"country\":\"ID\"},\"17\":{\"latitude\":\"19.954111\",\"longitude\":\"99.878917\",\"radius\":\"100\",\"country\":\"TH\"},\"19\":{\"latitude\":\"8.68889\",\"longitude\":\"98.25000\",\"radius\":\"15000\",\"country\":\"TH\"},\"20\":{\"latitude\":\"9.8500\",\"longitude\":\"126.0500\",\"radius\":\"13000\",\"country\":\"PH\"}};\r\n\r\n            let locationMaps;\r\n            if (mapsLocations.hasOwnProperty(branchId)) {\r\n                locationMaps = {\r\n                    latitude: parseFloat(mapsLocations[branchId].latitude),\r\n                    longitude: parseFloat(mapsLocations[branchId].longitude),\r\n                    radius: parseFloat(mapsLocations[branchId].radius),\r\n                    country: mapsLocations[branchId].country\r\n                };\r\n            }\r\n\r\n            \/\/ Helper function to get bounds for a specific branch\r\n            const getBoundsForBranch = (id) => {\r\n                if (mapsLocations.hasOwnProperty(id)) {\r\n                    return (new google.maps.Circle({\r\n                        center: {\r\n                            lat: parseFloat(mapsLocations[id].latitude),\r\n                            lng: parseFloat(mapsLocations[id].longitude)\r\n                        },\r\n                        radius: parseFloat(mapsLocations[id].radius) || 150\r\n                    })).getBounds();\r\n                }\r\n                return null;\r\n            };\r\n\r\n            let pickupLocationBounds = getBoundsForBranch(branchId);\r\n            let country = mapsLocations[branchId] ? mapsLocations[branchId].country : 'ID';\r\n\r\n\r\n            \/\/ Assuming 'pickupLocation' is the ID or class of the input field you want to use for autocomplete\r\n            let pickupLocation = document.getElementById('pickup-custom-location');\r\n\r\n            if (!pickupLocationBounds) return;\r\n\r\n            \/\/ Initialize or update Google Maps Places Autocomplete for Pickup (Mobile)\r\n            const pickupAutocompleteOptionsMobile = {\r\n                types: ['geocode', 'establishment'],\r\n                bounds: pickupLocationBounds,\r\n                strictBounds: true,\r\n                componentRestrictions: {\r\n                    country: country\r\n                }\r\n            };\r\n\r\n            if (!window.pickupAutocompleteMobile) {\r\n                window.pickupAutocompleteMobile = new google.maps.places.Autocomplete(pickupLocation, pickupAutocompleteOptionsMobile);\r\n                window.pickupAutocompleteMobile.addListener('place_changed', function() {\r\n                    const place = window.pickupAutocompleteMobile.getPlace();\r\n\r\n                    if (place && place.geometry) {\r\n                        let pickupLocationValue = jQuery('#pickup-custom-location').val();\r\n                        let lat = place.geometry.location.lat();\r\n                        let lng = place.geometry.location.lng();\r\n\r\n                        \/\/ Capture coordinates\r\n                        console.log(\"Mobile Pickup selected, setting coordinates:\", lat, lng);\r\n                        jQuery('#pickup_lat').val(lat);\r\n                        jQuery('#pickup_lng').val(lng);\r\n\r\n                        hideCustomLocationErrorMsg();\r\n\r\n                        window.selectedLocationPickupMobile = true;\r\n                        \r\n                        \/\/ Update label immediately\r\n                        jQuery(\".pickup-place\").html(pickupLocationValue).css({\r\n                            'text-transform': 'capitalize',\r\n                            'color': '#321B01',\r\n                        });\r\n\r\n                        jQuery(\".location-popup\").addClass(\"hide\");\r\n                        afterSelectCustomLocationMobile();\r\n                    } else {\r\n                        showCustomLocationErrorMsg();\r\n\r\n                        jQuery('.return_location_custom_value').val('');\r\n                        jQuery('#return-custom-location').val('');\r\n                        jQuery('.pickup-place').html(\"Collection \/ Return Location\");\r\n\r\n                        window.selectedLocationPickupMobile = false;\r\n                        afterSelectCustomLocationMobile();\r\n                    }\r\n\r\n                });\r\n            } else {\r\n                window.pickupAutocompleteMobile.setBounds(pickupLocationBounds);\r\n                window.pickupAutocompleteMobile.setComponentRestrictions({ country: country });\r\n            }\r\n\r\n            \/\/ Only reset if the input is actually empty\r\n            if (jQuery('#pickup-custom-location').val() === \"\") {\r\n                window.selectedLocationPickupMobile = false;\r\n            }\r\n\r\n            \/\/ Logic for multiple Return Location Bounds\r\n            let returnLocationBounds = new google.maps.LatLngBounds();\r\n            let allowedReturnIds = [branchId.toString()];\r\n\r\n            \/\/ If Phuket (10), Krabi (15), or Khao Lak (19), allow cross-returns between them\r\n            const crossReturnGroup = [\"10\", \"15\", \"19\"];\r\n            if (crossReturnGroup.includes(branchId.toString())) {\r\n                allowedReturnIds = crossReturnGroup;\r\n            }\r\n\r\n            allowedReturnIds.forEach(id => {\r\n                let bounds = getBoundsForBranch(id);\r\n                if (bounds) returnLocationBounds.union(bounds);\r\n            });\r\n\r\n\r\n\r\n            \/\/ Assuming 'returnLocation' is the ID or class of the input field you want to use for autocomplete\r\n            let returnLocation = document.getElementById('return-custom-location');\r\n\r\n            \/\/ Initialize or update Google Maps Places Autocomplete for Return (Mobile)\r\n            const returnAutocompleteOptionsMobile = {\r\n                types: ['geocode', 'establishment'],\r\n                bounds: returnLocationBounds,\r\n                strictBounds: true,\r\n                componentRestrictions: {\r\n                    country: country\r\n                }\r\n            };\r\n\r\n            if (!window.returnAutocompleteMobile) {\r\n                window.returnAutocompleteMobile = new google.maps.places.Autocomplete(returnLocation, returnAutocompleteOptionsMobile);\r\n                window.returnAutocompleteMobile.addListener('place_changed', function() {\r\n                    const placeReturn = window.returnAutocompleteMobile.getPlace();\r\n\r\n                    if (placeReturn && placeReturn.geometry) {\r\n                        let lat = placeReturn.geometry.location.lat();\r\n                        let lng = placeReturn.geometry.location.lng();\r\n\r\n                        console.log(\"Mobile Return selected, setting coordinates:\", lat, lng);\r\n                        jQuery('#return_lat').val(lat);\r\n                        jQuery('#return_lng').val(lng);\r\n\r\n                        window.selectedLocationReturnMobile = true;\r\n\r\n                        \/\/ Update label immediately\r\n                        let returnCustomValue = jQuery('#return-custom-location').val();\r\n                        jQuery(\".return-place\").html(returnCustomValue).css({\r\n                            'text-transform': 'capitalize',\r\n                            'color': '#321B01',\r\n                        });\r\n\r\n                        hideCustomLocationErrorMsg();\r\n                        jQuery(\".location-popup\").addClass(\"hide\");\r\n                    } else {\r\n                        \/\/ show different location container\r\n                        jQuery(\"#return-location-container\").addClass(\"hide\");\r\n                        jQuery(\"#different-location-container\").removeClass(\"hide\");\r\n\r\n                        showCustomLocationErrorMsg();\r\n                        window.selectedLocationReturnMobile = false;\r\n                    }\r\n\r\n                    afterSelectCustomLocationMobile();\r\n                });\r\n            } else {\r\n                window.returnAutocompleteMobile.setBounds(returnLocationBounds);\r\n                window.returnAutocompleteMobile.setComponentRestrictions({ country: country });\r\n            }\r\n\r\n            \/\/ Only reset if empty\r\n            if (jQuery('#return-custom-location').val() === \"\") {\r\n                window.selectedLocationReturnMobile = false;\r\n            }\r\n\r\n            initBangkokAutocompleteMobile();\r\n\r\n        }, 50);\r\n\r\n    }\r\n\r\n    \/\/ Get Collection \/ Drop-off time\r\n    function getTimeReturn(branchId) {\r\n        var openCloseHours = {\"1\":{\"openHour\":\"8\",\"closeHour\":\"22\"},\"14\":{\"openHour\":\"8\",\"closeHour\":\"18\"},\"10\":{\"openHour\":\"8\",\"closeHour\":\"22\"},\"15\":{\"openHour\":\"9\",\"closeHour\":\"21\"},\"16\":{\"openHour\":\"9\",\"closeHour\":\"17\"},\"18\":{\"openHour\":\"9\",\"closeHour\":\"17\"},\"17\":{\"openHour\":\"9\",\"closeHour\":\"21\"},\"19\":{\"openHour\":\"9\",\"closeHour\":\"17\"},\"20\":{\"openHour\":\"9\",\"closeHour\":\"17\"}};\r\n        var openCloseHoursTimeFormat = {\"1\":{\"openHour\":\"08:00\",\"closeHour\":\"22:00\"},\"14\":{\"openHour\":\"08:00\",\"closeHour\":\"18:00\"},\"10\":{\"openHour\":\"08:00\",\"closeHour\":\"22:00\"},\"15\":{\"openHour\":\"09:00\",\"closeHour\":\"21:00\"},\"16\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"},\"18\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"},\"17\":{\"openHour\":\"09:00\",\"closeHour\":\"21:00\"},\"19\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"},\"20\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"}};\r\n\r\n        \/\/ Hour format \"openHour\":\"9\",\"closeHour\":\"17\"\r\n        if (openCloseHours.hasOwnProperty(branchId)) {\r\n            var activeStartHour = openCloseHours[branchId].openHour;\r\n            var activeEndHour = openCloseHours[branchId].closeHour;\r\n        }\r\n\r\n        \/\/ Time format \"openHour\":\"09:00\",\"closeHour\":\"17:00\"\r\n        if (openCloseHoursTimeFormat.hasOwnProperty(branchId)) {\r\n            var activeStartHourTimeFormat = openCloseHoursTimeFormat[branchId].openHour;\r\n            var activeEndHourTimeFormat = openCloseHoursTimeFormat[branchId].closeHour;\r\n        }\r\n\r\n        if(branchId == \"fleet-5\" || branchId == \"fleet-34\") { \/\/ kerobokan & seminyak\r\n            var activeStartHour = 9;\r\n            var activeEndHour = 17;\r\n\r\n            activeStartHourTimeFormat = \"09:00\";\r\n            var activeEndHourTimeFormat = \"17:00\";\r\n        }\r\n\r\n        \r\n            var timeGap = 15;\r\n\r\n        \r\n        var times = [];\r\n        for (var hour = activeStartHour; hour <= activeEndHour - 1; hour++) {\r\n            for (var quarter = 0; quarter < 60; quarter = quarter + timeGap) {\r\n                times.push((\"0\" + hour).slice(-2) + \":\" + (\"0\" + quarter).slice(-2));\r\n            }\r\n        }\r\n        times.push(activeEndHourTimeFormat);\r\n\r\n        \r\n            \/\/ Slider Time Option\r\n            const $select = jQuery('.return-time');\r\n            $select.empty();\r\n\r\n            times.forEach(function(time) {\r\n                $select.append(jQuery('<option><\/option>').attr('value', time).text(time));\r\n            });\r\n\r\n            }\r\n\r\n    \/\/ Get initial pickup \/ delivery time\r\n    function getInitialTimePickup(startDateCurrent) {\r\n        var branchId = 15; \/\/ Krabi 08:30\r\n        var openCloseHours = {\"1\":{\"openHour\":\"8\",\"closeHour\":\"22\"},\"14\":{\"openHour\":\"8\",\"closeHour\":\"18\"},\"10\":{\"openHour\":\"8\",\"closeHour\":\"22\"},\"15\":{\"openHour\":\"9\",\"closeHour\":\"21\"},\"16\":{\"openHour\":\"9\",\"closeHour\":\"17\"},\"18\":{\"openHour\":\"9\",\"closeHour\":\"17\"},\"17\":{\"openHour\":\"9\",\"closeHour\":\"21\"},\"19\":{\"openHour\":\"9\",\"closeHour\":\"17\"},\"20\":{\"openHour\":\"9\",\"closeHour\":\"17\"}};\r\n        var openCloseHoursTimeFormat = {\"1\":{\"openHour\":\"08:00\",\"closeHour\":\"22:00\"},\"14\":{\"openHour\":\"08:00\",\"closeHour\":\"18:00\"},\"10\":{\"openHour\":\"08:00\",\"closeHour\":\"22:00\"},\"15\":{\"openHour\":\"09:00\",\"closeHour\":\"21:00\"},\"16\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"},\"18\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"},\"17\":{\"openHour\":\"09:00\",\"closeHour\":\"21:00\"},\"19\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"},\"20\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"}};\r\n        var adjustHour = window.adjustHourValue;\r\n\r\n        if (openCloseHours.hasOwnProperty(branchId)) {\r\n            var activeStartHour = openCloseHours[branchId].openHour;\r\n            var activeEndHour = openCloseHours[branchId].closeHour;\r\n        }\r\n\r\n        if (openCloseHoursTimeFormat.hasOwnProperty(branchId)) {\r\n            var activeStartHourTimeFormat = openCloseHoursTimeFormat[branchId].openHour;\r\n            var activeEndHourTimeFormat = openCloseHoursTimeFormat[branchId].closeHour;\r\n        }\r\n\r\n        var now = new Date();\r\n        var year = now.getFullYear();\r\n        var month = (now.getMonth() + 1).toString().padStart(2, '0');\r\n        var day = now.getDate().toString().padStart(2, '0');\r\n\r\n        if(startDateCurrent == undefined) {\r\n            var currentDate = year + \"-\" + month + \"-\" + day;\r\n        } else {\r\n            var currentDate = startDateCurrent;\r\n        }\r\n\r\n        var times = [];\r\n        var userDates = currentDate;\r\n\r\n        if (userDates){\r\n            var selectedDate = moment(userDates.split(\"\/\")[0]).format(\"YYYY-MM-DD\");\r\n            var isToday = selectedDate === moment().format('YYYY-MM-DD');\r\n        } else {\r\n            var isToday = true;\r\n        }\r\n\r\n        var timezoneOption = 15; \/\/ Krabi\r\n\r\n        \/\/ Determine timezone string\r\n        var timezone = timezoneOption === 15 ? 'Asia\/Bangkok' : 'Asia\/Makassar';\r\n\r\n        if (isToday) {\r\n            times = [];\r\n\r\n            \/\/ Get actual time in selected timezone and add adjustHour\r\n            var nowWithoutAdjustment = moment.tz(timezone);\r\n            var nowMomentJs = moment.tz(timezone).add(adjustHour, 'hour');\r\n            var currentDay = nowWithoutAdjustment.format(\"DD\");\r\n            var actualDay = nowMomentJs.format(\"DD\");\r\n            var actualHour = nowMomentJs.hour();\r\n            var actualMinute = nowMomentJs.minute();\r\n\r\n            if (actualHour < activeStartHour || actualHour >= activeEndHour) {\r\n                actualHour = activeStartHour;\r\n            }\r\n\r\n            if (parseInt(actualHour) >= parseInt(activeEndHour) || nowWithoutAdjustment.isBefore(nowMomentJs, 'day')) {\r\n                \/\/ Add 1 day to current date\r\n                jQuery(\"#currentDateLogic\").val(1);\r\n            } else {\r\n                jQuery(\"#currentDateLogic\").val(0);\r\n            }\r\n\r\n            for (var hour = actualHour; hour <= activeEndHour - 1; hour++) {\r\n                for (var quarter = 0; quarter < 60; quarter += 15) {\r\n                    times.push((\"0\" + hour).slice(-2) + \":\" + (\"0\" + quarter).slice(-2));\r\n                }\r\n            }\r\n\r\n            for (let time of [...times]) {\r\n                let h = actualHour.toString().padStart(2, '0');\r\n\r\n                if (actualMinute >= 1) times = times.filter(i => i !== `${h}:00`);\r\n                if (actualMinute >= 15) times = times.filter(i => i !== `${h}:15`);\r\n                if (actualMinute >= 30) times = times.filter(i => i !== `${h}:30`);\r\n                if (actualMinute >= 45) times = times.filter(i => i !== `${h}:45`);\r\n            }\r\n\r\n            times.push(activeEndHourTimeFormat);\r\n        } else {\r\n            times = [];\r\n            for (var hour = activeStartHour; hour <= activeEndHour - 1; hour++) {\r\n                for (var quarter = 0; quarter < 60; quarter += 15) {\r\n                    times.push((\"0\" + hour).slice(-2) + \":\" + (\"0\" + quarter).slice(-2));\r\n                }\r\n            }\r\n            times.push(activeEndHourTimeFormat);\r\n        }\r\n\r\n        const $select = jQuery('.pickup-time');\r\n        $select.empty();\r\n\r\n        times.forEach(function(time) {\r\n            $select.append(jQuery('<option><\/option>').attr('value', time).text(time));\r\n        });\r\n    }\r\n\r\n    function getTimePickup(branchId, startDateCurrent) {\r\n        let activeStartHourTimeFormat;\r\n        var openCloseHours = {\"1\":{\"openHour\":\"8\",\"closeHour\":\"22\"},\"14\":{\"openHour\":\"8\",\"closeHour\":\"18\"},\"10\":{\"openHour\":\"8\",\"closeHour\":\"22\"},\"15\":{\"openHour\":\"9\",\"closeHour\":\"21\"},\"16\":{\"openHour\":\"9\",\"closeHour\":\"17\"},\"18\":{\"openHour\":\"9\",\"closeHour\":\"17\"},\"17\":{\"openHour\":\"9\",\"closeHour\":\"21\"},\"19\":{\"openHour\":\"9\",\"closeHour\":\"17\"},\"20\":{\"openHour\":\"9\",\"closeHour\":\"17\"}};\r\n        var openCloseHoursTimeFormat = {\"1\":{\"openHour\":\"08:00\",\"closeHour\":\"22:00\"},\"14\":{\"openHour\":\"08:00\",\"closeHour\":\"18:00\"},\"10\":{\"openHour\":\"08:00\",\"closeHour\":\"22:00\"},\"15\":{\"openHour\":\"09:00\",\"closeHour\":\"21:00\"},\"16\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"},\"18\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"},\"17\":{\"openHour\":\"09:00\",\"closeHour\":\"21:00\"},\"19\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"},\"20\":{\"openHour\":\"09:00\",\"closeHour\":\"17:00\"}};\r\n\r\n                    var adjustHour = window.adjustHourValue;\r\n        \r\n        if (openCloseHours.hasOwnProperty(branchId)) {\r\n            var activeStartHour = openCloseHours[branchId].openHour;\r\n            var activeEndHour = openCloseHours[branchId].closeHour;\r\n        }\r\n\r\n        if (openCloseHoursTimeFormat.hasOwnProperty(branchId)) {\r\n            activeStartHourTimeFormat = openCloseHoursTimeFormat[branchId].openHour;\r\n            var activeEndHourTimeFormat = openCloseHoursTimeFormat[branchId].closeHour;\r\n        }\r\n\r\n        if(branchId == \"fleet-5\" || branchId == \"fleet-34\") { \/\/ kerobokan & seminyak\r\n            var activeStartHour = 9;\r\n            var activeEndHour = 17;\r\n\r\n            activeStartHourTimeFormat = \"09:00\";\r\n            var activeEndHourTimeFormat = \"17:00\";\r\n\r\n            adjustHour = window.adjustHourValue;\r\n        }\r\n\r\n        var now = new Date();\r\n        var year = now.getFullYear();\r\n        var month = (now.getMonth() + 1).toString().padStart(2, '0');\r\n        var day = now.getDate().toString().padStart(2, '0');\r\n\r\n        if(startDateCurrent == undefined) {\r\n            var currentDate = year + \"-\" + month + \"-\" + day;\r\n        } else {\r\n            var currentDate = startDateCurrent;\r\n        }\r\n\r\n        var times = [];\r\n        var userDates = currentDate;\r\n\r\n        if (userDates){\r\n            var selectedDate = moment(userDates.split(\"\/\")[0]).format(\"YYYY-MM-DD\");\r\n            var isToday = selectedDate === moment().format('YYYY-MM-DD');\r\n        } else {\r\n            var isToday = true;\r\n        }\r\n\r\n        \r\n            \/\/ Set the return time slider\r\n            jQuery('#return-time-desktop, #return-time-mobile').attr({\r\n                min: activeStartHourTimeFormat,\r\n                max: activeEndHourTimeFormat,\r\n                step: 15,\r\n                value: activeStartHourTimeFormat\r\n            });\r\n\r\n            initializeSlider(\"return-time-desktop\", \"hidden-return-time-desktop\");\r\n            initializeSlider(\"return-time-mobile\", \"hidden-return-time-mobile\");\r\n\r\n        \r\n        \/\/ ID current location\r\n        var locationId = branchId;\r\n\r\n        \/\/ ID-ID used in Bali\r\n        const baliIds = [1, 14, 18, 20]; \/\/ Bali + Siargao\r\n\r\n        \/\/ Timezone\r\n        const timezone = baliIds.includes(Number(locationId)) ? 'Asia\/Makassar' : 'Asia\/Bangkok';\r\n\r\n        \r\n            var timeGap = 15;\r\n\r\n        \r\n        if (isToday) {\r\n            times = [];\r\n\r\n            var nowWithoutAdjustment = moment.tz(timezone);\r\n            var nowMomentJs = moment.tz(timezone).add(adjustHour, 'hour');\r\n            var currentDay = nowWithoutAdjustment.format(\"DD\");\r\n            var actualDay = nowMomentJs.format(\"DD\");\r\n            var actualHour = nowMomentJs.hour();\r\n            var actualMinute = nowMomentJs.minute();\r\n\r\n            if (parseInt(actualHour) >= parseInt(activeEndHour) || nowWithoutAdjustment.isBefore(nowMomentJs, 'day')) {\r\n                \/\/ Add 1 day to current date\r\n                jQuery(\"#currentDateLogic\").val(1);\r\n            } else {\r\n                jQuery(\"#currentDateLogic\").val(0);\r\n            }\r\n\r\n            if(parseInt(actualHour) < parseInt(activeStartHour)) {\r\n                var gapMinute = 1;\r\n            } else {\r\n                var gapMinute = 2;\r\n            }\r\n\r\n            if (parseInt(actualHour) < parseInt(activeStartHour) || parseInt(actualHour) >= parseInt(activeEndHour)) {\r\n                actualHour = activeStartHour;\r\n            }\r\n\r\n            \/\/ get the current date\r\n            var currentStartDate = parseInt(jQuery('#currentDateLogic').val()) == 1 ? moment().startOf('day').add(1, 'day') : moment().startOf('day');\r\n            var currentEndDate = parseInt(jQuery('#currentDateLogic').val()) == 1 ? moment().add(4, 'days') : moment().add(3, 'days');\r\n\r\n            \/\/ update date base on branch location\r\n            jQuery(\".delivery-date-region-change\").html(currentStartDate.format(\"DD MMM\"));\r\n            jQuery(\".collection-date-region-change\").html(currentEndDate.format(\"DD MMM\"));\r\n\r\n            for (var hour = actualHour; hour <= activeEndHour - 1; hour++) {\r\n                \/\/ if this is the first hour, use 15 instead of 30\r\n                var currentGap = timeGap;\r\n\r\n                for (var quarter = 0; quarter < 60; quarter += currentGap) {\r\n                    times.push((\"0\" + hour).slice(-2) + \":\" + (\"0\" + quarter).slice(-2));\r\n                }\r\n            }\r\n\r\n            let h = actualHour.toString().padStart(gapMinute, '0');\r\n\r\n            if (actualMinute >= 1) {\r\n                times = times.filter(i => i !== `${h}:00`);\r\n            }\r\n            if (actualMinute >= 15) {\r\n                times = times.filter(i => i !== `${h}:15`);\r\n            }\r\n            if (actualMinute >= 30) {\r\n                times = times.filter(i => i !== `${h}:30`);\r\n            }\r\n            if (actualMinute >= 45) {\r\n                times = times.filter(i => i !== `${h}:45`);\r\n            }\r\n\r\n            times.push(activeEndHourTimeFormat);\r\n            activeStartHourTimeFormat = times[0];\r\n\r\n        } else {\r\n            times = [];\r\n            for (var hour = activeStartHour; hour <= activeEndHour - 1; hour++) {\r\n                for (var quarter = 0; quarter < 60; quarter += timeGap) {\r\n                    times.push((\"0\" + hour).slice(-2) + \":\" + (\"0\" + quarter).slice(-2));\r\n                }\r\n            }\r\n            times.push(activeEndHourTimeFormat);\r\n        }\r\n\r\n        \r\n            \/\/ Slider Time Option\r\n            const $select = jQuery('.pickup-time');\r\n            $select.empty();\r\n\r\n            \/\/ Set the pickup time slider\r\n            jQuery('#pickup-time-desktop, #pickup-time-mobile').attr({\r\n                min: activeStartHourTimeFormat,\r\n                max: activeEndHourTimeFormat,\r\n                step: 15,\r\n                value: activeStartHourTimeFormat\r\n            });\r\n\r\n            initializeSlider(\"pickup-time-desktop\", \"hidden-pickup-time-desktop\");\r\n            initializeSlider(\"pickup-time-mobile\", \"hidden-pickup-time-mobile\");\r\n\r\n            times.forEach(function(time) {\r\n                $select.append(jQuery('<option><\/option>').attr('value', time).text(time));\r\n            });\r\n\r\n        \r\n        \/\/ set to current display\r\n        jQuery(\".pickup-time-value\").val(times[0]);\r\n        jQuery(\".return-time-value\").val(times[0]);\r\n\r\n                    jQuery(\".time-region-change\").html(times[0]);\r\n            }\r\n\r\n    \/\/ To get the location points base on the branch id\r\n    function getLocationPoints(branchId) {\r\n        var locationPoints = {\"1\":{\"2\":\"Airport - Domestic terminal\",\"3\":\"Airport - International terminal\",\"31\":\"Canggu Batu Bolong shop\",\"32\":\"Ubud shop\",\"41\":\"Gilimanuk harbour pickup \\\/ drop-off point\",\"39\":\"Lovina pickup \\\/ drop-off point\",\"40\":\"Padangbai pickup \\\/ drop-off point\",\"43\":\"Sanur port pickup \\\/ drop-off point\"},\"14\":{\"57\":\"Nusa Penida shop\",\"58\":\"Banyar Nyuh Port Nusa Penida\"},\"10\":{\"83\":\"Bangkok\",\"76\":\"Bikago shop Khao Lak\",\"38\":\"Bikago shop Phuket\",\"60\":\"Bikago shop Krabi\",\"45\":\"Airport - International terminal\",\"46\":\"Airport - Domestic terminal\"},\"15\":{\"77\":\"Bikago shop Khao Lak\",\"59\":\"Bikago shop Krabi\",\"61\":\"Bikago shop Phuket\",\"62\":\"Krabi International Airport\"},\"16\":{\"82\":\"Bangkok\",\"64\":\"Bikago shop Chiang Mai\",\"74\":\"Chiang Mai Airport\"},\"18\":{\"72\":\"Senggigi Port\",\"75\":\"Bikago shop Lombok\",\"66\":\"Lombok Airport\",\"68\":\"Bangsal Port\"},\"17\":{\"81\":\"Bangkok\",\"65\":\"Bikago shop Chiang Rai\"},\"19\":{\"71\":\"Bikago shop Khao Lak\",\"79\":\"Bikago shop Krabi\",\"78\":\"Bikago shop Phuket\"},\"20\":{\"80\":\"Bikago shop Siargao\"}};\r\n        var pickupOrReturn = jQuery('input[name=\"pickup_or_return\"]').val();\r\n        var pickupOrReturnDesktop = jQuery('input[name=\"pickup_or_return_desktop\"]').val();\r\n\r\n        \/\/ DESKTOP version\r\n        var containerDesktop = jQuery(\".location-points-desktop\");\r\n        var stylesheetDirectoryUri = 'https:\/\/www.bikago.com\/wp-content\/themes\/bikago';\r\n\r\n        \/\/ clear the option\r\n        containerDesktop.empty();\r\n\r\n        if (locationPoints.hasOwnProperty(branchId)) {\r\n            var airportLocations = [];\r\n            var dropOffLocations = [];\r\n            var shopLocations = [];\r\n\r\n            jQuery.each(locationPoints[branchId], function(index, location) {\r\n                var icon, category;\r\n\r\n                \/\/ Skip specific locations based on branch and pickup\/return type\r\n                if((branchId == \"10\" || branchId == 10) && pickupOrReturnDesktop == \"pickup\") { \/\/ Phuket\r\n                    if(index == 60 || index == \"60\" || index == 76 || index == \"76\" || index == 82 || index == \"82\" || location.toLowerCase().includes(\"bangkok\")) { \/\/ Skip Bikago Shop Krabi & Khaolak & Bangkok\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                } else if ((branchId == \"15\" || branchId == 15) && pickupOrReturnDesktop == \"pickup\") { \/\/ Krabi\r\n                    if(index == 61 || index == \"61\" || index == 77 || index == \"77\") { \/\/ Skip Bikago Shop Phuket & Khaolak\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                } else if ((branchId == \"19\" || branchId == 19) && pickupOrReturnDesktop == \"pickup\") { \/\/ Khaolak\r\n                    if(index == 78 || index == \"78\" || index == 79 || index == \"79\") { \/\/ Skip Bikago Shop Krabi & Phuket\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                } else if ((branchId == \"17\" || branchId == 17) && pickupOrReturnDesktop == \"pickup\") { \/\/ Chiang Rai\r\n                    if(index == 81 || index == \"81\" || location.toLowerCase().includes(\"bangkok\")) { \/\/ Skip Bangkok\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                } else if ((branchId == \"22\" || branchId == 22 || branchId == \"16\" || branchId == 16) && pickupOrReturnDesktop == \"pickup\") { \/\/ Chiang Mai\r\n                    if(index == 83 || index == \"83\" || location.toLowerCase().includes(\"bangkok\")) { \/\/ Skip Bangkok\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                }\r\n\r\n                if (location.toLowerCase().includes(\"airport\")) {\r\n                    icon = \"plane-icn\";\r\n                    category = airportLocations;\r\n                } else if (location.toLowerCase().includes(\"drop-off\")) {\r\n                    icon = \"pin-map-widget-black\";\r\n                    category = dropOffLocations;\r\n                } else {\r\n                    icon = \"shop-icn\";\r\n                    category = shopLocations;\r\n                }\r\n\r\n                var displayLocation = location;\r\n                if (index == 81 || index == \"81\" || index == 82 || index == \"82\" || index == 83 || index == \"83\" || location.toLowerCase().includes(\"bangkok\")) {\r\n                    displayLocation += \" *\";\r\n                }\r\n\r\n                var html = '<div class=\"radio-container orange\">' +\r\n                    '    <label class=\"form-control\" for=\"location-desktop' + branchId + '_' + index + '\">' +\r\n                    '        <img decoding=\"async\" src=\"' + stylesheetDirectoryUri + '\/assets\/images\/' + icon + '.svg\" alt=\"icon\">' +\r\n                    '        <p>' + displayLocation + '<\/p>' +\r\n                    '    <\/label>' +\r\n                    '    <input type=\"radio\" id=\"location-desktop' + branchId + '_' + index + '\" name=\"location\" value=\"' + index + '\">' +\r\n                    '<\/div>';\r\n\r\n                if (index == 81 || index == \"81\" || index == 82 || index == \"82\" || index == 83 || index == \"83\" || location.toLowerCase().includes(\"bangkok\")) {\r\n                    html += '<div class=\"radio-container orange search hide bangkok-search-container-desktop search-location\">' +\r\n                        '    <input class=\"custom-location-input\" type=\"text\" id=\"bangkok-custom-location-desktop\" placeholder=\"Search in Bangkok...\">' +\r\n                        '    <br><span class=\"font-m text-orange-main text-left mb-10\">* Big Bikes Only, Surcharge +\/- USD 259<\/span>' +\r\n                        '<\/div>';\r\n                }\r\n\r\n                category.push(html);\r\n            });\r\n\r\n            \/\/ Append in order: airport first, then drop-off, then shop\r\n            containerDesktop.append(airportLocations.join(\"\"));\r\n            containerDesktop.append(shopLocations.join(\"\"));\r\n            containerDesktop.append(dropOffLocations.join(\"\"));\r\n\r\n            jQuery(document).ready(function() {\r\n\r\n                jQuery('input[type=\"radio\"]').on('change', function() {\r\n                    \/\/ Reset all label colors\r\n                    jQuery('input[type=\"radio\"]').each(function() {\r\n                        jQuery(this).prev('label').css('color', '#5B4831');\r\n                    });\r\n\r\n                    \/\/ Set selected label color to\r\n                                            if (jQuery(this).is(':checked')) {\r\n                            jQuery(this).prev('label').css('color', '#DE7C07');\r\n                        }\r\n                    \r\n                    if(jQuery(this).val() != \"custom\" && jQuery(this).val() != \"81\" && jQuery(this).val() != 81 && jQuery(this).val() != \"82\" && jQuery(this).val() != 82 && jQuery(this).val() != \"83\" && jQuery(this).val() != 83) {\r\n                        jQuery('.search-location').addClass('hide');\r\n                        jQuery('.bangkok-search-container-desktop, .bangkok-search-container-mobile').addClass('hide');\r\n\r\n                        \/\/ clear value\r\n                        \/\/ category pickup or return\r\n                        var pickupOrReturn = jQuery('input[name=\"pickup_or_return\"]').val();\r\n\r\n                        if(pickupOrReturn == \"pickup\") {\r\n                            jQuery('.pickup-custom-location').val(\"\");\r\n                            jQuery('.pickup_lat').val(\"\");\r\n                            jQuery('.pickup_lng').val(\"\");\r\n                            jQuery('#pickup_lat_desktop').val(\"\");\r\n                            jQuery('#pickup_lng_desktop').val(\"\");\r\n                        } else {\r\n                            jQuery('#return-custom-location').val(\"\");\r\n                            jQuery('.return_lat').val(\"\");\r\n                            jQuery('.return_lng').val(\"\");\r\n                            jQuery('#return_lat_desktop').val(\"\");\r\n                            jQuery('#return_lng_desktop').val(\"\");\r\n                        }\r\n                    }\r\n                });\r\n\r\n                initBangkokAutocompleteDesktop();\r\n\r\n            });\r\n        } else {\r\n            console.error(\"The specified key does not exist in the data object.\");\r\n        }\r\n\r\n        \/\/ MOBILE version\r\n        var container = jQuery(\".location-points\");\r\n        var stylesheetDirectoryUri = 'https:\/\/www.bikago.com\/wp-content\/themes\/bikago';\r\n\r\n        \/\/ clear the option\r\n        container.empty();\r\n\r\n        if (locationPoints.hasOwnProperty(branchId)) {\r\n            var airportLocations = [];\r\n            var dropOffLocations = [];\r\n            var shopLocations = [];\r\n\r\n            jQuery.each(locationPoints[branchId], function(index, location) {\r\n                var icon, category;\r\n\r\n                \/\/ Skip specific locations based on branch and pickup\/return type\r\n                if((branchId == \"10\" || branchId == 10) && pickupOrReturn == \"pickup\") { \/\/ Phuket\r\n                    if(index == 60 || index == \"60\" || index == 76 || index == \"76\" || index == 82 || index == \"82\" || location.toLowerCase().includes(\"bangkok\")) { \/\/ Skip Bikago Shop Krabi & Khaolak & Bangkok\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                } else if ((branchId == \"15\" || branchId == 15) && pickupOrReturn == \"pickup\") { \/\/ Krabi\r\n                    if(index == 61 || index == \"61\" || index == 77 || index == \"77\") { \/\/ Skip Bikago Shop Phuket & Khaolak\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                } else if ((branchId == \"19\" || branchId == 19) && pickupOrReturn == \"pickup\") { \/\/ Khaolak\r\n                    if(index == 78 || index == \"78\" || index == 79 || index == \"79\") { \/\/ Skip Bikago Shop Krabi & Phuket\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                } else if ((branchId == \"17\" || branchId == 17) && pickupOrReturn == \"pickup\") { \/\/ Chiang Rai\r\n                    if(index == 81 || index == \"81\" || location.toLowerCase().includes(\"bangkok\")) { \/\/ Skip Bangkok\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                } else if ((branchId == \"22\" || branchId == 22 || branchId == \"16\" || branchId == 16) && pickupOrReturn == \"pickup\") { \/\/ Chiang Mai\r\n                    if(index == 83 || index == \"83\" || location.toLowerCase().includes(\"bangkok\")) { \/\/ Skip Bangkok\r\n                        return; \/\/ skip this iteration\r\n                    }\r\n                }\r\n\r\n                if (location.toLowerCase().includes(\"airport\")) {\r\n                    icon = \"plane-icn\";\r\n                    category = airportLocations;\r\n                } else if (location.toLowerCase().includes(\"drop-off\")) {\r\n                    icon = \"pin-map-widget-black\";\r\n                    category = dropOffLocations;\r\n                } else {\r\n                    icon = \"shop-icn\";\r\n                    category = shopLocations;\r\n                }\r\n\r\n                var displayLocation = location;\r\n                if (index == 81 || index == \"81\" || index == 82 || index == \"82\" || index == 83 || index == \"83\" || location.toLowerCase().includes(\"bangkok\")) {\r\n                    displayLocation += \" *\";\r\n                }\r\n\r\n                var html = '<div class=\"radio-container orange\">' +\r\n                    '    <label class=\"form-control\" for=\"location' + branchId + '_' + index + '\">' +\r\n                    '        <img decoding=\"async\" src=\"' + stylesheetDirectoryUri + '\/assets\/images\/' + icon + '.svg\" alt=\"icon\">' +\r\n                    '        <p>' + displayLocation + '<\/p>' +\r\n                    '    <\/label>' +\r\n                    '    <input type=\"radio\" id=\"location' + branchId + '_' + index + '\" name=\"location\" value=\"' + index + '\">' +\r\n                    '<\/div>';\r\n\r\n                if (index == 81 || index == \"81\" || index == 82 || index == \"82\" || index == 83 || index == \"83\" || location.toLowerCase().includes(\"bangkok\")) {\r\n                    html += '<div class=\"radio-container orange search hide bangkok-search-container-mobile search-location\">' +\r\n                        '    <input class=\"custom-location-input-mobile\" type=\"text\" id=\"bangkok-custom-location\" placeholder=\"Search in Bangkok...\">' +\r\n                        '    <p class=\"font-m text-orange-main\">* Big Bikes Only, Surcharge +\/- USD 259<\/p>' +\r\n                        '<\/div>';\r\n                }\r\n\r\n                category.push(html);\r\n            });\r\n\r\n            \/\/ Append sorted locations: airport first, then drop-off, then shop\r\n            container.append(airportLocations.join(\"\"));\r\n            container.append(shopLocations.join(\"\"));\r\n            container.append(dropOffLocations.join(\"\"));\r\n\r\n            jQuery(document).ready(function() {\r\n\r\n                jQuery('input[type=\"radio\"]').on('change', function() {\r\n                    \/\/ Reset all label colors\r\n                    jQuery('input[type=\"radio\"]').each(function() {\r\n                        jQuery(this).prev('label').css('color', '#5B4831');\r\n                    });\r\n\r\n                    \/\/ Set selected label color to\r\n                                            if (jQuery(this).is(':checked')) {\r\n                            jQuery(this).prev('label').css('color', '#DE7C07');\r\n                        }\r\n                    \r\n                    if(jQuery(this).val() != \"custom\" && jQuery(this).val() != \"81\" && jQuery(this).val() != 81 && jQuery(this).val() != \"82\" && jQuery(this).val() != 82 && jQuery(this).val() != \"83\" && jQuery(this).val() != 83) {\r\n                        jQuery('.search-location').addClass('hide');\r\n                        jQuery('.bangkok-search-container-desktop, .bangkok-search-container-mobile').addClass('hide');\r\n\r\n                        \/\/ clear value\r\n                        \/\/ category pickup or return\r\n                        var pickupOrReturn = jQuery('input[name=\"pickup_or_return\"]').val();\r\n\r\n                        if(pickupOrReturn == \"pickup\") {\r\n                            jQuery('.pickup-custom-location').val(\"\");\r\n                            jQuery('.pickup_lat').val(\"\");\r\n                            jQuery('.pickup_lng').val(\"\");\r\n                            jQuery('#pickup_lat_desktop').val(\"\");\r\n                            jQuery('#pickup_lng_desktop').val(\"\");\r\n                        } else {\r\n                            jQuery('#return-custom-location').val(\"\");\r\n                            jQuery('.return_lat').val(\"\");\r\n                            jQuery('.return_lng').val(\"\");\r\n                            jQuery('#return_lat_desktop').val(\"\");\r\n                            jQuery('#return_lng_desktop').val(\"\");\r\n                        }\r\n                    }\r\n                });\r\n\r\n                initBangkokAutocompleteMobile();\r\n\r\n            });\r\n        } else {\r\n            console.error(\"The specified key does not exist in the data object.\");\r\n        }\r\n\r\n    }\r\n\r\n<\/script>\r\n<\/div>\n\t\t\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<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-booking.php","meta":{"_acf_changed":false,"footnotes":""},"location-tag":[],"class_list":["post-4117","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.6 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Buchung - Bikago<\/title>\n<meta name=\"robots\" content=\"noindex, nofollow\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Buchung\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bikago.com\/de\/booking\/\" \/>\n<meta property=\"og:site_name\" content=\"Bikago\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/bikago.rental\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-16T05:00:23+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/\",\"url\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/\",\"name\":\"Buchung - Bikago\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bikago.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/close-btn.svg\",\"datePublished\":\"2024-08-05T02:50:34+00:00\",\"dateModified\":\"2026-03-16T05:00:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.bikago.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/close-btn.svg\",\"contentUrl\":\"https:\\\/\\\/www.bikago.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/close-btn.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/roller-verleih-in-bali-lombok-phuket-krabi-und-chiang-mai\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Buchung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/\",\"name\":\"Bikago\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Organization\",\"Place\"],\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/#organization\",\"name\":\"Bikago - Quality Bike Rentals\",\"alternateName\":\"Bikago - Quality Bike Rentals\",\"url\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/\",\"logo\":{\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/#local-main-organization-logo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/#local-main-organization-logo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/bikago.rental\",\"https:\\\/\\\/www.instagram.com\\\/bikago.bikerental\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bikago\"],\"description\":\"Bikago is Southeast Asia's leading premium motorbike and scooter rental provider, offering trusted, safety-first rentals across Indonesia (Bali, Lombok) and Thailand (Phuket, Krabi, Chiang Mai). Famed for its impeccably maintained, fully-insured fleet and 24\\\/7 English-speaking roadside assistance, Bikago delivers a worry-free travel and rental experience, empowering adventurers to explore the region's best destinations.\",\"legalName\":\"Bikago Pte Ltd.\",\"foundingDate\":\"2014-03-20\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"51\",\"maxValue\":\"200\"},\"telephone\":[],\"openingHoursSpecification\":[{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\",\"Sunday\"],\"opens\":\"09:00\",\"closes\":\"17:00\"}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.bikago.com\\\/de\\\/booking\\\/#local-main-organization-logo\",\"url\":\"https:\\\/\\\/www.bikago.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Bikago-logo-Yellow-White-Square.jpg\",\"contentUrl\":\"https:\\\/\\\/www.bikago.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Bikago-logo-Yellow-White-Square.jpg\",\"width\":1000,\"height\":1000,\"caption\":\"Bikago - Quality Bike Rentals\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Buchung - Bikago","robots":{"index":"noindex","follow":"nofollow"},"og_locale":"de_DE","og_type":"article","og_title":"Buchung","og_url":"https:\/\/www.bikago.com\/de\/booking\/","og_site_name":"Bikago","article_publisher":"https:\/\/www.facebook.com\/bikago.rental","article_modified_time":"2026-03-16T05:00:23+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.bikago.com\/de\/booking\/","url":"https:\/\/www.bikago.com\/de\/booking\/","name":"Buchung - Bikago","isPartOf":{"@id":"https:\/\/www.bikago.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bikago.com\/de\/booking\/#primaryimage"},"image":{"@id":"https:\/\/www.bikago.com\/de\/booking\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bikago.com\/wp-content\/uploads\/2024\/10\/close-btn.svg","datePublished":"2024-08-05T02:50:34+00:00","dateModified":"2026-03-16T05:00:23+00:00","breadcrumb":{"@id":"https:\/\/www.bikago.com\/de\/booking\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bikago.com\/de\/booking\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.bikago.com\/de\/booking\/#primaryimage","url":"https:\/\/www.bikago.com\/wp-content\/uploads\/2024\/10\/close-btn.svg","contentUrl":"https:\/\/www.bikago.com\/wp-content\/uploads\/2024\/10\/close-btn.svg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bikago.com\/de\/booking\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bikago.com\/de\/roller-verleih-in-bali-lombok-phuket-krabi-und-chiang-mai\/"},{"@type":"ListItem","position":2,"name":"Buchung"}]},{"@type":"WebSite","@id":"https:\/\/www.bikago.com\/de\/#website","url":"https:\/\/www.bikago.com\/de\/","name":"Bikago","description":"","publisher":{"@id":"https:\/\/www.bikago.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.bikago.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Organization","Place"],"@id":"https:\/\/www.bikago.com\/de\/#organization","name":"Bikago - Quality Bike Rentals","alternateName":"Bikago - Quality Bike Rentals","url":"https:\/\/www.bikago.com\/de\/","logo":{"@id":"https:\/\/www.bikago.com\/de\/booking\/#local-main-organization-logo"},"image":{"@id":"https:\/\/www.bikago.com\/de\/booking\/#local-main-organization-logo"},"sameAs":["https:\/\/www.facebook.com\/bikago.rental","https:\/\/www.instagram.com\/bikago.bikerental","https:\/\/www.linkedin.com\/company\/bikago"],"description":"Bikago is Southeast Asia's leading premium motorbike and scooter rental provider, offering trusted, safety-first rentals across Indonesia (Bali, Lombok) and Thailand (Phuket, Krabi, Chiang Mai). Famed for its impeccably maintained, fully-insured fleet and 24\/7 English-speaking roadside assistance, Bikago delivers a worry-free travel and rental experience, empowering adventurers to explore the region's best destinations.","legalName":"Bikago Pte Ltd.","foundingDate":"2014-03-20","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"51","maxValue":"200"},"telephone":[],"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"opens":"09:00","closes":"17:00"}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.bikago.com\/de\/booking\/#local-main-organization-logo","url":"https:\/\/www.bikago.com\/wp-content\/uploads\/2025\/10\/Bikago-logo-Yellow-White-Square.jpg","contentUrl":"https:\/\/www.bikago.com\/wp-content\/uploads\/2025\/10\/Bikago-logo-Yellow-White-Square.jpg","width":1000,"height":1000,"caption":"Bikago - Quality Bike Rentals"}]}},"_links":{"self":[{"href":"https:\/\/www.bikago.com\/de\/wp-json\/wp\/v2\/pages\/4117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bikago.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.bikago.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.bikago.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bikago.com\/de\/wp-json\/wp\/v2\/comments?post=4117"}],"version-history":[{"count":1,"href":"https:\/\/www.bikago.com\/de\/wp-json\/wp\/v2\/pages\/4117\/revisions"}],"predecessor-version":[{"id":4118,"href":"https:\/\/www.bikago.com\/de\/wp-json\/wp\/v2\/pages\/4117\/revisions\/4118"}],"wp:attachment":[{"href":"https:\/\/www.bikago.com\/de\/wp-json\/wp\/v2\/media?parent=4117"}],"wp:term":[{"taxonomy":"location-tag","embeddable":true,"href":"https:\/\/www.bikago.com\/de\/wp-json\/wp\/v2\/location-tag?post=4117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}