{"id":10,"date":"2026-09-20T14:33:13","date_gmt":"2026-09-20T07:33:13","guid":{"rendered":"https:\/\/www.lipeferry.com\/?page_id=10"},"modified":"2026-09-21T08:15:56","modified_gmt":"2026-09-21T01:15:56","slug":"10-2","status":"publish","type":"page","link":"https:\/\/www.lipeferry.com\/en\/","title":{"rendered":"Online Ferry Booking Operated by Lipe Lovers"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10\" class=\"elementor elementor-10\">\n\t\t\t\t<div class=\"elementor-element elementor-element-193953a e-con-full e-flex e-con e-parent\" data-id=\"193953a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e7fa949 elementor-widget elementor-widget-shortcode\" data-id=\"e7fa949\" 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\">\n        <!-- \u0e42\u0e2b\u0e25\u0e14 Font & CSS -->\n        <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Prompt:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n        <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n        <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/flatpickr.min.css\">\n        <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/select2@4.1.0-rc.0\/dist\/css\/select2.min.css\" rel=\"stylesheet\" \/>\n        \n        <!-- \u0e42\u0e2b\u0e25\u0e14 JS -->\n        <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\"><\/script>\n        <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/l10n\/th.js\"><\/script>\n        <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/select2@4.1.0-rc.0\/dist\/js\/select2.min.js\"><\/script>\n\n        <style>\n            \/* ==================== 1. MAIN SEARCH STYLES ==================== *\/\n            .lipe-ferry-brand-header { width: 100%; max-width: 1100px; margin: 0 auto 22px; font-family: 'Prompt', sans-serif; text-align: left; }\n            .lipe-ferry-brand-title { color: #ffffff; font-size: 34px; font-weight: 600; line-height: 1.2; letter-spacing: -0.3px; margin: 0; text-shadow: 0 2px 8px rgba(0,0,0,0.30); }\n            .lipe-ferry-brand-subtitle { margin-top: 6px; color: rgba(255,255,255,0.94); font-size: 17px; font-weight: 400; line-height: 1.4; text-shadow: 0 1px 5px rgba(0,0,0,0.25); }\n            .lipe-ferry-brand-subtitle strong { color: #ffffff; font-weight: 600; }\n            .version-badge { font-size: 12px; color: #a5f3fc; margin-left: 8px; font-weight: 300; letter-spacing: 0.5px; }\n\n            .lipe-search-wrapper { max-width: 1100px; margin: 0 auto 30px; font-family: 'Prompt', sans-serif; }\n            .lipe-tabs { display: flex; gap: 4px; margin-bottom: 0; position: relative; z-index: 2; }\n            .lipe-tab-btn { background: #f1f5f9; color: #64748b; border: none; padding: 14px 28px; font-family: 'Prompt', sans-serif; font-size: 15px; font-weight: 600; border-radius: 12px 12px 0 0; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: background 0.3s, color 0.3s; box-shadow: inset 0 -2px 5px rgba(0,0,0,0.02); }\n            .lipe-tab-btn i { font-size: 16px; }\n            .lipe-tab-btn.active { background: #ffffff; color: #0F2C59; box-shadow: 0 -4px 15px rgba(0,0,0,0.05); }\n            .lipe-tab-btn:hover:not(.active) { background: #e2e8f0; color: #475569; }\n\n            .lipe-tab-content { display: none; }\n            .lipe-tab-content.active { display: block; }\n            \n            .lipe-ferry-search-bar { display: flex; flex-wrap: nowrap; background-color: #ffffff; border-radius: 0 12px 12px 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); width: 100%; align-items: stretch; position: relative; z-index: 1; }\n            .lipe-ferry-search-bar.tab-not-first { border-radius: 12px; }\n\n            .lipe-input-group { display: flex; align-items: center; flex: 1; padding: 10px 15px; border-right: 1px solid #f1f5f9; position: relative; background: transparent; min-height: 70px; box-sizing: border-box; cursor: pointer; }\n            .lipe-input-group:nth-last-child(2) { border-right: none; }\n            .lipe-input-group > i { color: #0f766e; margin-right: 12px; font-size: 18px; flex-shrink: 0; }\n            .lipe-input-group i.swap-icon { color: #5cb85c; margin: 0; cursor: pointer; transition: 0.3s; z-index: 10; background: #f0fdfa; padding: 8px; border-radius: 50%; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }\n            .lipe-input-group i.swap-icon:hover { transform: scale(1.1); background: #5cb85c; color: #fff; }\n\n            \/* Select2 Customization *\/\n            .select2-container { width: 100% !important; }\n            .select2-container--default .select2-selection--single { border: none !important; background: transparent !important; height: auto !important; outline: none !important; }\n            .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 !important; color: #0F2C59 !important; font-family: 'Prompt', sans-serif !important; font-size: 15px !important; line-height: normal !important; }\n            .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #94a3b8 !important; }\n            .select2-container--default .select2-selection--single .select2-selection__arrow { display: none !important; }\n            .smart-dropdown-wrapper { width: 320px !important; border: 1px solid #e2e8f0 !important; border-radius: 8px !important; box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important; font-family: 'Prompt', sans-serif !important; margin-top: 8px !important; background-color: #fff !important; }\n            .select2-search--dropdown { padding: 15px !important; border-bottom: 1px solid #f1f5f9 !important; }\n            .select2-container--default .select2-search--dropdown .select2-search__field { font-family: 'Prompt', sans-serif !important; border: 1px solid #cbd5e1 !important; border-radius: 6px !important; padding: 10px 15px !important; font-size: 14px !important; outline: none !important; }\n            .select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: #5cb85c !important; box-shadow: 0 0 0 1px #5cb85c !important; }\n            .select2-results__options { padding: 5px 0 !important; max-height: 300px !important; }\n            .select2-container--default .select2-results__option { padding: 12px 20px !important; font-size: 15px !important; color: #475569 !important; transition: background 0.2s !important; display: flex !important; align-items: center !important; border-bottom: 1px solid #f8fafc !important; }\n            .select2-container--default .select2-results__option:last-child { border-bottom: none !important; }\n            .select2-container--default .select2-results__option::before { content: '\\f3c5'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: #5cb85c; margin-right: 12px; font-size: 14px; }\n            .select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #f0fdfa !important; color: #0f766e !important; }\n            .select2-container--default .select2-results__option[aria-selected=true] { background-color: #e2e8f0 !important; font-weight: 600 !important; }\n\n            .lipe-ferry-search-bar input[type=\"text\"] { border: none; width: 100%; font-size: 15px; color: #0F2C59; outline: none; background: transparent; font-family: 'Prompt', sans-serif; cursor: text; }\n            .lipe-ferry-search-bar input::placeholder { color: #94a3b8; opacity: 1; }\n\n            .pax-container { display: flex; flex-direction: column; width: 100%; justify-content: center; }\n            .pax-labels { display: flex; width: 100%; gap: 5px; margin-bottom: 4px; }\n            .pax-labels span { width: 50%; font-size: 11px; color: #64748b; text-align: center; font-weight: 500; white-space: nowrap; }\n            .pax-inputs { display: flex; gap: 5px; width: 100%; }\n            .pax-inputs input { width: 50%; text-align: center; border: 1px solid #e2e8f0; border-radius: 6px; padding: 6px 4px; font-size: 14px; color: #0F2C59; font-weight: 600; }\n            .pax-inputs input:focus { border-color: #5cb85c; outline: none; box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.2); }\n\n            .lipe-submit-btn { background-color: #0F2C59; color: #ffffff; border: none; padding: 0 40px; font-size: 16px; font-weight: 600; cursor: pointer; transition: background 0.3s, transform 0.2s; border-radius: 0 12px 12px 0; white-space: nowrap; font-family: 'Prompt', sans-serif; }\n            .lipe-submit-btn:hover { background-color: #1a4480; }\n\n            #schedule-results, #van-schedule-results { display: none; width: 100%; max-width: 1100px; margin: 20px auto 0; background: #ffffff; border-radius: 12px; padding: 30px; box-shadow: 0 4px 20px rgba(0,0,0,0.05); font-family: 'Prompt', sans-serif; box-sizing: border-box; }\n            .result-title { color: #0F2C59; font-size: 18px; margin-top: 0; margin-bottom: 20px; font-weight: 600; border-bottom: 2px solid #f1f5f9; padding-bottom: 15px; }\n            .radio-label { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 18px; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 12px; cursor: pointer; transition: 0.2s; background: #ffffff; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }\n            .radio-label:hover { border-color: #5cb85c; background: #f0fdfa; box-shadow: 0 4px 10px rgba(92,184,92,0.1); }\n            .radio-label input[type=\"radio\"] { accent-color: #5cb85c; transform: scale(1.3); margin-right: 18px; }\n            .route-details { flex: 1; color: #0F2C59; font-size: 15px; }\n            .period-badge { background: #f1f5f9; font-size: 12px; padding: 4px 10px; border-radius: 6px; color: #64748b; margin-left: 10px; font-weight: 500; }\n            .summary-box { background: #f0fdfa; border: 2px dashed #5cb85c; border-radius: 12px; padding: 25px; text-align: center; margin-top: 25px; }\n            .price-display { font-size: 32px; font-weight: 700; color: #5cb85c; margin-bottom: 5px; }\n            .line-btn, .form-btn { display: inline-block; width: 100%; padding: 15px; border-radius: 8px; font-size: 16px; font-weight: 600; text-decoration: none; transition: 0.2s; border: none; cursor: pointer; margin-top: 12px; font-family: 'Prompt', sans-serif; }\n            .line-btn { background: #00B900; color: white !important; }\n            .line-btn:hover { background: #009900; }\n            .form-btn { background: #0F2C59; color: white !important; margin-top: 0; }\n            .form-btn:hover { background: #1a4480; }\n            .form-btn.disabled, .line-btn.disabled { background: #cbd5e1; cursor: not-allowed; }\n\n            @media (max-width: 768px) {\n                .lipe-ferry-brand-header { margin-bottom: 16px; padding: 0 5px; box-sizing: border-box; }\n                .lipe-ferry-brand-title { font-size: 25px; }\n                .lipe-tabs { overflow-x: auto; padding-bottom: 5px; margin-bottom: 5px; }\n                .lipe-tab-btn { padding: 12px 20px; font-size: 14px; white-space: nowrap; }\n                .lipe-ferry-search-bar { flex-direction: column; background: transparent; box-shadow: none; border-radius: 0; }\n                .lipe-input-group { margin-bottom: 10px; border-right: none; border-radius: 8px !important; padding: 15px; min-height: 60px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); background: #ffffff; }\n                .lipe-submit-btn { border-radius: 8px; padding: 18px; width: 100%; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }\n                .swap-icon { display: none; }\n                .radio-label { flex-direction: column; align-items: flex-start; gap: 12px; }\n                .period-badge { margin-left: 0; }\n                .smart-dropdown-wrapper { width: 100% !important; }\n            }\n\n            \/* ==================== 2. POPULAR DESTINATIONS STYLES ==================== *\/\n            .ll-dest-section { max-width: 1100px; margin: 50px auto; font-family: 'Prompt', sans-serif; box-sizing: border-box; }\n            .ll-dest-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 25px; }\n            .ll-dest-title { color: #0F2C59; font-size: 22px; font-weight: 700; margin: 0; text-transform: uppercase; letter-spacing: 0.5px; }\n            .ll-dest-view-all { color: #3B82F6; font-size: 14px; font-weight: 600; text-decoration: none; display: flex; align-items: center; gap: 8px; transition: 0.2s; }\n            .ll-dest-view-all:hover { color: #1e3a8a; }\n            \n            .ll-dest-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }\n            \n            .ll-dest-card { background: #ffffff; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,0.06); transition: transform 0.3s ease, box-shadow 0.3s ease; border: 1px solid #f1f5f9; text-decoration: none; display: flex; flex-direction: column; }\n            .ll-dest-card:hover { transform: translateY(-8px); box-shadow: 0 12px 30px rgba(0,0,0,0.1); }\n            \n            .ll-dest-img-wrap { width: 100%; height: 200px; position: relative; overflow: hidden; }\n            .ll-dest-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }\n            .ll-dest-card:hover .ll-dest-img-wrap img { transform: scale(1.08); }\n            \n            .ll-dest-content { padding: 20px; display: flex; flex-direction: column; flex-grow: 1; }\n            .ll-dest-name { color: #0F2C59; font-size: 18px; font-weight: 600; margin: 0 0 8px 0; }\n            .ll-dest-info { display: flex; align-items: center; gap: 15px; color: #64748b; font-size: 13px; margin-bottom: 20px; }\n            .ll-dest-info i { color: #5cb85c; }\n            \n            .ll-dest-action { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 15px; border-top: 1px solid #f1f5f9; }\n            .ll-dest-price { display: flex; flex-direction: column; }\n            .ll-dest-price-label { font-size: 11px; color: #94a3b8; font-weight: 500; }\n            .ll-dest-price-amount { color: #0F2C59; font-size: 18px; font-weight: 700; }\n            .ll-dest-btn { width: 36px; height: 36px; border-radius: 50%; background: #eff6ff; color: #3B82F6; display: flex; align-items: center; justify-content: center; font-size: 14px; transition: 0.3s; }\n            .ll-dest-card:hover .ll-dest-btn { background: #3B82F6; color: #fff; }\n\n            @media (max-width: 992px) { .ll-dest-grid { grid-template-columns: repeat(2, 1fr); } }\n            @media (max-width: 576px) { .ll-dest-grid { grid-template-columns: 1fr; } .ll-dest-title { font-size: 18px; } }\n        <\/style>\n\n        <!-- ==================== MAIN HEADER ==================== -->\n        <div class=\"lipe-ferry-brand-header\">\n            <div class=\"lipe-ferry-brand-title\">Online Ferry Booking<\/div>\n            <div class=\"lipe-ferry-brand-subtitle\">Operated by <strong>Lipe Lovers<\/strong> <span class=\"version-badge\">v3.2<\/span><\/div>\n        <\/div>\n\n        <!-- ==================== SEARCH TABS ==================== -->\n        <div class=\"lipe-search-wrapper\">\n            \n            <div class=\"lipe-tabs\">\n                <button class=\"lipe-tab-btn active\" onclick=\"switchLipeTab('speedboat', this)\">\n                    <i class=\"fa-solid fa-ship\"><\/i> \u0e2a\u0e1b\u0e35\u0e14\u0e42\u0e1a\u0e4a\u0e17 (\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07\u0e20\u0e39\u0e40\u0e01\u0e47\u0e15)\n                <\/button>\n                <button class=\"lipe-tab-btn\" onclick=\"switchLipeTab('van', this)\">\n                    <i class=\"fa-solid fa-van-shuttle\"><\/i> \u0e23\u0e16\u0e15\u0e39\u0e49\u0e23\u0e31\u0e1a\u0e2a\u0e48\u0e07\n                <\/button>\n            <\/div>\n\n            <!-- TAB 1: SPEEDBOAT -->\n            <div class=\"lipe-tab-content active\" id=\"tab-speedboat\">\n                <div class=\"lipe-ferry-search-bar\" id=\"search-bar-speedboat\">\n                    <div class=\"lipe-input-group\" onclick=\"jQuery('#userOrigin').select2('open');\">\n                        <select id=\"userOrigin\" required onchange=\"updateUserDestinations()\" data-placeholder=\"\u0e15\u0e49\u0e19\u0e17\u0e32\u0e07 (\u0e40\u0e0a\u0e48\u0e19 \u0e1b\u0e32\u0e01\u0e1a\u0e32\u0e23\u0e32)\">\n                            <option value=\"\" disabled selected>\u0e15\u0e49\u0e19\u0e17\u0e32\u0e07 (\u0e40\u0e0a\u0e48\u0e19 \u0e1b\u0e32\u0e01\u0e1a\u0e32\u0e23\u0e32)<\/option>\n                                                                                            <option value=\"Koh Lipe\">\u0e40\u0e01\u0e32\u0e30\u0e2b\u0e25\u0e35\u0e40\u0e1b\u0e4a\u0e30 (Koh Lipe)<\/option>\n                                                                                            <option value=\"Phuket\">\u0e20\u0e39\u0e40\u0e01\u0e47\u0e15 (Phuket)<\/option>\n                                                                                            <option value=\"Koh Kradan\">\u0e40\u0e01\u0e32\u0e30\u0e01\u0e23\u0e30\u0e14\u0e32\u0e19 (Koh Kradan)<\/option>\n                                                                                            <option value=\"Koh Mook\">\u0e40\u0e01\u0e32\u0e30\u0e21\u0e38\u0e01 (Koh Mook)<\/option>\n                                                                                            <option value=\"Koh Ngai\">\u0e40\u0e01\u0e32\u0e30\u0e44\u0e2b\u0e07 (Koh Ngai)<\/option>\n                                                                                            <option value=\"Koh Lanta\">\u0e40\u0e01\u0e32\u0e30\u0e25\u0e31\u0e19\u0e15\u0e32 (Koh Lanta)<\/option>\n                                                                                            <option value=\"Koh Phi Phi\">\u0e40\u0e01\u0e32\u0e30\u0e1e\u0e35\u0e1e\u0e35 (Koh Phi Phi)<\/option>\n                                                                                            <option value=\"Langkawi\">\u0e25\u0e31\u0e07\u0e01\u0e32\u0e27\u0e35 (Langkawi)<\/option>\n                                                                                            <option value=\"Aonang\">\u0e2d\u0e48\u0e32\u0e27\u0e19\u0e32\u0e07 (Aonang)<\/option>\n                                                                                            <option value=\"Koh Jum\">\u0e40\u0e01\u0e32\u0e30\u0e08\u0e33 (Koh Jum)<\/option>\n                                                                                            <option value=\"Koh Yao Noi\">\u0e40\u0e01\u0e32\u0e30\u0e22\u0e32\u0e27\u0e19\u0e49\u0e2d\u0e22 (Koh Yao Noi)<\/option>\n                                                                                            <option value=\"Koh Yao Yai\">\u0e40\u0e01\u0e32\u0e30\u0e22\u0e32\u0e27\u0e43\u0e2b\u0e0d\u0e48 (Koh Yao Yai)<\/option>\n                                                                                            <option value=\"Railay\">\u0e44\u0e23\u0e48\u0e40\u0e25\u0e22\u0e4c (Railay)<\/option>\n                                                    <\/select>\n                        <i class=\"fa-solid fa-arrow-right-arrow-left swap-icon\" onclick=\"event.stopPropagation(); swapLocations();\"><\/i>\n                    <\/div>\n\n                    <div class=\"lipe-input-group\" onclick=\"jQuery('#userDestination').select2('open');\">\n                        <select id=\"userDestination\" required data-placeholder=\"\u0e1b\u0e25\u0e32\u0e22\u0e17\u0e32\u0e07 (\u0e40\u0e0a\u0e48\u0e19 \u0e2b\u0e25\u0e35\u0e40\u0e1b\u0e4a\u0e30)\" onchange=\"updateCalendarAvailableDates()\">\n                            <option value=\"\" disabled selected>\u0e1b\u0e25\u0e32\u0e22\u0e17\u0e32\u0e07 (\u0e40\u0e0a\u0e48\u0e19 \u0e2b\u0e25\u0e35\u0e40\u0e1b\u0e4a\u0e30)<\/option>\n                                                                                            <option value=\"Koh Lipe\">\u0e40\u0e01\u0e32\u0e30\u0e2b\u0e25\u0e35\u0e40\u0e1b\u0e4a\u0e30 (Koh Lipe)<\/option>\n                                                                                            <option value=\"Phuket\">\u0e20\u0e39\u0e40\u0e01\u0e47\u0e15 (Phuket)<\/option>\n                                                                                            <option value=\"Koh Kradan\">\u0e40\u0e01\u0e32\u0e30\u0e01\u0e23\u0e30\u0e14\u0e32\u0e19 (Koh Kradan)<\/option>\n                                                                                            <option value=\"Koh Mook\">\u0e40\u0e01\u0e32\u0e30\u0e21\u0e38\u0e01 (Koh Mook)<\/option>\n                                                                                            <option value=\"Koh Ngai\">\u0e40\u0e01\u0e32\u0e30\u0e44\u0e2b\u0e07 (Koh Ngai)<\/option>\n                                                                                            <option value=\"Koh Lanta\">\u0e40\u0e01\u0e32\u0e30\u0e25\u0e31\u0e19\u0e15\u0e32 (Koh Lanta)<\/option>\n                                                                                            <option value=\"Koh Phi Phi\">\u0e40\u0e01\u0e32\u0e30\u0e1e\u0e35\u0e1e\u0e35 (Koh Phi Phi)<\/option>\n                                                                                            <option value=\"Langkawi\">\u0e25\u0e31\u0e07\u0e01\u0e32\u0e27\u0e35 (Langkawi)<\/option>\n                                                                                            <option value=\"Aonang\">\u0e2d\u0e48\u0e32\u0e27\u0e19\u0e32\u0e07 (Aonang)<\/option>\n                                                                                            <option value=\"Koh Jum\">\u0e40\u0e01\u0e32\u0e30\u0e08\u0e33 (Koh Jum)<\/option>\n                                                                                            <option value=\"Koh Yao Noi\">\u0e40\u0e01\u0e32\u0e30\u0e22\u0e32\u0e27\u0e19\u0e49\u0e2d\u0e22 (Koh Yao Noi)<\/option>\n                                                                                            <option value=\"Koh Yao Yai\">\u0e40\u0e01\u0e32\u0e30\u0e22\u0e32\u0e27\u0e43\u0e2b\u0e0d\u0e48 (Koh Yao Yai)<\/option>\n                                                                                            <option value=\"Railay\">\u0e44\u0e23\u0e48\u0e40\u0e25\u0e22\u0e4c (Railay)<\/option>\n                                                    <\/select>\n                    <\/div>\n\n                    <div class=\"lipe-input-group\">\n                        <i class=\"fa-regular fa-calendar\"><\/i>\n                        <input type=\"text\" id=\"userDepartDate\" placeholder=\"\u0e27\u0e31\u0e19\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07\u0e44\u0e1b\">\n                    <\/div>\n\n                    <div class=\"lipe-input-group\">\n                        <i class=\"fa-solid fa-user-group\"><\/i>\n                        <div class=\"pax-container\">\n                            <div class=\"pax-labels\">\n                                <span>\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48<\/span>\n                                <span title=\"\u0e15\u0e48\u0e33\u0e01\u0e27\u0e48\u0e32 3 \u0e1b\u0e35 \u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07\u0e1f\u0e23\u0e35\">\u0e40\u0e14\u0e47\u0e01 (3-9 \u0e1b\u0e35)<\/span>\n                            <\/div>\n                            <div class=\"pax-inputs\">\n                                <input type=\"number\" id=\"userAdults\" value=\"2\" min=\"1\" oninput=\"calculateUserTotal()\">\n                                <input type=\"number\" id=\"userChildren\" value=\"0\" min=\"0\" oninput=\"calculateUserTotal()\">\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <button type=\"button\" class=\"lipe-submit-btn\" onclick=\"searchSchedules()\">\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e23\u0e2d\u0e1a\u0e40\u0e23\u0e37\u0e2d<\/button>\n                <\/div>\n            <\/div>\n\n            <!-- TAB 2: VAN -->\n            <div class=\"lipe-tab-content\" id=\"tab-van\">\n                <div class=\"lipe-ferry-search-bar tab-not-first\" id=\"search-bar-van\">\n                    \n                    <div class=\"lipe-input-group\" style=\"flex: 2;\" onclick=\"jQuery('#vanRouteSelect').select2('open');\">\n                        <i class=\"fa-solid fa-route\"><\/i>\n                        <select id=\"vanRouteSelect\" required data-placeholder=\"\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07 \u0e2b\u0e23\u0e37\u0e2d \u0e42\u0e0b\u0e19\u0e23\u0e31\u0e1a\u0e2a\u0e48\u0e07\">\n                            <option value=\"\" disabled selected>\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07 \u0e2b\u0e23\u0e37\u0e2d \u0e42\u0e0b\u0e19\u0e23\u0e31\u0e1a\u0e2a\u0e48\u0e07<\/option>\n                                                            <option value=\"KATA BEACH \/ KARON BEACH\">KATA BEACH \/ KARON BEACH<\/option>\n                                                            <option value=\"CHALONG\">CHALONG<\/option>\n                                                            <option value=\"KALIM BEACH \/ TRITRANG\">KALIM BEACH \/ TRITRANG<\/option>\n                                                            <option value=\"PATONG BEACH\">PATONG BEACH<\/option>\n                                                            <option value=\"PHUKET TOWN\">PHUKET TOWN<\/option>\n                                                            <option value=\"SIRAY BAY\">SIRAY BAY<\/option>\n                                                            <option value=\"RAWAI \/ NAIHARN\">RAWAI \/ NAIHARN<\/option>\n                                                            <option value=\"PANWA BEACH \/ KAOKHAD\">PANWA BEACH \/ KAOKHAD<\/option>\n                                                            <option value=\"KAMALA BEACH\">KAMALA BEACH<\/option>\n                                                            <option value=\"BANGTAO \/ CHERNGTALAY\">BANGTAO \/ CHERNGTALAY<\/option>\n                                                            <option value=\"SURIN BEACH \/ NAITHON \/ THALANG\">SURIN BEACH \/ NAITHON \/ THALANG<\/option>\n                                                            <option value=\"LAEM HIN \/ SAPAM \/ KOHKEAW\">LAEM HIN \/ SAPAM \/ KOHKEAW<\/option>\n                                                            <option value=\"MAIKHAO \/ NAIYANG \/ PHUKET AIRPORT\">MAIKHAO \/ NAIYANG \/ PHUKET AIRPORT<\/option>\n                                                            <option value=\"Hatyai A\/P - Pakbara Pier\">Hatyai A\/P - Pakbara Pier<\/option>\n                                                            <option value=\"Hatyai City - Pakbara Pier\">Hatyai City - Pakbara Pier<\/option>\n                                                            <option value=\"Trang city, Trang airport - Pakbara Pier\">Trang city, Trang airport - Pakbara Pier<\/option>\n                                                            <option value=\"Trang Train Station, Trang airport - Pakbara Pier\">Trang Train Station, Trang airport - Pakbara Pier<\/option>\n                                                            <option value=\"Aonang, Krabi town - Pakbara Pier (Morning)\">Aonang, Krabi town - Pakbara Pier (Morning)<\/option>\n                                                            <option value=\"Aonang, Krabi town - Pakbara Pier (Late Morning)\">Aonang, Krabi town - Pakbara Pier (Late Morning)<\/option>\n                                                            <option value=\"Phuket - Pakbara (change van at Krabi)\">Phuket - Pakbara (change van at Krabi)<\/option>\n                                                            <option value=\"Penang - Hatyai (Local Time)\">Penang - Hatyai (Local Time)<\/option>\n                                                            <option value=\"Hatyai Airport - Hatyai Hotel (Car)\">Hatyai Airport - Hatyai Hotel (Car)<\/option>\n                                                            <option value=\"Hatyai Airport - Hatyai Hotel (Van)\">Hatyai Airport - Hatyai Hotel (Van)<\/option>\n                                                            <option value=\"Hatyai \/ Trang (Car) - Pakbara\">Hatyai \/ Trang (Car) - Pakbara<\/option>\n                                                            <option value=\"Hatyai \/ Trang (Van) - Pakbara\">Hatyai \/ Trang (Van) - Pakbara<\/option>\n                                                            <option value=\"Krabi City \/ Ao-Nang (Van) - Pakbara\">Krabi City \/ Ao-Nang (Van) - Pakbara<\/option>\n                                                            <option value=\"Phuket \/ Suratthani - Pakbara (Van)\">Phuket \/ Suratthani - Pakbara (Van)<\/option>\n                                                            <option value=\"Phuket Patong, Chalong, Rawai (Van)\">Phuket Patong, Chalong, Rawai (Van)<\/option>\n                                                            <option value=\"Penang - Pakbara (Van)\">Penang - Pakbara (Van)<\/option>\n                                                            <option value=\"Hatyai Town - Penang (Van)\">Hatyai Town - Penang (Van)<\/option>\n                                                            <option value=\"Pakbara - Koh Lipe\">Pakbara - Koh Lipe<\/option>\n                                                            <option value=\"Hatyai City, Hatyai Airport to Pakbara Pier\">Hatyai City, Hatyai Airport to Pakbara Pier<\/option>\n                                                            <option value=\"Hatyai City, Hatyai Airport to Koh Lipe\">Hatyai City, Hatyai Airport to Koh Lipe<\/option>\n                                                    <\/select>\n                    <\/div>\n\n                    <div class=\"lipe-input-group\">\n                        <i class=\"fa-regular fa-calendar\"><\/i>\n                        <input type=\"text\" id=\"vanDepartDate\" placeholder=\"\u0e27\u0e31\u0e19\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07\u0e44\u0e1b\" style=\"width: 100%; border: none; outline: none; font-family: 'Prompt', sans-serif; font-size: 15px; color: #0F2C59;\">\n                    <\/div>\n\n                    <div class=\"lipe-input-group\">\n                        <i class=\"fa-solid fa-user-group\"><\/i>\n                        <div class=\"pax-container\">\n                            <div class=\"pax-labels\">\n                                <span style=\"width: 50%;\">\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48<\/span>\n                                <span style=\"width: 50%;\">\u0e40\u0e14\u0e47\u0e01<\/span>\n                            <\/div>\n                            <div class=\"pax-inputs\">\n                                <input type=\"number\" id=\"vanAdults\" value=\"1\" min=\"1\">\n                                <input type=\"number\" id=\"vanChildren\" value=\"0\" min=\"0\">\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <button type=\"button\" class=\"lipe-submit-btn\" onclick=\"searchVanSchedules()\">\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e23\u0e16\u0e15\u0e39\u0e49<\/button>\n                <\/div>\n            <\/div>\n        <\/div> \n\n        <!-- ==================== RESULTS BOX ==================== -->\n        <div id=\"schedule-results\">\n            <h3 class=\"result-title\">\u23f0 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e2d\u0e1a\u0e40\u0e27\u0e25\u0e32\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07<\/h3>\n            <div id=\"userDepartTimeContainer\"><\/div>\n            <div class=\"summary-box\">\n                <div class=\"price-display\" id=\"userTotalPrice\">0 \u0e1a\u0e32\u0e17<\/div>\n                <p id=\"userSummaryDesc\" style=\"color:#64748b; margin-top:0; font-size:14px;\">\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e2d\u0e1a\u0e40\u0e27\u0e25\u0e32<\/p>\n                <button id=\"formBookingBtn\" class=\"form-btn disabled\" onclick=\"sendToCheckout()\">\ud83d\udcdd \u0e01\u0e23\u0e2d\u0e01\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e08\u0e2d\u0e07\u0e1c\u0e48\u0e32\u0e19\u0e40\u0e27\u0e47\u0e1a \/ \u0e2d\u0e35\u0e40\u0e21\u0e25<\/button>\n                <button id=\"lineBookingBtn\" class=\"line-btn disabled\" onclick=\"sendToLine(event)\">\ud83d\udcac \u0e08\u0e2d\u0e07\u0e14\u0e48\u0e27\u0e19\u0e1c\u0e48\u0e32\u0e19 LINE \u0e41\u0e2d\u0e14\u0e21\u0e34\u0e19<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- ==================== POPULAR DESTINATIONS GRID ==================== -->\n        <div class=\"ll-dest-section\">\n            <div class=\"ll-dest-header\">\n                <h2 class=\"ll-dest-title\">\u0e08\u0e38\u0e14\u0e2b\u0e21\u0e32\u0e22\u0e1b\u0e25\u0e32\u0e22\u0e17\u0e32\u0e07\u0e22\u0e2d\u0e14\u0e19\u0e34\u0e22\u0e21<\/h2>\n                <a href=\"\/destinations\" class=\"ll-dest-view-all\">\u0e14\u0e39\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 <i class=\"fa-solid fa-arrow-right\"><\/i><\/a>\n            <\/div>\n\n            <div class=\"ll-dest-grid\">\n                \n                <!-- 1: Phuket -->\n                <a href=\"https:\/\/www.lipeferry.com\/phuket\/\" class=\"ll-dest-card\">\n                    <div class=\"ll-dest-img-wrap\">\n                        <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1589394815804-964ce0ff9657?q=80&w=600&auto=format&fit=crop\" alt=\"\u0e20\u0e39\u0e40\u0e01\u0e47\u0e15\">\n                    <\/div>\n                    <div class=\"ll-dest-content\">\n                        <h3 class=\"ll-dest-name\">\u0e20\u0e39\u0e40\u0e01\u0e47\u0e15 (Phuket)<\/h3>\n                        <div class=\"ll-dest-info\">\n                            <span><i class=\"fa-solid fa-location-dot\"><\/i> \u0e17\u0e48\u0e32\u0e40\u0e23\u0e37\u0e2d\u0e23\u0e31\u0e29\u0e0e\u0e32<\/span>\n                            <span><i class=\"fa-regular fa-clock\"><\/i> 5 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07<\/span>\n                        <\/div>\n                        <div class=\"ll-dest-action\">\n                            <div class=\"ll-dest-price\">\n                                <span class=\"ll-dest-price-label\">\u0e23\u0e32\u0e04\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19<\/span>\n                                <span class=\"ll-dest-price-amount\">1,800 \u0e3f<\/span>\n                            <\/div>\n                            <div class=\"ll-dest-btn\"><i class=\"fa-solid fa-arrow-right\"><\/i><\/div>\n                        <\/div>\n                    <\/div>\n                <\/a>\n\n                <!-- 2: Lipe -->\n                <a href=\"https:\/\/www.lipeferry.com\/kohlipe\/\" class=\"ll-dest-card\">\n                    <div class=\"ll-dest-img-wrap\">\n                        <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1512552288040-1f6240d77345?q=80&w=600&auto=format&fit=crop\" alt=\"\u0e40\u0e01\u0e32\u0e30\u0e2b\u0e25\u0e35\u0e40\u0e1b\u0e4a\u0e30\">\n                    <\/div>\n                    <div class=\"ll-dest-content\">\n                        <h3 class=\"ll-dest-name\">\u0e40\u0e01\u0e32\u0e30\u0e2b\u0e25\u0e35\u0e40\u0e1b\u0e4a\u0e30 (Koh Lipe)<\/h3>\n                        <div class=\"ll-dest-info\">\n                            <span><i class=\"fa-solid fa-location-dot\"><\/i> \u0e2b\u0e32\u0e14\u0e1e\u0e31\u0e17\u0e22\u0e32<\/span>\n                            <span><i class=\"fa-regular fa-clock\"><\/i> 1.5 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07<\/span>\n                        <\/div>\n                        <div class=\"ll-dest-action\">\n                            <div class=\"ll-dest-price\">\n                                <span class=\"ll-dest-price-label\">\u0e23\u0e32\u0e04\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19<\/span>\n                                <span class=\"ll-dest-price-amount\">600 \u0e3f<\/span>\n                            <\/div>\n                            <div class=\"ll-dest-btn\"><i class=\"fa-solid fa-arrow-right\"><\/i><\/div>\n                        <\/div>\n                    <\/div>\n                <\/a>\n\n                <!-- 3: Phi Phi -->\n                <a href=\"https:\/\/www.lipeferry.com\/phiphi\/\" class=\"ll-dest-card\">\n                    <div class=\"ll-dest-img-wrap\">\n                        <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1552465011-b4e21bf6e79a?q=80&w=600&auto=format&fit=crop\" alt=\"\u0e40\u0e01\u0e32\u0e30\u0e1e\u0e35\u0e1e\u0e35\">\n                    <\/div>\n                    <div class=\"ll-dest-content\">\n                        <h3 class=\"ll-dest-name\">\u0e40\u0e01\u0e32\u0e30\u0e1e\u0e35\u0e1e\u0e35 (Koh Phi Phi)<\/h3>\n                        <div class=\"ll-dest-info\">\n                            <span><i class=\"fa-solid fa-location-dot\"><\/i> \u0e17\u0e48\u0e32\u0e40\u0e23\u0e37\u0e2d\u0e15\u0e49\u0e19\u0e44\u0e17\u0e23<\/span>\n                            <span><i class=\"fa-regular fa-clock\"><\/i> 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07<\/span>\n                        <\/div>\n                        <div class=\"ll-dest-action\">\n                            <div class=\"ll-dest-price\">\n                                <span class=\"ll-dest-price-label\">\u0e23\u0e32\u0e04\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19<\/span>\n                                <span class=\"ll-dest-price-amount\">900 \u0e3f<\/span>\n                            <\/div>\n                            <div class=\"ll-dest-btn\"><i class=\"fa-solid fa-arrow-right\"><\/i><\/div>\n                        <\/div>\n                    <\/div>\n                <\/a>\n\n                <!-- 4: Railay -->\n                <a href=\"https:\/\/www.lipeferry.com\/railay\/\" class=\"ll-dest-card\">\n                    <div class=\"ll-dest-img-wrap\">\n                        <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1621213009361-9f20e4bc0e38?q=80&w=600&auto=format&fit=crop\" alt=\"\u0e44\u0e23\u0e48\u0e40\u0e25\u0e22\u0e4c\">\n                    <\/div>\n                    <div class=\"ll-dest-content\">\n                        <h3 class=\"ll-dest-name\">\u0e44\u0e23\u0e48\u0e40\u0e25\u0e22\u0e4c (Railay)<\/h3>\n                        <div class=\"ll-dest-info\">\n                            <span><i class=\"fa-solid fa-location-dot\"><\/i> \u0e2d\u0e48\u0e32\u0e27\u0e44\u0e23\u0e48\u0e40\u0e25\u0e22\u0e4c<\/span>\n                            <span><i class=\"fa-regular fa-clock\"><\/i> 2.5 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07<\/span>\n                        <\/div>\n                        <div class=\"ll-dest-action\">\n                            <div class=\"ll-dest-price\">\n                                <span class=\"ll-dest-price-label\">\u0e23\u0e32\u0e04\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19<\/span>\n                                <span class=\"ll-dest-price-amount\">1,100 \u0e3f<\/span>\n                            <\/div>\n                            <div class=\"ll-dest-btn\"><i class=\"fa-solid fa-arrow-right\"><\/i><\/div>\n                        <\/div>\n                    <\/div>\n                <\/a>\n\n                <!-- 5: Ao Nang -->\n                <a href=\"https:\/\/www.lipeferry.com\/AoNang\/\" class=\"ll-dest-card\">\n                    <div class=\"ll-dest-img-wrap\">\n                        <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1544243579-3351d38221b0?q=80&w=600&auto=format&fit=crop\" alt=\"\u0e2d\u0e48\u0e32\u0e27\u0e19\u0e32\u0e07\">\n                    <\/div>\n                    <div class=\"ll-dest-content\">\n                        <h3 class=\"ll-dest-name\">\u0e2d\u0e48\u0e32\u0e27\u0e19\u0e32\u0e07 (Ao Nang)<\/h3>\n                        <div class=\"ll-dest-info\">\n                            <span><i class=\"fa-solid fa-location-dot\"><\/i> \u0e2b\u0e32\u0e14\u0e19\u0e1e\u0e23\u0e31\u0e15\u0e19\u0e4c\u0e18\u0e32\u0e23\u0e32<\/span>\n                            <span><i class=\"fa-regular fa-clock\"><\/i> 2 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07<\/span>\n                        <\/div>\n                        <div class=\"ll-dest-action\">\n                            <div class=\"ll-dest-price\">\n                                <span class=\"ll-dest-price-label\">\u0e23\u0e32\u0e04\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19<\/span>\n                                <span class=\"ll-dest-price-amount\">850 \u0e3f<\/span>\n                            <\/div>\n                            <div class=\"ll-dest-btn\"><i class=\"fa-solid fa-arrow-right\"><\/i><\/div>\n                        <\/div>\n                    <\/div>\n                <\/a>\n\n                <!-- 6: Koh Lanta -->\n                <a href=\"https:\/\/www.lipeferry.com\/kohlanta\/\" class=\"ll-dest-card\">\n                    <div class=\"ll-dest-img-wrap\">\n                        <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1588668214407-6ea9a6d8c272?q=80&w=600&auto=format&fit=crop\" alt=\"\u0e40\u0e01\u0e32\u0e30\u0e25\u0e31\u0e19\u0e15\u0e32\">\n                    <\/div>\n                    <div class=\"ll-dest-content\">\n                        <h3 class=\"ll-dest-name\">\u0e40\u0e01\u0e32\u0e30\u0e25\u0e31\u0e19\u0e15\u0e32 (Koh Lanta)<\/h3>\n                        <div class=\"ll-dest-info\">\n                            <span><i class=\"fa-solid fa-location-dot\"><\/i> \u0e17\u0e48\u0e32\u0e40\u0e23\u0e37\u0e2d\u0e28\u0e32\u0e25\u0e32\u0e14\u0e48\u0e32\u0e19<\/span>\n                            <span><i class=\"fa-regular fa-clock\"><\/i> 3.5 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07<\/span>\n                        <\/div>\n                        <div class=\"ll-dest-action\">\n                            <div class=\"ll-dest-price\">\n                                <span class=\"ll-dest-price-label\">\u0e23\u0e32\u0e04\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19<\/span>\n                                <span class=\"ll-dest-price-amount\">1,400 \u0e3f<\/span>\n                            <\/div>\n                            <div class=\"ll-dest-btn\"><i class=\"fa-solid fa-arrow-right\"><\/i><\/div>\n                        <\/div>\n                    <\/div>\n                <\/a>\n\n            <\/div>\n        <\/div>\n\n        <script>\n            \/\/ ==========================================\n            \/\/ \u0e23\u0e30\u0e1a\u0e1a\u0e2a\u0e25\u0e31\u0e1a\u0e41\u0e17\u0e47\u0e1a (Tab Switching UI)\n            \/\/ ==========================================\n            function switchLipeTab(tabId, btnElement) {\n                document.querySelectorAll('.lipe-tab-btn').forEach(btn => btn.classList.remove('active'));\n                document.querySelectorAll('.lipe-tab-content').forEach(content => content.classList.remove('active'));\n\n                btnElement.classList.add('active');\n                document.getElementById('tab-' + tabId).classList.add('active');\n                document.getElementById('schedule-results').style.display = 'none';\n\n                if (tabId === 'speedboat') {\n                    document.getElementById('search-bar-speedboat').classList.remove('tab-not-first');\n                } else {\n                    document.getElementById('search-bar-van').classList.add('tab-not-first');\n                }\n            }\n\n            jQuery(document).ready(function($) {\n                flatpickr(\"#vanDepartDate\", { locale: \"th\", dateFormat: \"Y-m-d\", altInput: true, altFormat: \"j M Y\", minDate: \"today\" });\n            });\n\n            \/\/ ==========================================\n            \/\/ SPEEDBOAT SYSTEM LOGIC\n            \/\/ ==========================================\n            const dbSchedules = [{\"orig\":\"Phuket\",\"dest\":\"Koh Phi Phi\",\"adult\":800,\"child\":600,\"depart\":\"08:30:00\",\"arrive\":\"09:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Phi Phi\",\"adult\":800,\"child\":600,\"depart\":\"10:00:00\",\"arrive\":\"11:00:00\",\"period\":\"Open Daily\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Phi Phi\",\"adult\":800,\"child\":600,\"depart\":\"12:00:00\",\"arrive\":\"13:00:00\",\"period\":\"Open Daily\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Phi Phi\",\"adult\":800,\"child\":600,\"depart\":\"14:30:00\",\"arrive\":\"15:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Lanta\",\"adult\":1500,\"child\":900,\"depart\":\"08:30:00\",\"arrive\":\"10:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Lanta\",\"adult\":1500,\"child\":900,\"depart\":\"10:00:00\",\"arrive\":\"11:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Lanta\",\"adult\":1500,\"child\":900,\"depart\":\"12:00:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Lanta\",\"adult\":1500,\"child\":900,\"depart\":\"14:30:00\",\"arrive\":\"16:00:00\",\"period\":\"Open Daily\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Ngai\",\"adult\":1850,\"child\":1300,\"depart\":\"08:30:00\",\"arrive\":\"11:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Ngai\",\"adult\":1850,\"child\":1300,\"depart\":\"10:00:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Mook\",\"adult\":1950,\"child\":1350,\"depart\":\"08:30:00\",\"arrive\":\"11:20:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Mook\",\"adult\":1950,\"child\":1350,\"depart\":\"10:00:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Kradan\",\"adult\":1950,\"child\":1350,\"depart\":\"08:30:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Kradan\",\"adult\":1950,\"child\":1350,\"depart\":\"10:00:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Lipe\",\"adult\":2500,\"child\":1800,\"depart\":\"08:30:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Lipe\",\"adult\":2500,\"child\":1800,\"depart\":\"10:00:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Aonang\",\"adult\":1200,\"child\":700,\"depart\":\"09:00:00\",\"arrive\":\"10:10:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Aonang\",\"adult\":1200,\"child\":700,\"depart\":\"11:00:00\",\"arrive\":\"12:10:00\",\"period\":\"Open Daily\"},{\"orig\":\"Phuket\",\"dest\":\"Aonang\",\"adult\":1200,\"child\":700,\"depart\":\"13:30:00\",\"arrive\":\"14:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Railay\",\"adult\":1200,\"child\":700,\"depart\":\"09:00:00\",\"arrive\":\"10:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Railay\",\"adult\":1200,\"child\":700,\"depart\":\"11:00:00\",\"arrive\":\"12:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Phuket\",\"dest\":\"Railay\",\"adult\":1200,\"child\":700,\"depart\":\"13:30:00\",\"arrive\":\"15:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Jum\",\"adult\":1800,\"child\":1500,\"depart\":\"10:00:00\",\"arrive\":\"11:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Yao Yai\",\"adult\":1000,\"child\":600,\"depart\":\"09:00:00\",\"arrive\":\"09:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Yao Yai\",\"adult\":1000,\"child\":600,\"depart\":\"13:00:00\",\"arrive\":\"13:50:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Yao Noi\",\"adult\":1000,\"child\":600,\"depart\":\"09:00:00\",\"arrive\":\"10:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Koh Yao Noi\",\"adult\":1000,\"child\":600,\"depart\":\"13:00:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Phuket\",\"dest\":\"Langkawi\",\"adult\":3900,\"child\":3000,\"depart\":\"08:30:00\",\"arrive\":\"18:00:00\",\"period\":\"1 Nov 2026 - 18 April 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Phuket\",\"adult\":800,\"child\":600,\"depart\":\"10:40:00\",\"arrive\":\"11:40:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Phuket\",\"adult\":800,\"child\":600,\"depart\":\"13:30:00\",\"arrive\":\"14:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Phuket\",\"adult\":800,\"child\":600,\"depart\":\"16:00:00\",\"arrive\":\"17:00:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Phuket\",\"adult\":800,\"child\":600,\"depart\":\"17:00:00\",\"arrive\":\"18:00:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Lanta\",\"adult\":700,\"child\":400,\"depart\":\"09:30:00\",\"arrive\":\"10:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Lanta\",\"adult\":700,\"child\":400,\"depart\":\"11:00:00\",\"arrive\":\"11:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Lanta\",\"adult\":700,\"child\":400,\"depart\":\"13:00:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Lanta\",\"adult\":700,\"child\":400,\"depart\":\"15:30:00\",\"arrive\":\"16:00:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Ngai\",\"adult\":1350,\"child\":850,\"depart\":\"09:30:00\",\"arrive\":\"11:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Ngai\",\"adult\":1350,\"child\":850,\"depart\":\"11:00:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Mook\",\"adult\":1600,\"child\":950,\"depart\":\"09:30:00\",\"arrive\":\"11:20:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Mook\",\"adult\":1600,\"child\":950,\"depart\":\"11:00:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Kradan\",\"adult\":1600,\"child\":950,\"depart\":\"09:30:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Kradan\",\"adult\":1600,\"child\":950,\"depart\":\"11:00:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Lipe\",\"adult\":2300,\"child\":1600,\"depart\":\"09:30:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Lipe\",\"adult\":2300,\"child\":1600,\"depart\":\"11:00:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Railay\",\"adult\":1000,\"child\":700,\"depart\":\"10:30:00\",\"arrive\":\"11:10:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Railay\",\"adult\":1000,\"child\":700,\"depart\":\"16:15:00\",\"arrive\":\"16:55:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Aonang\",\"adult\":1000,\"child\":700,\"depart\":\"10:30:00\",\"arrive\":\"11:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Aonang\",\"adult\":1000,\"child\":700,\"depart\":\"16:15:00\",\"arrive\":\"17:15:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Jum\",\"adult\":800,\"child\":650,\"depart\":\"11:00:00\",\"arrive\":\"11:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Yao Yai\",\"adult\":1200,\"child\":800,\"depart\":\"10:00:00\",\"arrive\":\"11:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Yao Yai\",\"adult\":1200,\"child\":800,\"depart\":\"14:00:00\",\"arrive\":\"15:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Yao Noi\",\"adult\":1200,\"child\":800,\"depart\":\"10:00:00\",\"arrive\":\"10:50:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Koh Yao Noi\",\"adult\":1200,\"child\":800,\"depart\":\"14:00:00\",\"arrive\":\"14:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Phi Phi\",\"dest\":\"Langkawi\",\"adult\":3700,\"child\":2700,\"depart\":\"09:30:00\",\"arrive\":\"18:00:00\",\"period\":\"1 Nov 2026 - 18 April 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Phi Phi\",\"adult\":700,\"child\":400,\"depart\":\"10:00:00\",\"arrive\":\"10:40:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Phi Phi\",\"adult\":700,\"child\":400,\"depart\":\"13:00:00\",\"arrive\":\"13:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Phi Phi\",\"adult\":700,\"child\":400,\"depart\":\"15:30:00\",\"arrive\":\"16:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Phuket\",\"adult\":1500,\"child\":900,\"depart\":\"10:00:00\",\"arrive\":\"11:40:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Phuket\",\"adult\":1500,\"child\":900,\"depart\":\"13:00:00\",\"arrive\":\"14:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Phuket\",\"adult\":1500,\"child\":900,\"depart\":\"15:30:00\",\"arrive\":\"17:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Ngai\",\"adult\":650,\"child\":400,\"depart\":\"10:30:00\",\"arrive\":\"11:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Ngai\",\"adult\":650,\"child\":400,\"depart\":\"12:30:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Mook\",\"adult\":900,\"child\":600,\"depart\":\"10:30:00\",\"arrive\":\"11:20:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Mook\",\"adult\":900,\"child\":600,\"depart\":\"12:30:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Kradan\",\"adult\":950,\"child\":650,\"depart\":\"10:30:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Kradan\",\"adult\":950,\"child\":650,\"depart\":\"12:30:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Lipe\",\"adult\":1700,\"child\":1150,\"depart\":\"10:30:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Lipe\",\"adult\":1700,\"child\":1150,\"depart\":\"12:30:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Jum\",\"adult\":800,\"child\":650,\"depart\":\"09:00:00\",\"arrive\":\"09:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Jum\",\"adult\":800,\"child\":650,\"depart\":\"13:30:00\",\"arrive\":\"14:00:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Railay\",\"adult\":1250,\"child\":900,\"depart\":\"09:00:00\",\"arrive\":\"10:10:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Railay\",\"adult\":1250,\"child\":900,\"depart\":\"13:30:00\",\"arrive\":\"14:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Aonang\",\"adult\":1250,\"child\":900,\"depart\":\"09:00:00\",\"arrive\":\"10:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Aonang\",\"adult\":1250,\"child\":900,\"depart\":\"13:30:00\",\"arrive\":\"15:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Yao Noi\",\"adult\":1400,\"child\":1000,\"depart\":\"09:00:00\",\"arrive\":\"11:10:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Yao Noi\",\"adult\":1400,\"child\":1000,\"depart\":\"13:30:00\",\"arrive\":\"15:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Yao Yai\",\"adult\":1400,\"child\":1000,\"depart\":\"09:00:00\",\"arrive\":\"11:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Koh Yao Yai\",\"adult\":1400,\"child\":1000,\"depart\":\"13:30:00\",\"arrive\":\"15:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lanta\",\"dest\":\"Langkawi\",\"adult\":3100,\"child\":2300,\"depart\":\"10:30:00\",\"arrive\":\"18:00:00\",\"period\":\"1 Nov 2026 - 18 April 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Phuket\",\"adult\":1850,\"child\":1300,\"depart\":\"11:30:00\",\"arrive\":\"14:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Phuket\",\"adult\":1850,\"child\":1300,\"depart\":\"14:30:00\",\"arrive\":\"17:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Phi Phi\",\"adult\":1350,\"child\":850,\"depart\":\"11:30:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Phi Phi\",\"adult\":1350,\"child\":850,\"depart\":\"14:30:00\",\"arrive\":\"16:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Lanta\",\"adult\":650,\"child\":400,\"depart\":\"11:30:00\",\"arrive\":\"12:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Lanta\",\"adult\":650,\"child\":400,\"depart\":\"14:30:00\",\"arrive\":\"15:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Mook\",\"adult\":350,\"child\":200,\"depart\":\"11:00:00\",\"arrive\":\"11:20:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Mook\",\"adult\":350,\"child\":200,\"depart\":\"13:00:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Kradan\",\"adult\":400,\"child\":250,\"depart\":\"11:00:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Kradan\",\"adult\":400,\"child\":250,\"depart\":\"13:00:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Lipe\",\"adult\":1600,\"child\":1000,\"depart\":\"11:00:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Lipe\",\"adult\":1600,\"child\":1000,\"depart\":\"13:00:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Jum\",\"adult\":1500,\"child\":900,\"depart\":\"11:30:00\",\"arrive\":\"14:00:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Railay\",\"adult\":1650,\"child\":1250,\"depart\":\"11:30:00\",\"arrive\":\"14:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Aonang\",\"adult\":1650,\"child\":1250,\"depart\":\"11:30:00\",\"arrive\":\"15:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Yao Noi\",\"adult\":1800,\"child\":1300,\"depart\":\"11:30:00\",\"arrive\":\"15:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Koh Yao Yai\",\"adult\":1800,\"child\":1300,\"depart\":\"11:30:00\",\"arrive\":\"15:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Ngai\",\"dest\":\"Langkawi\",\"adult\":3000,\"child\":2200,\"depart\":\"11:00:00\",\"arrive\":\"18:00:00\",\"period\":\"1 Nov 2026 - 18 April 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Phuket\",\"adult\":1950,\"child\":1350,\"depart\":\"11:00:00\",\"arrive\":\"14:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Phuket\",\"adult\":1950,\"child\":1350,\"depart\":\"14:00:00\",\"arrive\":\"17:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Phi Phi\",\"adult\":1600,\"child\":950,\"depart\":\"11:00:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Phi Phi\",\"adult\":1600,\"child\":950,\"depart\":\"14:00:00\",\"arrive\":\"16:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Lanta\",\"adult\":900,\"child\":600,\"depart\":\"11:00:00\",\"arrive\":\"12:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Lanta\",\"adult\":900,\"child\":600,\"depart\":\"14:00:00\",\"arrive\":\"15:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Ngai\",\"adult\":350,\"child\":200,\"depart\":\"11:00:00\",\"arrive\":\"11:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Ngai\",\"adult\":350,\"child\":200,\"depart\":\"14:00:00\",\"arrive\":\"14:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Kradan\",\"adult\":300,\"child\":200,\"depart\":\"11:20:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Kradan\",\"adult\":300,\"child\":200,\"depart\":\"13:20:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Lipe\",\"adult\":1400,\"child\":850,\"depart\":\"11:20:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Lipe\",\"adult\":1400,\"child\":850,\"depart\":\"13:20:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Jum\",\"adult\":1700,\"child\":1000,\"depart\":\"11:00:00\",\"arrive\":\"14:00:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Railay\",\"adult\":2000,\"child\":1400,\"depart\":\"11:00:00\",\"arrive\":\"14:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Aonang\",\"adult\":2000,\"child\":1400,\"depart\":\"11:00:00\",\"arrive\":\"15:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Yao Noi\",\"adult\":2100,\"child\":1500,\"depart\":\"11:00:00\",\"arrive\":\"15:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Koh Yao Yai\",\"adult\":2100,\"child\":1500,\"depart\":\"11:00:00\",\"arrive\":\"15:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Mook\",\"dest\":\"Langkawi\",\"adult\":2800,\"child\":2100,\"depart\":\"11:20:00\",\"arrive\":\"18:00:00\",\"period\":\"1 Nov 2026 - 18 April 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Phuket\",\"adult\":1950,\"child\":1350,\"depart\":\"10:50:00\",\"arrive\":\"14:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Phuket\",\"adult\":1950,\"child\":1350,\"depart\":\"13:50:00\",\"arrive\":\"17:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Phi Phi\",\"adult\":1600,\"child\":950,\"depart\":\"10:50:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Phi Phi\",\"adult\":1600,\"child\":950,\"depart\":\"13:50:00\",\"arrive\":\"16:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Lanta\",\"adult\":950,\"child\":650,\"depart\":\"10:50:00\",\"arrive\":\"12:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Lanta\",\"adult\":950,\"child\":650,\"depart\":\"13:50:00\",\"arrive\":\"15:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Ngai\",\"adult\":400,\"child\":250,\"depart\":\"10:50:00\",\"arrive\":\"11:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Ngai\",\"adult\":400,\"child\":250,\"depart\":\"13:50:00\",\"arrive\":\"14:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Mook\",\"adult\":300,\"child\":200,\"depart\":\"10:50:00\",\"arrive\":\"11:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Mook\",\"adult\":300,\"child\":200,\"depart\":\"13:50:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Lipe\",\"adult\":1400,\"child\":850,\"depart\":\"11:40:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Lipe\",\"adult\":1400,\"child\":850,\"depart\":\"13:40:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Jum\",\"adult\":1700,\"child\":1000,\"depart\":\"10:50:00\",\"arrive\":\"14:00:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Railay\",\"adult\":2000,\"child\":1400,\"depart\":\"10:50:00\",\"arrive\":\"14:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Aonang\",\"adult\":2000,\"child\":1400,\"depart\":\"10:50:00\",\"arrive\":\"15:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Yao Noi\",\"adult\":2100,\"child\":1500,\"depart\":\"10:50:00\",\"arrive\":\"15:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Koh Yao Yai\",\"adult\":2100,\"child\":1500,\"depart\":\"10:50:00\",\"arrive\":\"15:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Kradan\",\"dest\":\"Langkawi\",\"adult\":2800,\"child\":2100,\"depart\":\"11:40:00\",\"arrive\":\"18:00:00\",\"period\":\"1 Nov 2026 - 18 April 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Phuket\",\"adult\":2500,\"child\":1800,\"depart\":\"09:00:00\",\"arrive\":\"14:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Phuket\",\"adult\":2500,\"child\":1800,\"depart\":\"12:00:00\",\"arrive\":\"17:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Phi Phi\",\"adult\":2300,\"child\":1600,\"depart\":\"09:00:00\",\"arrive\":\"13:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Phi Phi\",\"adult\":2300,\"child\":1600,\"depart\":\"12:00:00\",\"arrive\":\"16:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Lanta\",\"adult\":1700,\"child\":1150,\"depart\":\"09:00:00\",\"arrive\":\"12:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Lanta\",\"adult\":1700,\"child\":1150,\"depart\":\"12:00:00\",\"arrive\":\"15:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Ngai\",\"adult\":1600,\"child\":1000,\"depart\":\"09:00:00\",\"arrive\":\"11:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Ngai\",\"adult\":1600,\"child\":1000,\"depart\":\"12:00:00\",\"arrive\":\"14:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Mook\",\"adult\":1400,\"child\":850,\"depart\":\"09:00:00\",\"arrive\":\"11:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Mook\",\"adult\":1400,\"child\":850,\"depart\":\"12:00:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Kradan\",\"adult\":1400,\"child\":850,\"depart\":\"09:00:00\",\"arrive\":\"10:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Kradan\",\"adult\":1400,\"child\":850,\"depart\":\"12:00:00\",\"arrive\":\"13:50:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Jum\",\"adult\":2000,\"child\":1600,\"depart\":\"09:00:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Railay\",\"adult\":2400,\"child\":2000,\"depart\":\"09:00:00\",\"arrive\":\"14:50:00\",\"period\":\"1 Nov 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Aonang\",\"adult\":2400,\"child\":2000,\"depart\":\"09:00:00\",\"arrive\":\"15:00:00\",\"period\":\"1 Nov 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Yao Noi\",\"adult\":2600,\"child\":2100,\"depart\":\"09:00:00\",\"arrive\":\"15:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Koh Yao Yai\",\"adult\":2600,\"child\":2100,\"depart\":\"09:00:00\",\"arrive\":\"15:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Langkawi\",\"adult\":1400,\"child\":1200,\"depart\":\"14:15:00\",\"arrive\":\"16:45:00\",\"period\":\"15-31 Oct 26 and 19 April - 16 May 27\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Langkawi\",\"adult\":1400,\"child\":1200,\"depart\":\"10:45:00\",\"arrive\":\"13:15:00\",\"period\":\"1 Nov 2026 - 18 April 2027\"},{\"orig\":\"Koh Lipe\",\"dest\":\"Langkawi\",\"adult\":1400,\"child\":1200,\"depart\":\"15:30:00\",\"arrive\":\"18:00:00\",\"period\":\"1 Nov 2026 - 18 April 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Phuket\",\"adult\":1200,\"child\":700,\"depart\":\"11:30:00\",\"arrive\":\"12:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Aonang\",\"dest\":\"Phuket\",\"adult\":1200,\"child\":700,\"depart\":\"13:00:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Phuket\",\"adult\":1200,\"child\":700,\"depart\":\"15:30:00\",\"arrive\":\"16:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Phi Phi\",\"adult\":1000,\"child\":700,\"depart\":\"10:10:00\",\"arrive\":\"11:00:00\",\"period\":\"Open Daily\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Phi Phi\",\"adult\":1000,\"child\":700,\"depart\":\"14:40:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 20 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Jum\",\"adult\":900,\"child\":700,\"depart\":\"10:10:00\",\"arrive\":\"11:10:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Jum\",\"adult\":900,\"child\":700,\"depart\":\"13:00:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Lanta\",\"adult\":1250,\"child\":900,\"depart\":\"10:10:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Lanta\",\"adult\":1250,\"child\":900,\"depart\":\"13:00:00\",\"arrive\":\"14:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Lanta\",\"adult\":1250,\"child\":900,\"depart\":\"14:40:00\",\"arrive\":\"16:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Ngai\",\"adult\":1650,\"child\":1250,\"depart\":\"10:10:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Mook\",\"adult\":2000,\"child\":1400,\"depart\":\"10:10:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Kradan\",\"adult\":2000,\"child\":1400,\"depart\":\"10:10:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Lipe\",\"adult\":2400,\"child\":2000,\"depart\":\"10:10:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Yao Noi\",\"adult\":650,\"child\":500,\"depart\":\"10:30:00\",\"arrive\":\"11:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Yao Noi\",\"adult\":650,\"child\":500,\"depart\":\"15:00:00\",\"arrive\":\"15:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Yao Yai\",\"adult\":650,\"child\":500,\"depart\":\"10:30:00\",\"arrive\":\"11:50:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Aonang\",\"dest\":\"Koh Yao Yai\",\"adult\":650,\"child\":500,\"depart\":\"15:00:00\",\"arrive\":\"15:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Phuket\",\"adult\":1200,\"child\":700,\"depart\":\"11:00:00\",\"arrive\":\"12:30:00\",\"period\":\"Open Daily\"},{\"orig\":\"Railay\",\"dest\":\"Phuket\",\"adult\":1200,\"child\":700,\"depart\":\"12:30:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Phuket\",\"adult\":1200,\"child\":700,\"depart\":\"15:00:00\",\"arrive\":\"16:30:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Phi Phi\",\"adult\":1000,\"child\":700,\"depart\":\"10:30:00\",\"arrive\":\"11:00:00\",\"period\":\"Open Daily\"},{\"orig\":\"Railay\",\"dest\":\"Koh Phi Phi\",\"adult\":1000,\"child\":700,\"depart\":\"15:00:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 20 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Jum\",\"adult\":900,\"child\":700,\"depart\":\"10:30:00\",\"arrive\":\"11:10:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Jum\",\"adult\":900,\"child\":700,\"depart\":\"13:20:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Lanta\",\"adult\":1250,\"child\":900,\"depart\":\"10:30:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Lanta\",\"adult\":1250,\"child\":900,\"depart\":\"13:20:00\",\"arrive\":\"14:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Lanta\",\"adult\":1250,\"child\":900,\"depart\":\"15:00:00\",\"arrive\":\"16:10:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Ngai\",\"adult\":1650,\"child\":1250,\"depart\":\"10:30:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Mook\",\"adult\":2000,\"child\":1400,\"depart\":\"10:30:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Kradan\",\"adult\":2000,\"child\":1400,\"depart\":\"10:30:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Lipe\",\"adult\":2400,\"child\":2000,\"depart\":\"10:30:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Yao Noi\",\"adult\":800,\"child\":600,\"depart\":\"10:10:00\",\"arrive\":\"11:10:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Yao Noi\",\"adult\":800,\"child\":600,\"depart\":\"14:40:00\",\"arrive\":\"15:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Yao Yai\",\"adult\":800,\"child\":600,\"depart\":\"10:10:00\",\"arrive\":\"11:50:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Railay\",\"dest\":\"Koh Yao Yai\",\"adult\":800,\"child\":600,\"depart\":\"14:40:00\",\"arrive\":\"15:50:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Lanta\",\"adult\":800,\"child\":650,\"depart\":\"11:10:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Lanta\",\"adult\":800,\"child\":650,\"depart\":\"14:00:00\",\"arrive\":\"14:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Ngai\",\"adult\":1500,\"child\":900,\"depart\":\"11:10:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Mook\",\"adult\":1700,\"child\":1000,\"depart\":\"11:10:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Kradan\",\"adult\":1700,\"child\":1000,\"depart\":\"11:10:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Lipe\",\"adult\":2000,\"child\":1600,\"depart\":\"11:10:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Railay\",\"adult\":900,\"child\":700,\"depart\":\"09:30:00\",\"arrive\":\"10:10:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Railay\",\"adult\":900,\"child\":700,\"depart\":\"14:00:00\",\"arrive\":\"14:40:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Aonang\",\"adult\":900,\"child\":700,\"depart\":\"09:30:00\",\"arrive\":\"10:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Aonang\",\"adult\":900,\"child\":700,\"depart\":\"14:00:00\",\"arrive\":\"15:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Phi Phi\",\"adult\":800,\"child\":650,\"depart\":\"13:00:00\",\"arrive\":\"13:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Phuket\",\"adult\":1800,\"child\":1500,\"depart\":\"13:00:00\",\"arrive\":\"14:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Yao Noi\",\"adult\":1200,\"child\":1000,\"depart\":\"09:30:00\",\"arrive\":\"11:10:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Yao Noi\",\"adult\":1200,\"child\":1000,\"depart\":\"14:00:00\",\"arrive\":\"15:40:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Yao Yai\",\"adult\":1200,\"child\":1000,\"depart\":\"09:30:00\",\"arrive\":\"11:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Jum\",\"dest\":\"Koh Yao Yai\",\"adult\":1200,\"child\":1000,\"depart\":\"14:00:00\",\"arrive\":\"15:50:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Aonang\",\"adult\":650,\"child\":500,\"depart\":\"09:20:00\",\"arrive\":\"10:10:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Aonang\",\"adult\":650,\"child\":500,\"depart\":\"12:10:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Railay\",\"adult\":800,\"child\":600,\"depart\":\"09:20:00\",\"arrive\":\"10:30:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Railay\",\"adult\":800,\"child\":600,\"depart\":\"12:10:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Jum\",\"adult\":1200,\"child\":1000,\"depart\":\"09:20:00\",\"arrive\":\"11:10:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Jum\",\"adult\":1200,\"child\":1000,\"depart\":\"12:10:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Lanta\",\"adult\":1400,\"child\":1000,\"depart\":\"09:20:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Lanta\",\"adult\":1400,\"child\":1000,\"depart\":\"12:10:00\",\"arrive\":\"14:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Ngai\",\"adult\":1800,\"child\":1300,\"depart\":\"09:20:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Mook\",\"adult\":2100,\"child\":1500,\"depart\":\"09:20:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Kradan\",\"adult\":2100,\"child\":1500,\"depart\":\"09:20:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Lipe\",\"adult\":2600,\"child\":2100,\"depart\":\"09:20:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Phuket\",\"adult\":1000,\"child\":600,\"depart\":\"11:00:00\",\"arrive\":\"12:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Phuket\",\"adult\":1000,\"child\":600,\"depart\":\"15:00:00\",\"arrive\":\"16:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Phi Phi\",\"adult\":1200,\"child\":800,\"depart\":\"09:50:00\",\"arrive\":\"11:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Yai\",\"dest\":\"Koh Phi Phi\",\"adult\":1200,\"child\":800,\"depart\":\"13:50:00\",\"arrive\":\"15:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Aonang\",\"adult\":650,\"child\":500,\"depart\":\"09:30:00\",\"arrive\":\"10:10:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Aonang\",\"adult\":650,\"child\":500,\"depart\":\"12:20:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Railay\",\"adult\":800,\"child\":600,\"depart\":\"09:30:00\",\"arrive\":\"10:30:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Railay\",\"adult\":800,\"child\":600,\"depart\":\"12:20:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Jum\",\"adult\":1200,\"child\":1000,\"depart\":\"09:30:00\",\"arrive\":\"11:10:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Jum\",\"adult\":1200,\"child\":1000,\"depart\":\"12:20:00\",\"arrive\":\"14:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Lanta\",\"adult\":1400,\"child\":1000,\"depart\":\"09:30:00\",\"arrive\":\"11:40:00\",\"period\":\"15 Oct 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Lanta\",\"adult\":1400,\"child\":1000,\"depart\":\"12:20:00\",\"arrive\":\"14:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Ngai\",\"adult\":1800,\"child\":1300,\"depart\":\"09:30:00\",\"arrive\":\"13:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Mook\",\"adult\":2100,\"child\":1500,\"depart\":\"09:30:00\",\"arrive\":\"13:20:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Kradan\",\"adult\":2100,\"child\":1500,\"depart\":\"09:30:00\",\"arrive\":\"13:40:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Lipe\",\"adult\":2600,\"child\":2100,\"depart\":\"09:30:00\",\"arrive\":\"15:30:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Phuket\",\"adult\":1000,\"child\":600,\"depart\":\"10:50:00\",\"arrive\":\"12:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Phuket\",\"adult\":1000,\"child\":600,\"depart\":\"14:50:00\",\"arrive\":\"16:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Phi Phi\",\"adult\":1200,\"child\":800,\"depart\":\"10:00:00\",\"arrive\":\"11:00:00\",\"period\":\"1 Nov 2026 - 4 May 2027\"},{\"orig\":\"Koh Yao Noi\",\"dest\":\"Koh Phi Phi\",\"adult\":1200,\"child\":800,\"depart\":\"14:00:00\",\"arrive\":\"15:00:00\",\"period\":\"15 Oct 2026 - 20 May 2027\"}];\n            const allLocationsBackup = [\"Koh Lipe\",\"Phuket\",\"Koh Kradan\",\"Koh Mook\",\"Koh Ngai\",\"Koh Lanta\",\"Koh Phi Phi\",\"Langkawi\",\"Aonang\",\"Koh Jum\",\"Koh Yao Noi\",\"Koh Yao Yai\",\"Railay\"];\n            const locNamesMap = {\"Aonang\":\"\\u0e2d\\u0e48\\u0e32\\u0e27\\u0e19\\u0e32\\u0e07 (Aonang)\",\"Ao Nang\":\"\\u0e2d\\u0e48\\u0e32\\u0e27\\u0e19\\u0e32\\u0e07 (Aonang)\",\"Koh Jum\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e08\\u0e33 (Koh Jum)\",\"Koh Kradan\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e01\\u0e23\\u0e30\\u0e14\\u0e32\\u0e19 (Koh Kradan)\",\"Koh Lanta\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e25\\u0e31\\u0e19\\u0e15\\u0e32 (Koh Lanta)\",\"Koh Lipe\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e2b\\u0e25\\u0e35\\u0e40\\u0e1b\\u0e4a\\u0e30 (Koh Lipe)\",\"Koh Mook\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e21\\u0e38\\u0e01 (Koh Mook)\",\"Phuket\":\"\\u0e20\\u0e39\\u0e40\\u0e01\\u0e47\\u0e15 (Phuket)\",\"Pakbara\":\"\\u0e1b\\u0e32\\u0e01\\u0e1a\\u0e32\\u0e23\\u0e32 (Pakbara)\",\"Hat Yai\":\"\\u0e2b\\u0e32\\u0e14\\u0e43\\u0e2b\\u0e0d\\u0e48 (Hat Yai)\",\"Koh Bulone\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e1a\\u0e38\\u0e42\\u0e2b\\u0e25\\u0e19 (Koh Bulone)\",\"Koh Ngai\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e44\\u0e2b\\u0e07 (Koh Ngai)\",\"Koh Phi Phi\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e1e\\u0e35\\u0e1e\\u0e35 (Koh Phi Phi)\",\"Langkawi\":\"\\u0e25\\u0e31\\u0e07\\u0e01\\u0e32\\u0e27\\u0e35 (Langkawi)\",\"Koh Tarutao\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e15\\u0e30\\u0e23\\u0e38\\u0e40\\u0e15\\u0e32 (Koh Tarutao)\",\"Railay\":\"\\u0e44\\u0e23\\u0e48\\u0e40\\u0e25\\u0e22\\u0e4c (Railay)\",\"Koh Yao Noi\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e22\\u0e32\\u0e27\\u0e19\\u0e49\\u0e2d\\u0e22 (Koh Yao Noi)\",\"Koh Yao Yai\":\"\\u0e40\\u0e01\\u0e32\\u0e30\\u0e22\\u0e32\\u0e27\\u0e43\\u0e2b\\u0e0d\\u0e48 (Koh Yao Yai)\",\"Trang\":\"\\u0e15\\u0e23\\u0e31\\u0e07 (Trang)\"};\n            \n            const checkoutUrl = \"https:\/\/www.lipeferry.com\/2026\/09\/20\/checkout\/\";\n            const lineOfficialAccountUrl = \"https:\/\/lin.ee\/tlBioHH\";\n            \n            let departDateFp; \n\n            const periodRanges = {\n                \"15 oct 2026 - 20 may 2027\": [[new Date(2026, 9, 15), new Date(2027, 4, 20)]],\n                \"1 nov 2026 - 4 may 2027\": [[new Date(2026, 10, 1), new Date(2027, 4, 4)]],\n                \"1 nov 2026 - 18 april 2027\": [[new Date(2026, 10, 1), new Date(2027, 3, 18)]],\n                \"15 oct 2026 - 4 may 2027\": [[new Date(2026, 9, 15), new Date(2027, 4, 4)]],\n                \"1 nov 2026 - 20 may 2027\": [[new Date(2026, 10, 1), new Date(2027, 4, 20)]],\n                \"15-31 oct 2026 and 19 april-16 may 2027\": [\n                    [new Date(2026, 9, 15), new Date(2026, 9, 31)],\n                    [new Date(2027, 3, 19), new Date(2027, 4, 16)]\n                ]\n            };\n\n            function cleanStr(str) { return str ? str.toLowerCase().replace(\/[\\s\\-]\/g, '') : ''; }\n            function getLocDisplayName(loc) { return locNamesMap[loc] || loc; }\n\n            function formatDualLanguage(state) {\n                if (!state.id) return state.text;\n                let text = state.text;\n                if (text.indexOf('(') !== -1) {\n                    let parts = text.split('(');\n                    let th = parts[0].trim();\n                    let en = '(' + parts[1];\n                    if (state._resultId) {\n                        return jQuery('<div style=\"display:flex; justify-content:space-between; width:100%;\"><span style=\"font-weight:600; color:#0F2C59;\">' + th + '<\/span><span style=\"color:#94a3b8; font-size:13px; font-weight:400;\">' + en + '<\/span><\/div>');\n                    }\n                    return jQuery('<span><span style=\"font-weight:600; color:#0F2C59;\">' + th + '<\/span> <span style=\"color:#94a3b8; font-size:13px; font-weight:400;\">' + en + '<\/span><\/span>');\n                }\n                return jQuery('<span style=\"font-weight:600; color:#0F2C59;\">' + text + '<\/span>');\n            }\n\n            jQuery(document).ready(function($) {\n                $('#userOrigin, #userDestination').select2({\n                    width: 'resolve',\n                    dropdownCssClass: \"smart-dropdown-wrapper\",\n                    placeholder: function(){ return $(this).data('placeholder'); },\n                    templateResult: formatDualLanguage,\n                    templateSelection: formatDualLanguage\n                });\n                \n                departDateFp = flatpickr(\"#userDepartDate\", {\n                    locale: \"th\", dateFormat: \"Y-m-d\", altInput: true, altFormat: \"j M Y\", minDate: new Date().fp_incr(1)\n                });\n\n                const urlParams = new URLSearchParams(window.location.search);\n                const preOrig = urlParams.get('orig');\n                const preDest = urlParams.get('dest');\n\n                if (preOrig && preDest) {\n                    $('#userOrigin').val(preOrig).trigger('change.select2');\n                    updateUserDestinations();\n                    $('#userDestination').val(preDest).trigger('change.select2');\n                    \n                    updateCalendarAvailableDates(); \n                    \n                    setTimeout(() => {\n                        if ($('.lipe-ferry-search-bar').length) {\n                            $('html, body').animate({ scrollTop: $('.lipe-search-wrapper').offset().top - 80 }, 800);\n                        }\n                        if (departDateFp) departDateFp.open();\n                    }, 500);\n                }\n            });\n\n            const locationKeywords = { \"\u0e2b\u0e25\u0e35\u0e40\u0e1b\u0e4a\u0e30\": 1, \"\u0e20\u0e39\u0e40\u0e01\u0e47\u0e15\": 2, \"\u0e1b\u0e32\u0e01\u0e1a\u0e32\u0e23\u0e32\": 3, \"\u0e2b\u0e32\u0e14\u0e43\u0e2b\u0e0d\u0e48\": 4, \"\u0e15\u0e30\u0e23\u0e38\u0e40\u0e15\u0e32\": 5, \"\u0e1a\u0e38\u0e42\u0e2b\u0e25\u0e19\": 6, \"\u0e01\u0e23\u0e30\u0e14\u0e32\u0e19\": 7, \"\u0e21\u0e38\u0e01\": 8, \"\u0e44\u0e2b\u0e07\": 9, \"\u0e25\u0e31\u0e19\u0e15\u0e32\": 10, \"\u0e1e\u0e35\u0e1e\u0e35\": 11 };\n\n            function getSortWeight(locName) {\n                let displayStr = getLocDisplayName(locName);\n                for (const [keyword, weight] of Object.entries(locationKeywords)) {\n                    if (displayStr.includes(keyword)) return weight;\n                }\n                return 99;\n            }\n\n            function updateCalendarAvailableDates() {\n                if (!departDateFp) return;\n                const origin = document.getElementById('userOrigin').value;\n                const dest = document.getElementById('userDestination').value;\n                \n                if (!origin || !dest) {\n                    departDateFp.set('disable', []);\n                    return;\n                }\n\n                let routeSchedules = dbSchedules.filter(s => s.orig === origin && s.dest === dest);\n                if (routeSchedules.length === 0) {\n                    departDateFp.set('disable', [function(date) { return true; }]);\n                    checkAndClearInvalidSelectedDate(false, []);\n                    return;\n                }\n\n                let isOpenDaily = false;\n                let validRanges = [];\n\n                routeSchedules.forEach(s => {\n                    let p = cleanStr(s.period);\n                    if (p === 'opendaily' || p === 'allyear' || !p) {\n                        isOpenDaily = true;\n                    } else {\n                        for (const [key, ranges] of Object.entries(periodRanges)) {\n                            let cleanKey = cleanStr(key);\n                            if (p.includes(cleanKey) || cleanKey.includes(p) || p.includes(cleanKey.replace(\/2026\/g,'26').replace(\/2027\/g,'27'))) {\n                                ranges.forEach(r => validRanges.push(r));\n                                break;\n                            }\n                        }\n                    }\n                });\n\n                if (isOpenDaily) {\n                    departDateFp.set('disable', []);\n                } else {\n                    departDateFp.set('disable', [\n                        function(date) {\n                            let d = new Date(date); d.setHours(0,0,0,0);\n                            let isAllowed = validRanges.some(range => {\n                                let start = new Date(range[0]); start.setHours(0,0,0,0);\n                                let end = new Date(range[1]); end.setHours(0,0,0,0);\n                                return d >= start && d <= end;\n                            });\n                            return !isAllowed; \n                        }\n                    ]);\n                }\n                departDateFp.redraw();\n                checkAndClearInvalidSelectedDate(isOpenDaily, validRanges);\n            }\n\n            function checkAndClearInvalidSelectedDate(isOpenDaily, validRanges) {\n                let currentDateStr = document.getElementById('userDepartDate').value;\n                if (currentDateStr && !isOpenDaily) {\n                    let d = new Date(currentDateStr); d.setHours(0,0,0,0);\n                    let isStillAllowed = validRanges.some(range => {\n                        let start = new Date(range[0]); start.setHours(0,0,0,0);\n                        let end = new Date(range[1]); end.setHours(0,0,0,0);\n                        return d >= start && d <= end;\n                    });\n                    if (!isStillAllowed) {\n                        departDateFp.clear(); \n                        document.getElementById('schedule-results').style.display = 'none'; \n                    }\n                }\n            }\n\n            function isDateInPeriod(dateStr, periodStr) {\n                if (!dateStr) return true;\n                const p = cleanStr(periodStr);\n                if (p === 'opendaily' || p === 'allyear' || !p) return true;\n                \n                const checkDate = new Date(dateStr); checkDate.setHours(0, 0, 0, 0);\n                \n                for (const [key, ranges] of Object.entries(periodRanges)) {\n                    let cleanKey = cleanStr(key);\n                    if (p.includes(cleanKey) || cleanKey.includes(p) || p.includes(cleanKey.replace(\/2026\/g,'26').replace(\/2027\/g,'27'))) {\n                        return ranges.some(range => {\n                            let start = new Date(range[0]); start.setHours(0,0,0,0);\n                            let end = new Date(range[1]); end.setHours(0,0,0,0);\n                            return checkDate >= start && checkDate <= end;\n                        });\n                    }\n                }\n                return false; \n            }\n\n            function formatThaiDate(dateString) { return !dateString ? \"-\" : new Intl.DateTimeFormat('th-TH', { year: 'numeric', month: 'long', day: 'numeric' }).format(new Date(dateString)); }\n            function formatTime(timeStr) { return !timeStr ? \"-\" : timeStr.substring(0, 5) + \" \u0e19.\"; }\n\n            function swapLocations() {\n                let orig = document.getElementById('userOrigin');\n                let dest = document.getElementById('userDestination');\n                let temp = orig.value; orig.value = dest.value;\n                updateUserDestinations(); dest.value = temp;\n                if (typeof jQuery !== 'undefined') {\n                    jQuery('#userOrigin').trigger('change.select2');\n                    jQuery('#userDestination').trigger('change.select2');\n                }\n            }\n\n            function updateUserDestinations() {\n                const currOrig = document.getElementById('userOrigin').value;\n                const destSelect = document.getElementById('userDestination');\n                const currDest = destSelect.value; \n                let availableDestinations = new Set();\n\n                if (currOrig) {\n                    dbSchedules.forEach(r => {\n                        if (r.orig === currOrig) availableDestinations.add(r.dest);\n                        if (r.dest === currOrig) availableDestinations.add(r.orig);\n                    });\n                } else {\n                    allLocationsBackup.forEach(l => availableDestinations.add(l));\n                }\n\n                let html = '<option value=\"\" disabled>\u0e1b\u0e25\u0e32\u0e22\u0e17\u0e32\u0e07 (\u0e40\u0e0a\u0e48\u0e19 \u0e2b\u0e25\u0e35\u0e40\u0e1b\u0e4a\u0e30)<\/option>';\n                Array.from(availableDestinations).sort((a, b) => {\n                    let weightA = getSortWeight(a); let weightB = getSortWeight(b);\n                    if (weightA === weightB) return a.localeCompare(b);\n                    return weightA - weightB;\n                }).forEach(loc => { html += `<option value=\"${loc}\">${getLocDisplayName(loc)}<\/option>`; });\n\n                destSelect.innerHTML = html;\n                if (currDest && availableDestinations.has(currDest)) { destSelect.value = currDest; } else { destSelect.value = \"\"; }\n                if (typeof jQuery !== 'undefined') { jQuery('#userDestination').trigger('change.select2'); }\n                updateCalendarAvailableDates(); \n            }\n\n            function searchSchedules() {\n                const origin = document.getElementById('userOrigin').value;\n                const dest = document.getElementById('userDestination').value;\n                const departDate = document.getElementById('userDepartDate').value;\n                const resultsBox = document.getElementById('schedule-results');\n                const container = document.getElementById('userDepartTimeContainer');\n\n                if (!origin || !dest || !departDate) { alert(\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e01\u0e23\u0e2d\u0e01 \u0e15\u0e49\u0e19\u0e17\u0e32\u0e07 \u0e1b\u0e25\u0e32\u0e22\u0e17\u0e32\u0e07 \u0e41\u0e25\u0e30\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07\u0e43\u0e2b\u0e49\u0e04\u0e23\u0e1a\u0e16\u0e49\u0e27\u0e19\u0e04\u0e23\u0e31\u0e1a\"); return; }\n                resultsBox.style.display = 'block';\n\n                let allRoutes = dbSchedules.filter(s => s.orig === origin && s.dest === dest);\n                let availableList = allRoutes.filter(s => isDateInPeriod(departDate, s.period));\n                let htmlDepart = '';\n\n                if (allRoutes.length === 0) {\n                    htmlDepart = '<p style=\"color:#ef4444; padding:20px; text-align:center;\">\u26a0\ufe0f \u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e2d\u0e1a\u0e40\u0e14\u0e34\u0e19\u0e40\u0e23\u0e37\u0e2d\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07\u0e19\u0e35\u0e49\u0e04\u0e23\u0e31\u0e1a<\/p>';\n                } else if (availableList.length === 0) {\n                    htmlDepart = `\n                        <div style=\"text-align:center; padding:25px; background:#fef2f2; border:1px solid #fca5a5; border-radius:8px; margin-bottom: 20px;\">\n                            <p style=\"color:#ef4444; font-size:17px; font-weight:600; margin:0 0 10px 0;\"><i class=\"fa-solid fa-calendar-xmark\"><\/i> \u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e40\u0e25\u0e37\u0e2d\u0e01 \u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e2b\u0e49\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23<\/p>\n                            <p style=\"margin:0; color:#475569; font-size:15px;\">\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e2a\u0e2d\u0e1a\u0e16\u0e32\u0e21\u0e40\u0e08\u0e49\u0e32\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48 <a href=\"tel:0945614545\" style=\"color:#0f766e; font-weight:bold; text-decoration:none;\"><i class=\"fa-solid fa-phone\"><\/i> 094-561-4545<\/a><\/p>\n                        <\/div>`;\n                } else {\n                    availableList.forEach(s => {\n                        const val = `${s.adult}|${s.child}|${s.depart}|${s.arrive}`;\n                        htmlDepart += `\n                            <label class=\"radio-label\">\n                                <div style=\"display:flex; align-items:center;\">\n                                    <input type=\"radio\" name=\"userDepartTime\" value=\"${val}\" onchange=\"calculateUserTotal()\">\n                                    <div class=\"route-details\">\n                                        <strong>\u0e2d\u0e2d\u0e01 ${formatTime(s.depart)}<\/strong> \u2794 \u0e16\u0e36\u0e07 ${formatTime(s.arrive)}<br>\n                                        <small style=\"color:#64748b;\">(\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48 ${s.adult}\u0e3f \/ \u0e40\u0e14\u0e47\u0e01 ${s.child}\u0e3f)<\/small>\n                                    <\/div>\n                                <\/div>\n                                <span class=\"period-badge\">${s.period}<\/span>\n                            <\/label>`;\n                    });\n                }\n                container.innerHTML = htmlDepart; calculateUserTotal();\n                \n                \/\/ \u0e23\u0e35\u0e40\u0e0b\u0e47\u0e15\u0e1b\u0e38\u0e48\u0e21\u0e08\u0e2d\u0e07\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e02\u0e2d\u0e07\u0e2a\u0e1b\u0e35\u0e14\u0e42\u0e1a\u0e4a\u0e17\n                document.getElementById('lineBookingBtn').setAttribute('onclick', 'sendToLine(event)');\n            }\n\n            function calculateUserTotal() {\n                const adults = parseInt(document.getElementById('userAdults').value) || 0;\n                const children = parseInt(document.getElementById('userChildren').value) || 0;\n                const selectedRadio = document.querySelector('input[name=\"userDepartTime\"]:checked');\n                const lineBtn = document.getElementById('lineBookingBtn');\n                const formBtn = document.getElementById('formBookingBtn');\n                const priceDisplay = document.getElementById('userTotalPrice');\n\n                if (!selectedRadio) {\n                    priceDisplay.innerText = \"0 \u0e1a\u0e32\u0e17\"; lineBtn.classList.add('disabled'); formBtn.classList.add('disabled');\n                    if (document.querySelector('.fa-calendar-xmark')) {\n                        document.getElementById('userSummaryDesc').style.display = 'none'; priceDisplay.style.display = 'none';\n                    } else {\n                        document.getElementById('userSummaryDesc').style.display = 'block'; priceDisplay.style.display = 'block';\n                    }\n                    return;\n                }\n                \n                document.getElementById('userSummaryDesc').style.display = 'block'; priceDisplay.style.display = 'block';\n                const parts = selectedRadio.value.split('|');\n                const totalPrice = (adults * parseFloat(parts[0])) + (children * parseFloat(parts[1]));\n                priceDisplay.innerText = totalPrice.toLocaleString() + \" \u0e1a\u0e32\u0e17\";\n                lineBtn.classList.remove('disabled'); formBtn.classList.remove('disabled');\n            }\n\n            function sendToCheckout() {\n                if (document.getElementById('formBookingBtn').classList.contains('disabled')) return;\n                const origin = document.getElementById('userOrigin').value;\n                const destination = document.getElementById('userDestination').value;\n                const adults = parseInt(document.getElementById('userAdults').value) || 0;\n                const children = parseInt(document.getElementById('userChildren').value) || 0;\n                const departDate = document.getElementById('userDepartDate').value;\n                const parts = document.querySelector('input[name=\"userDepartTime\"]:checked').value.split('|');\n                \n                let targetUrl = checkoutUrl + `?origin=${encodeURIComponent(origin)}&destination=${encodeURIComponent(destination)}&date=${encodeURIComponent(departDate)}&time=${encodeURIComponent(formatTime(parts[2]) + \" - \" + formatTime(parts[3]))}&pax=${adults + children}&price=${(adults * parseFloat(parts[0])) + (children * parseFloat(parts[1]))}`;\n                window.location.href = targetUrl;\n            }\n\n            function sendToLine(e) {\n                e.preventDefault();\n                if (document.getElementById('lineBookingBtn').classList.contains('disabled')) return;\n                \n                const originRaw = document.getElementById('userOrigin').value;\n                const destRaw = document.getElementById('userDestination').value;\n                const originTH = getLocDisplayName(originRaw).split('(')[0].trim();\n                const destTH = getLocDisplayName(destRaw).split('(')[0].trim();\n\n                const departDate = document.getElementById('userDepartDate').value;\n                const parts = document.querySelector('input[name=\"userDepartTime\"]:checked').value.split('|');\n\n                let text = `\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35\u0e04\u0e48\u0e30 \u0e2a\u0e19\u0e43\u0e08\u0e08\u0e2d\u0e07\u0e15\u0e31\u0e4b\u0e27\u0e40\u0e23\u0e37\u0e2d Lipe Ferry \u0e04\u0e48\u0e30\\n\ud83d\udccd \u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07: ${originTH} \u2794 ${destTH}\\n\ud83d\udcc5 \u0e27\u0e31\u0e19\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07: ${formatThaiDate(departDate)}\\n\u23f0 \u0e23\u0e2d\u0e1a\u0e40\u0e27\u0e25\u0e32: ${formatTime(parts[2]) + \" \u0e16\u0e36\u0e07 \" + formatTime(parts[3])}\\n\ud83d\udc65 \u0e1c\u0e39\u0e49\u0e42\u0e14\u0e22\u0e2a\u0e32\u0e23: \u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48 ${document.getElementById('userAdults').value} \u0e17\u0e48\u0e32\u0e19`;\n                if (document.getElementById('userChildren').value > 0) text += `, \u0e40\u0e14\u0e47\u0e01 ${document.getElementById('userChildren').value} \u0e17\u0e48\u0e32\u0e19`;\n                text += `\\n\ud83d\udcb0 \u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21: ${document.getElementById('userTotalPrice').innerText}`;\n\n                window.open(lineOfficialAccountUrl + \"?text=\" + encodeURIComponent(text), '_blank');\n            }\n\n            \/\/ ==========================================\n            \/\/ VAN TRANSFER SYSTEM LOGIC (New in v3.2)\n            \/\/ ==========================================\n            const dbVanSchedules = [{\"location\":\"KATA BEACH \\\/ KARON BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"07:00:00\",\"depart\":null,\"return\":null},{\"location\":\"KATA BEACH \\\/ KARON BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"08:15:00\",\"depart\":null,\"return\":null},{\"location\":\"KATA BEACH \\\/ KARON BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"09:00:00\",\"depart\":null,\"return\":null},{\"location\":\"KATA BEACH \\\/ KARON BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"10:15:00\",\"depart\":null,\"return\":null},{\"location\":\"KATA BEACH \\\/ KARON BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"11:00:00\",\"depart\":null,\"return\":null},{\"location\":\"KATA BEACH \\\/ KARON BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"13:00:00\",\"depart\":null,\"return\":null},{\"location\":\"CHALONG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"07:15:00\",\"depart\":null,\"return\":null},{\"location\":\"CHALONG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"08:30:00\",\"depart\":null,\"return\":null},{\"location\":\"CHALONG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"09:15:00\",\"depart\":null,\"return\":null},{\"location\":\"CHALONG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"10:30:00\",\"depart\":null,\"return\":null},{\"location\":\"CHALONG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"11:15:00\",\"depart\":null,\"return\":null},{\"location\":\"CHALONG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"13:15:00\",\"depart\":null,\"return\":null},{\"location\":\"KALIM BEACH \\\/ TRITRANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"06:45:00\",\"depart\":null,\"return\":null},{\"location\":\"KALIM BEACH \\\/ TRITRANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"08:15:00\",\"depart\":null,\"return\":null},{\"location\":\"KALIM BEACH \\\/ TRITRANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"09:00:00\",\"depart\":null,\"return\":null},{\"location\":\"KALIM BEACH \\\/ TRITRANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"10:00:00\",\"depart\":null,\"return\":null},{\"location\":\"KALIM BEACH \\\/ TRITRANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"11:00:00\",\"depart\":null,\"return\":null},{\"location\":\"KALIM BEACH \\\/ TRITRANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"12:45:00\",\"depart\":null,\"return\":null},{\"location\":\"PATONG BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"07:00:00\",\"depart\":null,\"return\":null},{\"location\":\"PATONG BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"08:30:00\",\"depart\":null,\"return\":null},{\"location\":\"PATONG BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"09:15:00\",\"depart\":null,\"return\":null},{\"location\":\"PATONG BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"10:15:00\",\"depart\":null,\"return\":null},{\"location\":\"PATONG BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"11:15:00\",\"depart\":null,\"return\":null},{\"location\":\"PATONG BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"13:00:00\",\"depart\":null,\"return\":null},{\"location\":\"PHUKET TOWN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"07:30:00\",\"depart\":null,\"return\":null},{\"location\":\"PHUKET TOWN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"09:00:00\",\"depart\":null,\"return\":null},{\"location\":\"PHUKET TOWN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"10:00:00\",\"depart\":null,\"return\":null},{\"location\":\"PHUKET TOWN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"11:00:00\",\"depart\":null,\"return\":null},{\"location\":\"PHUKET TOWN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"12:00:00\",\"depart\":null,\"return\":null},{\"location\":\"PHUKET TOWN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"13:30:00\",\"depart\":null,\"return\":null},{\"location\":\"SIRAY BAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"07:45:00\",\"depart\":null,\"return\":null},{\"location\":\"SIRAY BAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"09:15:00\",\"depart\":null,\"return\":null},{\"location\":\"SIRAY BAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"10:15:00\",\"depart\":null,\"return\":null},{\"location\":\"SIRAY BAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"11:15:00\",\"depart\":null,\"return\":null},{\"location\":\"SIRAY BAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"12:15:00\",\"depart\":null,\"return\":null},{\"location\":\"SIRAY BAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"13:45:00\",\"depart\":null,\"return\":null},{\"location\":\"RAWAI \\\/ NAIHARN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"06:45:00\",\"depart\":null,\"return\":null},{\"location\":\"RAWAI \\\/ NAIHARN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"08:00:00\",\"depart\":null,\"return\":null},{\"location\":\"RAWAI \\\/ NAIHARN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"08:45:00\",\"depart\":null,\"return\":null},{\"location\":\"RAWAI \\\/ NAIHARN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"10:00:00\",\"depart\":null,\"return\":null},{\"location\":\"RAWAI \\\/ NAIHARN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"10:45:00\",\"depart\":null,\"return\":null},{\"location\":\"RAWAI \\\/ NAIHARN\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"12:45:00\",\"depart\":null,\"return\":null},{\"location\":\"PANWA BEACH \\\/ KAOKHAD\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"07:00:00\",\"depart\":null,\"return\":null},{\"location\":\"PANWA BEACH \\\/ KAOKHAD\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"08:30:00\",\"depart\":null,\"return\":null},{\"location\":\"PANWA BEACH \\\/ KAOKHAD\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"09:30:00\",\"depart\":null,\"return\":null},{\"location\":\"PANWA BEACH \\\/ KAOKHAD\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"10:30:00\",\"depart\":null,\"return\":null},{\"location\":\"PANWA BEACH \\\/ KAOKHAD\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"11:30:00\",\"depart\":null,\"return\":null},{\"location\":\"PANWA BEACH \\\/ KAOKHAD\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":100,\"pickup\":\"13:15:00\",\"depart\":null,\"return\":null},{\"location\":\"KAMALA BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":200,\"pickup\":\"06:30:00\",\"depart\":null,\"return\":null},{\"location\":\"KAMALA BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":200,\"pickup\":\"08:00:00\",\"depart\":null,\"return\":null},{\"location\":\"KAMALA BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":200,\"pickup\":\"08:45:00\",\"depart\":null,\"return\":null},{\"location\":\"KAMALA BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":200,\"pickup\":\"09:45:00\",\"depart\":null,\"return\":null},{\"location\":\"KAMALA BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":200,\"pickup\":\"10:45:00\",\"depart\":null,\"return\":null},{\"location\":\"KAMALA BEACH\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":200,\"pickup\":\"12:30:00\",\"depart\":null,\"return\":null},{\"location\":\"BANGTAO \\\/ CHERNGTALAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"06:45:00\",\"depart\":null,\"return\":null},{\"location\":\"BANGTAO \\\/ CHERNGTALAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"08:00:00\",\"depart\":null,\"return\":null},{\"location\":\"BANGTAO \\\/ CHERNGTALAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"08:45:00\",\"depart\":null,\"return\":null},{\"location\":\"BANGTAO \\\/ CHERNGTALAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"09:45:00\",\"depart\":null,\"return\":null},{\"location\":\"BANGTAO \\\/ CHERNGTALAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"11:00:00\",\"depart\":null,\"return\":null},{\"location\":\"BANGTAO \\\/ CHERNGTALAY\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"12:30:00\",\"depart\":null,\"return\":null},{\"location\":\"SURIN BEACH \\\/ NAITHON \\\/ THALANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"06:45:00\",\"depart\":null,\"return\":null},{\"location\":\"SURIN BEACH \\\/ NAITHON \\\/ THALANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"08:00:00\",\"depart\":null,\"return\":null},{\"location\":\"SURIN BEACH \\\/ NAITHON \\\/ THALANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"08:45:00\",\"depart\":null,\"return\":null},{\"location\":\"SURIN BEACH \\\/ NAITHON \\\/ THALANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"09:45:00\",\"depart\":null,\"return\":null},{\"location\":\"SURIN BEACH \\\/ NAITHON \\\/ THALANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"11:00:00\",\"depart\":null,\"return\":null},{\"location\":\"SURIN BEACH \\\/ NAITHON \\\/ THALANG\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"12:30:00\",\"depart\":null,\"return\":null},{\"location\":\"LAEM HIN \\\/ SAPAM \\\/ KOHKEAW\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"07:15:00\",\"depart\":null,\"return\":null},{\"location\":\"LAEM HIN \\\/ SAPAM \\\/ KOHKEAW\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"08:00:00\",\"depart\":null,\"return\":null},{\"location\":\"LAEM HIN \\\/ SAPAM \\\/ KOHKEAW\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"08:45:00\",\"depart\":null,\"return\":null},{\"location\":\"LAEM HIN \\\/ SAPAM \\\/ KOHKEAW\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"09:45:00\",\"depart\":null,\"return\":null},{\"location\":\"LAEM HIN \\\/ SAPAM \\\/ KOHKEAW\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"11:00:00\",\"depart\":null,\"return\":null},{\"location\":\"LAEM HIN \\\/ SAPAM \\\/ KOHKEAW\",\"type\":\"Join Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":250,\"pickup\":\"12:30:00\",\"depart\":null,\"return\":null},{\"location\":\"MAIKHAO \\\/ NAIYANG \\\/ PHUKET AIRPORT\",\"type\":\"Private Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":1000,\"pickup\":\"06:45:00\",\"depart\":null,\"return\":null},{\"location\":\"MAIKHAO \\\/ NAIYANG \\\/ PHUKET AIRPORT\",\"type\":\"Private Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":1000,\"pickup\":\"08:00:00\",\"depart\":null,\"return\":null},{\"location\":\"MAIKHAO \\\/ NAIYANG \\\/ PHUKET AIRPORT\",\"type\":\"Private Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":1000,\"pickup\":\"08:30:00\",\"depart\":null,\"return\":null},{\"location\":\"MAIKHAO \\\/ NAIYANG \\\/ PHUKET AIRPORT\",\"type\":\"Private Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":1000,\"pickup\":\"10:00:00\",\"depart\":null,\"return\":null},{\"location\":\"MAIKHAO \\\/ NAIYANG \\\/ PHUKET AIRPORT\",\"type\":\"Private Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":1000,\"pickup\":\"11:00:00\",\"depart\":null,\"return\":null},{\"location\":\"MAIKHAO \\\/ NAIYANG \\\/ PHUKET AIRPORT\",\"type\":\"Private Van\",\"operator\":\"Bundhaya Speed Boat\",\"adult\":0,\"child\":0,\"extra\":1000,\"pickup\":\"12:15:00\",\"depart\":null,\"return\":null},{\"location\":\"Hatyai A\\\/P - Pakbara Pier\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":300,\"child\":300,\"extra\":0,\"pickup\":null,\"depart\":\"09:00:00\",\"return\":\"11:30:00\"},{\"location\":\"Hatyai A\\\/P - Pakbara Pier\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":300,\"child\":300,\"extra\":0,\"pickup\":null,\"depart\":\"11:00:00\",\"return\":\"13:30:00\"},{\"location\":\"Hatyai A\\\/P - Pakbara Pier\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":300,\"child\":300,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":\"15:30:00\"},{\"location\":\"Hatyai City - Pakbara Pier\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":300,\"child\":300,\"extra\":0,\"pickup\":null,\"depart\":\"08:00:00\",\"return\":\"11:30:00\"},{\"location\":\"Hatyai City - Pakbara Pier\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":300,\"child\":300,\"extra\":0,\"pickup\":null,\"depart\":\"10:00:00\",\"return\":\"13:30:00\"},{\"location\":\"Hatyai City - Pakbara Pier\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":300,\"child\":300,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":\"15:30:00\"},{\"location\":\"Trang city, Trang airport - Pakbara Pier\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":350,\"child\":350,\"extra\":0,\"pickup\":null,\"depart\":\"08:30:00\",\"return\":\"11:30:00\"},{\"location\":\"Trang city, Trang airport - Pakbara Pier\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":350,\"child\":350,\"extra\":0,\"pickup\":null,\"depart\":\"09:00:00\",\"return\":null},{\"location\":\"Trang Train Station, Trang airport - Pakbara Pier\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":400,\"child\":400,\"extra\":0,\"pickup\":null,\"depart\":\"11:00:00\",\"return\":\"13:30:00\"},{\"location\":\"Aonang, Krabi town - Pakbara Pier (Morning)\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":650,\"child\":650,\"extra\":0,\"pickup\":null,\"depart\":\"06:00:00\",\"return\":\"11:30:00\"},{\"location\":\"Aonang, Krabi town - Pakbara Pier (Morning)\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":650,\"child\":650,\"extra\":0,\"pickup\":null,\"depart\":\"07:00:00\",\"return\":null},{\"location\":\"Aonang, Krabi town - Pakbara Pier (Late Morning)\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":750,\"child\":750,\"extra\":0,\"pickup\":null,\"depart\":\"08:00:00\",\"return\":\"13:30:00\"},{\"location\":\"Aonang, Krabi town - Pakbara Pier (Late Morning)\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":750,\"child\":750,\"extra\":0,\"pickup\":null,\"depart\":\"08:30:00\",\"return\":null},{\"location\":\"Phuket - Pakbara (change van at Krabi)\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":750,\"child\":750,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":\"11:30:00\"},{\"location\":\"Penang - Hatyai (Local Time)\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":750,\"child\":750,\"extra\":0,\"pickup\":null,\"depart\":\"05:00:00\",\"return\":\"09:30:00\"},{\"location\":\"Penang - Hatyai (Local Time)\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":750,\"child\":750,\"extra\":0,\"pickup\":null,\"depart\":\"08:30:00\",\"return\":\"12:30:00\"},{\"location\":\"Penang - Hatyai (Local Time)\",\"type\":\"Shared Transfer\",\"operator\":\"Jolly Travel\",\"adult\":750,\"child\":750,\"extra\":0,\"pickup\":null,\"depart\":\"12:30:00\",\"return\":\"15:30:00\"},{\"location\":\"Hatyai Airport - Hatyai Hotel (Car)\",\"type\":\"Private Transfer\",\"operator\":\"Jolly Travel\",\"adult\":800,\"child\":800,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Hatyai Airport - Hatyai Hotel (Van)\",\"type\":\"Private Transfer\",\"operator\":\"Jolly Travel\",\"adult\":1200,\"child\":1200,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Hatyai \\\/ Trang (Car) - Pakbara\",\"type\":\"Private Transfer\",\"operator\":\"Jolly Travel\",\"adult\":2000,\"child\":2000,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Hatyai \\\/ Trang (Van) - Pakbara\",\"type\":\"Private Transfer\",\"operator\":\"Jolly Travel\",\"adult\":2500,\"child\":2500,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Krabi City \\\/ Ao-Nang (Van) - Pakbara\",\"type\":\"Private Transfer\",\"operator\":\"Jolly Travel\",\"adult\":5500,\"child\":5500,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Phuket \\\/ Suratthani - Pakbara (Van)\",\"type\":\"Private Transfer\",\"operator\":\"Jolly Travel\",\"adult\":7500,\"child\":7500,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Phuket Patong, Chalong, Rawai (Van)\",\"type\":\"Private Transfer\",\"operator\":\"Jolly Travel\",\"adult\":8000,\"child\":8000,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Penang - Pakbara (Van)\",\"type\":\"Private Transfer\",\"operator\":\"Jolly Travel\",\"adult\":8500,\"child\":8500,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Hatyai Town - Penang (Van)\",\"type\":\"Private Transfer\",\"operator\":\"Jolly Travel\",\"adult\":8000,\"child\":8000,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Pakbara - Koh Lipe\",\"type\":\"Shared Speedboat\",\"operator\":\"Jolly Travel\",\"adult\":700,\"child\":650,\"extra\":0,\"pickup\":null,\"depart\":\"11:30:00\",\"return\":\"09:30:00\"},{\"location\":\"Pakbara - Koh Lipe\",\"type\":\"Shared Speedboat\",\"operator\":\"Jolly Travel\",\"adult\":700,\"child\":650,\"extra\":0,\"pickup\":null,\"depart\":\"13:30:00\",\"return\":\"11:30:00\"},{\"location\":\"Pakbara - Koh Lipe\",\"type\":\"Shared Speedboat\",\"operator\":\"Jolly Travel\",\"adult\":700,\"child\":650,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":\"13:30:00\"},{\"location\":\"Hatyai City, Hatyai Airport to Pakbara Pier\",\"type\":\"Transfer Guide Service\",\"operator\":\"Jolly Travel\",\"adult\":1500,\"child\":1500,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null},{\"location\":\"Hatyai City, Hatyai Airport to Koh Lipe\",\"type\":\"Transfer Guide Service\",\"operator\":\"Jolly Travel\",\"adult\":2100,\"child\":2100,\"extra\":0,\"pickup\":null,\"depart\":null,\"return\":null}];\n\n            jQuery(document).ready(function($) {\n                $('#vanRouteSelect').select2({                     width: 'resolve',                     dropdownCssClass: \"smart-dropdown-wrapper\",                     placeholder: function(){ return $(this).data('placeholder'); }\n                });\n            });\n\n            function searchVanSchedules() {\n                const route = document.getElementById('vanRouteSelect').value;\n                const departDate = document.getElementById('vanDepartDate').value;\n                const resultsBox = document.getElementById('schedule-results');\n                const container = document.getElementById('userDepartTimeContainer');\n\n                if (!route || !departDate) { \n                    alert(\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07\u0e41\u0e25\u0e30\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07\u0e43\u0e2b\u0e49\u0e04\u0e23\u0e1a\u0e16\u0e49\u0e27\u0e19\u0e04\u0e23\u0e31\u0e1a\"); \n                    return; \n                }\n                \n                resultsBox.style.display = 'block';\n                let availableVans = dbVanSchedules.filter(v => v.location === route);\n                let htmlDepart = '';\n\n                if (availableVans.length === 0) {\n                    htmlDepart = '<p style=\"color:#ef4444; padding:20px; text-align:center;\">\u26a0\ufe0f \u0e44\u0e21\u0e48\u0e21\u0e35\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e23\u0e16\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07\u0e19\u0e35\u0e49<\/p>';\n                } else {\n                    availableVans.forEach((v, index) => {\n                        \/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21 v.pickup \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e43\u0e19 value \u0e02\u0e2d\u0e07 radio\n                        const val = `${index}|${v.adult}|${v.child}|${v.extra}|${v.type}|${v.operator}|${v.depart}|${v.return}|${v.pickup}`;\n                        \n                        \/\/ \u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e31\u0e14\u0e40\u0e23\u0e35\u0e22\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e40\u0e27\u0e25\u0e32\u0e2d\u0e31\u0e08\u0e09\u0e23\u0e34\u0e22\u0e30\n                        let timeText = \"\";\n                        if (v.pickup && v.pickup !== \"00:00:00\") timeText += `\u0e40\u0e27\u0e25\u0e32\u0e23\u0e31\u0e1a: ${formatTime(v.pickup)} `;\n                        if (v.depart && v.depart !== \"00:00:00\") timeText += (timeText ? \"| \" : \"\") + `\u0e2d\u0e2d\u0e01\u0e23\u0e16: ${formatTime(v.depart)} `;\n                        if (v.return && v.return !== \"00:00:00\") timeText += (timeText ? \"| \" : \"\") + `\u0e02\u0e32\u0e01\u0e25\u0e31\u0e1a: ${formatTime(v.return)}`;\n                        if (!timeText) timeText = \"\u0e23\u0e31\u0e1a\u0e2a\u0e48\u0e07\u0e15\u0e32\u0e21\u0e23\u0e2d\u0e1a\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14\";\n\n                        let priceText = v.extra > 0 ? `+ Extra Charge ${v.extra} \u0e3f` : `\u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48 ${v.adult} \u0e3f \/ \u0e40\u0e14\u0e47\u0e01 ${v.child} \u0e3f`;\n\n                        htmlDepart += `\n                            <label class=\"radio-label\">\n                                <div style=\"display:flex; align-items:center;\">\n                                    <input type=\"radio\" name=\"userDepartTime\" value=\"${val}\" onchange=\"calculateVanTotal()\">\n                                    <div class=\"route-details\">\n                                        <strong>${v.type} (${v.operator})<\/strong><br>\n                                        <span style=\"color:#0f766e; font-size: 13px;\"><i class=\"fa-regular fa-clock\"><\/i> ${timeText}<\/span><br>\n                                        <small style=\"color:#64748b;\">${priceText}<\/small>\n                                    <\/div>\n                                <\/div>\n                                <span class=\"period-badge\"><i class=\"fa-solid fa-van-shuttle\"><\/i> \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e16\u0e04\u0e31\u0e19\u0e19\u0e35\u0e49<\/span>\n                            <\/label>`;\n                    });\n                }\n                container.innerHTML = htmlDepart; \n                document.getElementById('userTotalPrice').innerText = \"0 \u0e1a\u0e32\u0e17\";\n                document.getElementById('lineBookingBtn').classList.add('disabled');\n                document.getElementById('formBookingBtn').classList.add('disabled');\n            }\n\n            \/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e43\u0e2b\u0e49\u0e2a\u0e48\u0e07\u0e40\u0e27\u0e25\u0e32\u0e23\u0e31\u0e1a\u0e40\u0e02\u0e49\u0e32 LINE \u0e14\u0e49\u0e27\u0e22\n            function sendVanToLine(e) {\n                e.preventDefault();\n                if (document.getElementById('lineBookingBtn').classList.contains('disabled')) return;\n                \n                const route = document.getElementById('vanRouteSelect').value;\n                const departDate = document.getElementById('vanDepartDate').value;\n                const adults = document.getElementById('vanAdults').value;\n                const children = document.getElementById('vanChildren').value;\n                \n                const parts = document.querySelector('input[name=\"userDepartTime\"]:checked').value.split('|');\n                const serviceType = parts[4];\n                const operator = parts[5];\n                const pickupTime = parts[8];\n\n                let text = `\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35\u0e04\u0e48\u0e30 \u0e2a\u0e19\u0e43\u0e08\u0e08\u0e2d\u0e07\u0e23\u0e16\u0e23\u0e31\u0e1a\u0e2a\u0e48\u0e07 Lipe Lovers \u0e04\u0e48\u0e30\\n\ud83d\udccd \u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07: ${route}\\n\ud83d\ude90 \u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23: ${serviceType} (${operator})\\n\ud83d\udcc5 \u0e27\u0e31\u0e19\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07: ${formatThaiDate(departDate)}\\n\ud83d\udc65 \u0e1c\u0e39\u0e49\u0e42\u0e14\u0e22\u0e2a\u0e32\u0e23: \u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48 ${adults} \u0e17\u0e48\u0e32\u0e19`;\n                if (children > 0) text += `, \u0e40\u0e14\u0e47\u0e01 ${children} \u0e17\u0e48\u0e32\u0e19`;\n                \n                if (pickupTime && pickupTime !== \"null\" && pickupTime !== \"00:00:00\") {\n                    text += `\\n\u23f0 \u0e40\u0e27\u0e25\u0e32\u0e23\u0e31\u0e1a\u0e17\u0e35\u0e48\u0e42\u0e0b\u0e19: ${formatTime(pickupTime)}`;\n                }\n                \n                text += `\\n\ud83d\udcb0 \u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21: ${document.getElementById('userTotalPrice').innerText}`;\n\n                window.open(lineOfficialAccountUrl + \"?text=\" + encodeURIComponent(text), '_blank');\n            }\n\n            function calculateVanTotal() {\n                const adults = parseInt(document.getElementById('vanAdults').value) || 0;\n                const children = parseInt(document.getElementById('vanChildren').value) || 0;\n                const paxTotal = adults + children;\n                \n                const selectedRadio = document.querySelector('input[name=\"userDepartTime\"]:checked');\n                const priceDisplay = document.getElementById('userTotalPrice');\n                const lineBtn = document.getElementById('lineBookingBtn');\n                const formBtn = document.getElementById('formBookingBtn');\n\n                if (!selectedRadio) return;\n                \n                const parts = selectedRadio.value.split('|');\n                const pAdult = parseFloat(parts[1]);\n                const pChild = parseFloat(parts[2]);\n                const pExtra = parseFloat(parts[3]);\n                const serviceType = parts[4];\n                \n                let totalPrice = 0;\n\n                if (pExtra > 0) {\n                    if (serviceType.includes('Private')) {\n                        totalPrice = pExtra; \n                    } else {\n                        totalPrice = pExtra * paxTotal; \n                    }\n                } else {\n                    totalPrice = (adults * pAdult) + (children * pChild);\n                }\n\n                priceDisplay.innerText = totalPrice.toLocaleString() + \" \u0e1a\u0e32\u0e17\";\n                lineBtn.classList.remove('disabled'); \n                formBtn.classList.remove('disabled');\n                \n                lineBtn.setAttribute('onclick', 'sendVanToLine(event)');\n            }\n\n            function sendVanToLine(e) {\n                e.preventDefault();\n                if (document.getElementById('lineBookingBtn').classList.contains('disabled')) return;\n                \n                const route = document.getElementById('vanRouteSelect').value;\n                const departDate = document.getElementById('vanDepartDate').value;\n                const adults = document.getElementById('vanAdults').value;\n                const children = document.getElementById('vanChildren').value;\n                \n                const parts = document.querySelector('input[name=\"userDepartTime\"]:checked').value.split('|');\n                const serviceType = parts[4];\n                const operator = parts[5];\n\n                let text = `\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35\u0e04\u0e48\u0e30 \u0e2a\u0e19\u0e43\u0e08\u0e08\u0e2d\u0e07\u0e23\u0e16\u0e23\u0e31\u0e1a\u0e2a\u0e48\u0e07 Lipe Lovers \u0e04\u0e48\u0e30\\n\ud83d\udccd \u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07: ${route}\\n\ud83d\ude90 \u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23: ${serviceType} (${operator})\\n\ud83d\udcc5 \u0e27\u0e31\u0e19\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07: ${formatThaiDate(departDate)}\\n\ud83d\udc65 \u0e1c\u0e39\u0e49\u0e42\u0e14\u0e22\u0e2a\u0e32\u0e23: \u0e1c\u0e39\u0e49\u0e43\u0e2b\u0e0d\u0e48 ${adults} \u0e17\u0e48\u0e32\u0e19`;\n                if (children > 0) text += `, \u0e40\u0e14\u0e47\u0e01 ${children} \u0e17\u0e48\u0e32\u0e19`;\n                text += `\\n\ud83d\udcb0 \u0e22\u0e2d\u0e14\u0e23\u0e27\u0e21: ${document.getElementById('userTotalPrice').innerText}`;\n\n                window.open(lineOfficialAccountUrl + \"?text=\" + encodeURIComponent(text), '_blank');\n            }\n        <\/script>\n        <\/div>\n\t\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":34,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-10","page","type-page","status-publish","has-post-thumbnail"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Online Ferry Booking Operated by Lipe Lovers - Online Ferry Booking Operated by Lipe Lovers<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lipeferry.com\/en\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Online Ferry Booking Operated by Lipe Lovers - Online Ferry Booking Operated by Lipe Lovers\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lipeferry.com\/en\/\" \/>\n<meta property=\"og:site_name\" content=\"Online Ferry Booking Operated by Lipe Lovers\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-21T01:15:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lipeferry.com\/wp-content\/uploads\/2026\/09\/\u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c\u0e17\u0e35\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d-1-1024x576.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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.lipeferry.com\\\/\",\"url\":\"https:\\\/\\\/www.lipeferry.com\\\/\",\"name\":\"Online Ferry Booking Operated by Lipe Lovers - Online Ferry Booking Operated by Lipe Lovers\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lipeferry.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lipeferry.com\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lipeferry.com\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lipeferry.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/\u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c\u0e17\u0e35\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d-1.png\",\"datePublished\":\"2026-09-20T07:33:13+00:00\",\"dateModified\":\"2026-09-21T01:15:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lipeferry.com\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lipeferry.com\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lipeferry.com\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lipeferry.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/\u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c\u0e17\u0e35\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d-1.png\",\"contentUrl\":\"https:\\\/\\\/www.lipeferry.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/\u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c\u0e17\u0e35\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d-1.png\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lipeferry.com\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lipeferry.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Online Ferry Booking Operated by Lipe Lovers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lipeferry.com\\\/#website\",\"url\":\"https:\\\/\\\/www.lipeferry.com\\\/\",\"name\":\"Online Ferry Booking Operated by Lipe Lovers\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lipeferry.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Online Ferry Booking Operated by Lipe Lovers - Online Ferry Booking Operated by Lipe Lovers","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lipeferry.com\/en\/","og_locale":"en_US","og_type":"article","og_title":"Online Ferry Booking Operated by Lipe Lovers - Online Ferry Booking Operated by Lipe Lovers","og_url":"https:\/\/www.lipeferry.com\/en\/","og_site_name":"Online Ferry Booking Operated by Lipe Lovers","article_modified_time":"2026-09-21T01:15:56+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/www.lipeferry.com\/wp-content\/uploads\/2026\/09\/\u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c\u0e17\u0e35\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d-1-1024x576.png","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.lipeferry.com\/","url":"https:\/\/www.lipeferry.com\/","name":"Online Ferry Booking Operated by Lipe Lovers - Online Ferry Booking Operated by Lipe Lovers","isPartOf":{"@id":"https:\/\/www.lipeferry.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lipeferry.com\/#primaryimage"},"image":{"@id":"https:\/\/www.lipeferry.com\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lipeferry.com\/wp-content\/uploads\/2026\/09\/\u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c\u0e17\u0e35\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d-1.png","datePublished":"2026-09-20T07:33:13+00:00","dateModified":"2026-09-21T01:15:56+00:00","breadcrumb":{"@id":"https:\/\/www.lipeferry.com\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lipeferry.com\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lipeferry.com\/#primaryimage","url":"https:\/\/www.lipeferry.com\/wp-content\/uploads\/2026\/09\/\u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c\u0e17\u0e35\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d-1.png","contentUrl":"https:\/\/www.lipeferry.com\/wp-content\/uploads\/2026\/09\/\u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c\u0e17\u0e35\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d-1.png","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/www.lipeferry.com\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lipeferry.com\/"},{"@type":"ListItem","position":2,"name":"Online Ferry Booking Operated by Lipe Lovers"}]},{"@type":"WebSite","@id":"https:\/\/www.lipeferry.com\/#website","url":"https:\/\/www.lipeferry.com\/","name":"Online Ferry Booking Operated by Lipe Lovers","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lipeferry.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.lipeferry.com\/en\/wp-json\/wp\/v2\/pages\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lipeferry.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lipeferry.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lipeferry.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lipeferry.com\/en\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":53,"href":"https:\/\/www.lipeferry.com\/en\/wp-json\/wp\/v2\/pages\/10\/revisions"}],"predecessor-version":[{"id":115,"href":"https:\/\/www.lipeferry.com\/en\/wp-json\/wp\/v2\/pages\/10\/revisions\/115"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lipeferry.com\/en\/wp-json\/wp\/v2\/media\/34"}],"wp:attachment":[{"href":"https:\/\/www.lipeferry.com\/en\/wp-json\/wp\/v2\/media?parent=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}