{"id":785,"date":"2026-08-14T17:55:00","date_gmt":"2026-08-14T10:55:00","guid":{"rendered":"https:\/\/www.reserve.bs-mobile.jp\/?page_id=785"},"modified":"2026-09-01T01:08:41","modified_gmt":"2026-08-31T18:08:41","slug":"reserve","status":"publish","type":"page","link":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/","title":{"rendered":"Sign Up"},"content":{"rendered":"<div class=\"bsf-root\">\r\n<div id=\"form-wrap\">\r\n<div class=\"layout\">\r\n\r\n  <!-- MAIN COL -->\r\n  <div id=\"main-col\">\r\n\r\n    <!-- 1. customer details (moved to the top) -->\r\n    <div class=\"card\">\r\n      <!-- Member summary is the top of THIS card, not a separate card stacked above \u2014 a signed-in\r\n           member sees one section. Hidden for guests. The single sign-out button lives here now,\r\n           so the old LINE-linked identity strip below is no longer shown (see bsfLineShowLinked). -->\r\n      <div id=\"mb-body\" class=\"mb-card\" style=\"display:none\">\n\n  <div class=\"mb-top\">\n    <img decoding=\"async\" id=\"mb-avatar\" alt=\"\" src=\"\" style=\"display:none\">\n    <div class=\"mb-top-txt\">\n      <div class=\"mb-hello\">Hello <span id=\"mb-name\">\u2014<\/span><\/div>\n      <div class=\"mb-sub\" id=\"mb-sub\"><\/div>\n    <\/div>\n    <span class=\"mb-badge\" id=\"mb-tier\">Member<\/span>\n  <\/div>\n\n  <!-- Loyalty tier: paid+returned spend inside the qualifying window \u2192 tier, with a bar to the\n       next one, plus the date the oldest counted spend lapses (that is when the tier can fall). -->\n  <div class=\"mb-tier-row\" id=\"mb-tier-row\" style=\"display:none\">\n    <div class=\"mb-tier-head\">\n      <span class=\"mb-tier-spend\">Total spend <strong id=\"mb-tier-spend\">0<\/strong> THB<span id=\"mb-tier-cycle\"><\/span><\/span>\n      <span class=\"mb-tier-next\" id=\"mb-tier-next\"><\/span>\n    <\/div>\n    <div class=\"mb-tier-bar\"><div class=\"mb-tier-fill\" id=\"mb-tier-fill\"><\/div><\/div>\n    <div class=\"mb-tier-exp\" id=\"mb-tier-exp\" style=\"display:none\"><\/div>\n  <\/div>\n\n  <div class=\"mb-points\">\n    <div class=\"mb-points-col\">\n      <div class=\"mb-points-lbl\">Points<\/div>\n      <div class=\"mb-points-num\" id=\"mb-points\">0<\/div>\n      <div class=\"mb-points-unit\">pts<\/div>\n    <\/div>\n    <div class=\"mb-points-div\"><\/div>\n    <div class=\"mb-points-col\">\n      <div class=\"mb-points-lbl\">Worth as a discount<\/div>\n      <div class=\"mb-points-num\" id=\"mb-points-baht\">0<\/div>\n      <div class=\"mb-points-unit\">THB<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"mb-expiring\" id=\"mb-expiring\" style=\"display:none\"><\/div>\n\n  <!-- 0.22.0 \u2014 points are one wallet PER SITE. The big number above is this site's wallet, the\n       one the booking form can actually spend; anything the customer earned on a sister site is\n       listed here so it is visible without ever looking spendable in the wrong place. Hidden\n       entirely for the (large) majority who have only ever booked here. -->\n  <div class=\"mb-wallets\" id=\"mb-wallets\" style=\"display:none\"><\/div>\n\n  <!-- 0.24.0 \u2014 the codes this customer owns, so a review reward survives the tab it was revealed\n       in (\"\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e43\u0e19\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\u0e40\u0e25\u0e22 \u0e40\u0e1c\u0e37\u0e48\u0e2d\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\u0e21\u0e32\u0e25\u0e47\u0e2d\u0e01\u0e2d\u0e34\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e01\u0e47\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22\"). Filled from\n       \/bsf\/v1\/my-codes, hidden when there are none. -->\n  <div class=\"mb-codes\" id=\"mb-codes\" style=\"display:none\"><\/div>\n\n  <!-- Shown only to a member who signed in with the email code (key m:<m_id>): they cannot be\n       messaged and get none of the LINE-only perks. Linking merges the two records, so their\n       points carry over and there is nothing to lose by doing it. -->\n  <div class=\"mb-line-pitch\" id=\"mb-line-pitch\" style=\"display:none\">\n    <div class=\"mlp-txt\">\n      <strong>Want reminders on LINE?<\/strong>\n      Your member benefits are already active \u2014 discounts and points included. Connecting LINE only adds reminders: pickup and return dates, and anything still waiting to be paid.    <\/div>\n    <button type=\"button\" class=\"mlp-btn\" onclick=\"mbLinkLine()\">\n      <svg class=\"line-mark\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"#fff\" d=\"M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.594.12.303.079.778.038 1.083l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314\"\/><path fill=\"#06C755\" d=\"M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629\"\/><\/svg>      <span>Connect LINE<\/span>\n    <\/button>\n  <\/div>\n\n  \n  <button type=\"button\" class=\"mb-toggle\" id=\"mb-toggle-history\" onclick=\"mbToggle('mb-history')\">\n    See my booking history  <\/button>\n\n  <div id=\"mb-history\" class=\"mb-fold\" style=\"display:none\">\n    <div id=\"mb-bookings\"><div class=\"no-results\">Loading...<\/div><\/div>\n  <\/div>\n\n  <div class=\"mb-foot\">\n    <button type=\"button\" class=\"btn-logout\" onclick=\"mbLogout()\">\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 17l5-5-5-5M20 12H9M12 20H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h6\"\/><\/svg>\n      <span>Sign out<\/span>\n    <\/button>\n  <\/div>\n<\/div>\n\r\n      <!-- LINE Login \u2014 prefills name\/email so the customer types less -->\r\n      <div id=\"line-login-box\" style=\"display:none\">\r\n        \r\n        <!-- Login pattern (2026-08-31, mockup \"Standard\").\r\n             \u0e40\u0e14\u0e34\u0e21\u0e01\u0e32\u0e23\u0e4c\u0e14\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e1b\u0e23\u0e30\u0e42\u0e22\u0e0a\u0e19\u0e4c\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2a\u0e38\u0e14\u0e41\u0e25\u0e49\u0e27\u0e1b\u0e38\u0e48\u0e21\u0e2d\u0e22\u0e39\u0e48\u0e25\u0e48\u0e32\u0e07 \u0e0b\u0e36\u0e48\u0e07\u0e2d\u0e48\u0e32\u0e19\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e41\u0e1a\u0e19\u0e40\u0e19\u0e2d\u0e23\u0e4c\u0e42\u0e06\u0e29\u0e13\u0e32\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e08\u0e38\u0e14\r\n             \u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a \u2014 \u0e04\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e27\u0e32\u0e14\u0e15\u0e32\u0e1c\u0e48\u0e32\u0e19\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c 4 \u0e02\u0e49\u0e2d\u0e01\u0e48\u0e2d\u0e19\u0e08\u0e30\u0e40\u0e08\u0e2d\u0e1b\u0e38\u0e48\u0e21\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07\r\n             \u0e2a\u0e25\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19: \u0e1b\u0e38\u0e48\u0e21\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19 (\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e1a\u0e2d\u0e01\u0e27\u0e48\u0e32\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e43\u0e2b\u0e21\u0e48\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19) \u0e2a\u0e34\u0e17\u0e18\u0e34\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e25\u0e07\u0e25\u0e48\u0e32\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e2b\u0e15\u0e38\u0e1c\u0e25\r\n             \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a \u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48\u0e1e\u0e23\u0e30\u0e40\u0e2d\u0e01 \u00b7 \u0e01\u0e32\u0e23\u0e4c\u0e14\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c\u0e22\u0e31\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e31\u0e27\u0e40\u0e14\u0e34\u0e21\u0e17\u0e38\u0e01\u0e2d\u0e22\u0e48\u0e32\u0e07 \u0e41\u0e04\u0e48\u0e22\u0e49\u0e32\u0e22\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07 -->\r\n        <div class=\"lp-auth\">\r\n          <!-- 0.14.11 Tom: \u0e15\u0e31\u0e14\u0e04\u0e33\u0e42\u0e1b\u0e23\u0e22\u0e43\u0e15\u0e49\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d\u0e2d\u0e2d\u0e01 (auth_lead \/ auth_lead2) \u2014 \u0e1b\u0e38\u0e48\u0e21\u0e1a\u0e2d\u0e01\u0e04\u0e23\u0e1a\u0e41\u0e25\u0e49\u0e27\u0e27\u0e48\u0e32\r\n               \u0e17\u0e33\u0e2d\u0e30\u0e44\u0e23\u0e44\u0e14\u0e49 (\"\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\/\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01\" \u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e1b\u0e38\u0e48\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2a\u0e2d\u0e07\u0e43\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 0.14.7)\r\n               \u0e04\u0e35\u0e22\u0e4c\u0e22\u0e31\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e44\u0e1f\u0e25\u0e4c\u0e41\u0e1b\u0e25\u0e17\u0e31\u0e49\u0e07 3 \u0e20\u0e32\u0e29\u0e32 \u0e40\u0e2d\u0e32\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e44\u0e14\u0e49\u0e16\u0e49\u0e32\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e43\u0e08 -->\r\n          <h3 class=\"lp-auth-hd\">Sign in or create an account<\/h3>\r\n\r\n          <div class=\"lp-auth-btns\">\r\n\r\n            <button type=\"button\" class=\"btn-line btn-line-full lp-auth-btn\" onclick=\"bsfLineLogin()\">\r\n              <svg class=\"line-mark\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"#fff\" d=\"M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.594.12.303.079.778.038 1.083l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314\"\/><path fill=\"#06C755\" d=\"M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629\"\/><\/svg>              <span class=\"lp-auth-txt\">\r\n                <span class=\"lp-auth-main\">Sign in \/ Sign up<\/span>\r\n                <small>with LINE<\/small>\r\n              <\/span>\r\n            <\/button>\r\n\r\n                        <!-- Email one-time code \u2014 the door for the ~177,600 legacy bs_member customers who do\r\n                 not use LINE, and since 0.14.1 the sign-up door for everyone else too.\r\n                 id=\"mail-login-toggle\" stays on this button: bsf-form.js hides that id after a\r\n                 successful sign-in. There is no password in this flow \u2014 it mails a 6-digit code. -->\r\n            <button type=\"button\" class=\"btn-mail btn-mail-full lp-auth-btn\" id=\"mail-login-toggle\" onclick=\"bsfMailToggle()\">\r\n              <svg class=\"mail-mark\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><rect x=\"1\" y=\"3\" width=\"22\" height=\"18\" rx=\"3\" fill=\"currentColor\"\/><path d=\"M3.2 6.4 L12 12.9 L20.8 6.4\" fill=\"none\" stroke=\"#C8102E\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>              <span class=\"lp-auth-txt\">\r\n                <span class=\"lp-auth-main\">Sign in \/ Sign up<\/span>\r\n                <small>with Email<\/small>\r\n              <\/span>\r\n            <\/button>\r\n            \r\n          <\/div>\r\n                    <div id=\"mail-login-box\" style=\"display:none\">\r\n            <div class=\"ml-step\" id=\"ml-step-email\">\r\n              <label class=\"ml-label\">Your email<\/label>\r\n              <div class=\"ml-row\">\r\n                <input type=\"email\" id=\"ml-email\" placeholder=\"you@example.com\" autocomplete=\"email\"\r\n                       onkeydown=\"if(event.key==='Enter'){event.preventDefault();bsfMailRequest()}\">\r\n                <button type=\"button\" class=\"ml-btn\" id=\"ml-send\" onclick=\"bsfMailRequest()\">Send code<\/button>\r\n              <\/div>\r\n              <div class=\"ml-hint\">We will email a 6-digit code to this address. No password needed \u2014 new customers can sign up right here.<\/div>\r\n            <\/div>\r\n\r\n            <div class=\"ml-step\" id=\"ml-step-code\" style=\"display:none\">\r\n              <label class=\"ml-label\">6-digit code from the email<\/label>\r\n              <div class=\"ml-row\">\r\n                <input type=\"text\" id=\"ml-code\" inputmode=\"numeric\" maxlength=\"6\" placeholder=\"______\"\r\n                       autocomplete=\"one-time-code\"\r\n                       oninput=\"this.value=this.value.replace(\/\\D\/g,'');if(this.value.length===6)bsfMailVerify()\">\r\n                <button type=\"button\" class=\"ml-btn\" id=\"ml-verify\" onclick=\"bsfMailVerify()\">Verify<\/button>\r\n              <\/div>\r\n              <div class=\"ml-hint\" id=\"ml-sent-to\"><\/div>\r\n              <button type=\"button\" class=\"ml-again\" onclick=\"bsfMailBack()\">Change email or resend the code<\/button>\r\n            <\/div>\r\n\r\n            <div class=\"ml-msg\" id=\"ml-msg\" style=\"display:none\"><\/div>\r\n          <\/div>\r\n                  <\/div>\r\n\r\n        <!-- \u0e2a\u0e34\u0e17\u0e18\u0e34\u0e1e\u0e34\u0e40\u0e28\u0e29: \u0e01\u0e32\u0e23\u0e4c\u0e14\u0e15\u0e31\u0e27\u0e40\u0e14\u0e34\u0e21\u0e17\u0e38\u0e01\u0e2d\u0e22\u0e48\u0e32\u0e07 \u0e22\u0e49\u0e32\u0e22\u0e25\u0e07\u0e21\u0e32\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e15\u0e49\u0e1b\u0e38\u0e48\u0e21\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a (2026-08-31)\r\n             \u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2a\u0e38\u0e14\u0e41\u0e25\u0e49\u0e27\u0e21\u0e31\u0e19\u0e41\u0e22\u0e48\u0e07\u0e04\u0e27\u0e32\u0e21\u0e2b\u0e21\u0e32\u0e22\u0e02\u0e2d\u0e07 section \u0e44\u0e1b \u2014 \u0e04\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e27\u0e32\u0e14\u0e15\u0e32\u0e1c\u0e48\u0e32\u0e19\r\n             \u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c 4 \u0e02\u0e49\u0e2d\u0e01\u0e48\u0e2d\u0e19\u0e08\u0e30\u0e40\u0e08\u0e2d\u0e1b\u0e38\u0e48\u0e21\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07 \u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e2b\u0e15\u0e38\u0e1c\u0e25\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e17\u0e35\u0e48\u0e22\u0e31\u0e07\u0e40\u0e2b\u0e47\u0e19\u0e2d\u0e22\u0e39\u0e48 \u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48\u0e1e\u0e23\u0e30\u0e40\u0e2d\u0e01 -->\r\n        <div class=\"line-perks lp-collapsed\">\r\n\r\n    <div class=\"lp-head\">\r\n    <span class=\"lp-eyebrow\">Member benefits<\/span>\r\n            <button type=\"button\" class=\"lp-fold\" aria-expanded=\"false\"\r\n            data-open=\"Hide the details\"\r\n            data-shut=\"See all 4 benefits\">\r\n      <span class=\"lp-fold-txt\">See all 4 benefits<\/span>\r\n      <span class=\"lp-fold-chev\" aria-hidden=\"true\"><\/span>\r\n    <\/button>\r\n  <\/div>\r\n  \r\n  <div class=\"lp-benefits\">\r\n        <div class=\"lp-benefit\">\r\n      <span class=\"lp-ico\">%<\/span>\r\n      <span class=\"lp-txt\">\r\n        <span class=\"lp-title\">New member welcome discount<span class=\"lp-off\">20% off<\/span><\/span>\r\n        <span class=\"lp-detail\">Applied the moment you sign in \u2014 no code to type<\/span>\r\n      <\/span>\r\n    <\/div>\r\n        <div class=\"lp-benefit\">\r\n      <span class=\"lp-ico\">\u2605<\/span>\r\n      <span class=\"lp-txt\">\r\n        <span class=\"lp-title\">Birthday month discount<span class=\"lp-off\">25% off<\/span><\/span>\r\n        <span class=\"lp-detail\">Every year, in your birthday month<\/span>\r\n      <\/span>\r\n    <\/div>\r\n        <div class=\"lp-benefit\">\r\n      <span class=\"lp-ico\">P<\/span>\r\n      <span class=\"lp-txt\">\r\n        <span class=\"lp-title\">Points on every booking<\/span>\r\n        <span class=\"lp-detail\">100 THB = 1 point (1 point = 1 THB)<\/span>\r\n      <\/span>\r\n    <\/div>\r\n        <div class=\"lp-benefit\">\r\n      <span class=\"lp-ico\">\u2713<\/span>\r\n      <span class=\"lp-txt\">\r\n        <span class=\"lp-title\">Fill it in once, that is it<\/span>\r\n        <span class=\"lp-detail\">Next time the form fills itself in \u00b7 see your history, check status and pay anything outstanding<\/span>\r\n      <\/span>\r\n    <\/div>\r\n      <\/div>\r\n\r\n    <button type=\"button\" class=\"lp-pts-info\" onclick=\"bsfOpenPtsModal()\">\r\n    <span class=\"lp-pts-q\" aria-hidden=\"true\">?<\/span>How points work  <\/button>\r\n<\/div>\r\n\r\n        <div class=\"line-or\" id=\"line-or\"><span>or fill in the form yourself<\/span><\/div>\r\n      <\/div>\r\n      <div id=\"line-linked\" style=\"display:none\">\r\n        <img decoding=\"async\" id=\"line-avatar\" alt=\"\" src=\"\">\r\n        <div class=\"line-linked-txt\">\r\n          <div class=\"line-linked-name\" id=\"line-name\">\u2014<\/div>\r\n          <div class=\"line-linked-sub\">LINE connected<\/div>\r\n        <\/div>\r\n        <button type=\"button\" class=\"btn-logout\" onclick=\"bsfLineUnlink()\">\r\n          <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 17l5-5-5-5M20 12H9M12 20H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h6\"\/><\/svg>\r\n          <span>Sign out<\/span>\r\n        <\/button>\r\n      <\/div>\r\n      <!-- signed in but not a friend of the OA \u2192 nothing we send can reach them -->\r\n      <div id=\"line-friend-note\" style=\"display:none\">\r\n        <div class=\"lfn-txt\">\r\n          <strong>You have not added our LINE account yet<\/strong>\r\n          Add us as a friend to get booking alerts, points and discounts \u2014 right now we cannot message you.        <\/div>\r\n        <a id=\"line-friend-add\" class=\"lfn-btn\" href=\"#\" target=\"_blank\" rel=\"noopener\">Add friend<\/a>\r\n      <\/div>\r\n\r\n      <!-- \u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d \"\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\" \u0e22\u0e49\u0e32\u0e22\u0e25\u0e07\u0e21\u0e32\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48 (2026-08-31)\r\n           \u0e40\u0e14\u0e34\u0e21\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e4c\u0e14 \u21d2 \u0e2a\u0e34\u0e48\u0e07\u0e41\u0e23\u0e01\u0e17\u0e35\u0e48\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\u0e40\u0e2b\u0e47\u0e19\u0e04\u0e37\u0e2d \"\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\" \u0e17\u0e31\u0e49\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e04\u0e27\u0e23\u0e17\u0e33\u0e01\u0e48\u0e2d\u0e19\r\n           \u0e04\u0e37\u0e2d\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a (\u0e41\u0e25\u0e49\u0e27\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e15\u0e34\u0e21\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e2b\u0e49\u0e40\u0e2d\u0e07) \u00b7 \u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e41\u0e16\u0e1a\u0e19\u0e35\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d\u0e02\u0e2d\u0e07 \"\u0e01\u0e23\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e2d\u0e07\"\r\n           \u0e42\u0e14\u0e22\u0e15\u0e23\u0e07 \u0e15\u0e48\u0e2d\u0e08\u0e32\u0e01 .line-or \u0e1e\u0e2d\u0e14\u0e35 \u0e2a\u0e48\u0e27\u0e19\u0e1a\u0e19\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e4c\u0e14\u0e40\u0e23\u0e34\u0e48\u0e21\u0e17\u0e35\u0e48 \"\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01\" \u0e40\u0e25\u0e22\r\n           \u0e04\u0e25\u0e32\u0e2a .mid = \u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48\u0e25\u0e39\u0e01\u0e41\u0e23\u0e01\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e4c\u0e14\u0e41\u0e25\u0e49\u0e27 \u0e08\u0e36\u0e07\u0e15\u0e49\u0e2d\u0e07\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 margin-top \u0e15\u0e34\u0e14\u0e25\u0e1a\u0e43\u0e19 CSS -->\r\n      <div class=\"card-title has-sub mid\">Your details<\/div>\r\n      <div class=\"card-sub\">Name and contact details \u2014 used to confirm the booking, deliver the device and issue the receipt.<\/div>\r\n\r\n      <input type=\"hidden\" id=\"lineUserId\" value=\"\">\r\n\r\n      <div class=\"ctype-row\">\r\n        <label class=\"radio-opt\">\r\n          <input type=\"radio\" name=\"ctype\" value=\"personal\" checked onchange=\"onCtypeChange(this)\">\r\n          <span>Individual<\/span>\r\n        <\/label>\r\n        <label class=\"radio-opt\">\r\n          <input type=\"radio\" name=\"ctype\" value=\"corporate\" onchange=\"onCtypeChange(this)\">\r\n          <span>Company<\/span>\r\n        <\/label>\r\n      <\/div>\r\n      <div class=\"hint\" style=\"margin-bottom:14px\">\u203b Choose Company if you need a company receipt \/ tax invoice.<\/div>\r\n\r\n      <div class=\"form-row col2\" style=\"margin-bottom:14px\">\r\n        <div class=\"field\" style=\"margin:0\" id=\"fname-wrap\">\r\n          <label>First name <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"text\" placeholder=\"First name\" id=\"fname\" oninput=\"clearFErr('fname-wrap','fname-err');mbPushProfile()\">\r\n          <div id=\"fname-err\" class=\"err-msg\" style=\"display:none\">Please enter your first name<\/div>\r\n        <\/div>\r\n        <div class=\"field\" style=\"margin:0\" id=\"lname-wrap\">\r\n          <label>Last name <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"text\" placeholder=\"Last name\" id=\"lname\" oninput=\"clearFErr('lname-wrap','lname-err');mbPushProfile()\">\r\n          <div id=\"lname-err\" class=\"err-msg\" style=\"display:none\">Please enter your last name<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- corporate -->\r\n      <div id=\"corporate-fields\" style=\"display:none;margin-bottom:14px\">\r\n        <div class=\"form-row col2\">\r\n          <div class=\"field\" style=\"margin:0\" id=\"company-wrap\">\r\n            <label>Company name <span class=\"req\">*<\/span><\/label>\r\n            <input type=\"text\" placeholder=\"Company name\" id=\"companyName\" oninput=\"clearFErr('company-wrap','company-err');mbPushProfile()\">\r\n            <div id=\"company-err\" class=\"err-msg\" style=\"display:none\">Please enter the company name<\/div>\r\n          <\/div>\r\n          <div class=\"field\" style=\"margin:0\" id=\"tax-wrap\">\r\n            <label>TAX ID <span class=\"req\">*<\/span><\/label>\r\n            <input type=\"text\" placeholder=\"13 digits\" id=\"taxId\" maxlength=\"13\" inputmode=\"numeric\" oninput=\"clearFErr('tax-wrap','tax-err');mbPushProfile()\">\r\n            <div id=\"tax-err\" class=\"err-msg\" style=\"display:none\">TAX ID must be 13 digits<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <!-- company address (required for corporate only) -->\r\n        <div class=\"field\" style=\"margin:14px 0 0\" id=\"corp-addr-wrap\">\r\n          <label>Company address <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"text\" placeholder=\"Company address\" id=\"corpAddress\" oninput=\"clearFErr('corp-addr-wrap','corp-addr-err')\">\r\n          <div id=\"corp-addr-err\" class=\"err-msg\" style=\"display:none\">Please enter the company address<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- phone -->\r\n      <div class=\"field\" style=\"margin-bottom:14px\" id=\"phone-wrap\">\r\n        <label>Mobile number <span class=\"req\">*<\/span><\/label>\r\n        <div class=\"phone-wrap\">\r\n          <select id=\"phoneCode\" onchange=\"updatePhonePlaceholder()\">\r\n            <option value=\"+66\">+66 Thailand<\/option>\r\n            <option value=\"+81\">+81 Japan<\/option>\r\n            <option value=\"+82\">+82 South Korea<\/option>\r\n            <option value=\"+1\">+1 USA<\/option>\r\n            <option value=\"+44\">+44 UK<\/option>\r\n            <option value=\"+61\">+61 Australia<\/option>\r\n            <option value=\"+65\">+65 Singapore<\/option>\r\n            <option value=\"+60\">+60 Malaysia<\/option>\r\n            <option value=\"+86\">+86 China<\/option>\r\n            <option value=\"+852\">+852 Hong Kong<\/option>\r\n            <option value=\"+886\">+886 Taiwan<\/option>\r\n            <option value=\"+other\">Other<\/option>\r\n          <\/select>\r\n          <!-- \u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e2a\u0e48 0 \u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32: \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e41\u0e25\u0e49\u0e27 0 \u0e01\u0e31\u0e1a +66 \u0e04\u0e37\u0e2d\u0e2a\u0e34\u0e48\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e43\u0e2a\u0e48\u0e17\u0e31\u0e49\u0e07\u0e04\u0e39\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e42\u0e17\u0e23\u0e44\u0e21\u0e48\u0e15\u0e34\u0e14\r\n               \u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e01\u0e48\u0e32\u0e22\u0e31\u0e07\u0e40\u0e1b\u0e47\u0e19 0812345678 \u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e40\u0e14\u0e34\u0e21 (phoneOut \u0e40\u0e15\u0e34\u0e21\u0e43\u0e2b\u0e49) -->\r\n          <input type=\"tel\" id=\"phone\" placeholder=\"8X-XXX-XXXX\" class=\"field phone-input\" style=\"margin:0\" inputmode=\"numeric\" maxlength=\"9\" oninput=\"onPhoneInput(this)\">\r\n        <\/div>\r\n        <div class=\"hint\" id=\"phone-hint\"><\/div>\r\n        <div id=\"phone-err\" class=\"err-msg\" style=\"display:none\">Please enter your phone number<\/div>\r\n      <\/div>\r\n\r\n      <!-- email -->\r\n      <div class=\"field\" style=\"margin:0\" id=\"email-wrap\">\r\n        <label>Email <span class=\"req\">*<\/span><\/label>\r\n        <input type=\"email\" placeholder=\"email@example.com\" id=\"email\" oninput=\"clearFErr('email-wrap','email-err');mbPushProfile()\">\r\n        <div id=\"email-err\" class=\"err-msg\" style=\"display:none\">Please enter a valid email address<\/div>\r\n      <\/div>\r\n\r\n      <!-- birthday \u2014 drives the birthday-month discount (required once signed in) -->\r\n      <div class=\"field\" style=\"margin:14px 0 0\" id=\"bday-wrap\">\r\n        <label>Date of birth <span class=\"req\" id=\"bday-req\" style=\"display:none\">*<\/span><\/label>\r\n        <input type=\"date\" id=\"birthday\" onchange=\"clearFErr('bday-wrap','bday-err');mbPushProfile()\">\r\n        <div class=\"hint\">Used to give you a discount in your birthday month.<\/div>\r\n        <div id=\"bday-err\" class=\"err-msg\" style=\"display:none\">Please enter your date of birth<\/div>\r\n      <\/div>\r\n\r\n      <!-- customer address (NOT the delivery address) -->\r\n      <div class=\"field\" style=\"margin:14px 0 0\" id=\"custaddr-wrap\">\r\n        <label>Address <span class=\"req\" id=\"custaddr-req\" style=\"display:none\">*<\/span><\/label>\r\n        <input type=\"text\" id=\"custAddress\" placeholder=\"House no., soi, road, sub-district, district, province, postcode\"\r\n               oninput=\"clearFErr('custaddr-wrap','custaddr-err');mbPushProfile()\">\r\n        <div class=\"hint\">Address for the receipt \/ contact \u2014 the delivery address goes in the pickup &amp; return section.<\/div>\r\n        <div id=\"custaddr-err\" class=\"err-msg\" style=\"display:none\">Please enter your address<\/div>\r\n      <\/div>\r\n\r\n      <!-- members only: save the profile and pull the history\/points again -->\r\n      <div id=\"mb-update-wrap\" style=\"display:none\">\r\n        <button type=\"button\" class=\"mb-update\" onclick=\"mbSaveProfileNow()\">Update my details<\/button>\r\n        <div id=\"mb-update-msg\" class=\"mb-update-msg\" style=\"display:none\"><\/div>\r\n        <div class=\"hint\">Saved to your LINE account \u2014 next time the form is already filled in and your past bookings are pulled in.<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- 2. destination -->\r\n    <div class=\"card\">\r\n      <div class=\"card-title has-sub\">Destination<\/div>\r\n      <div class=\"card-sub\">Pick where you are travelling and we will show the packages and prices valid there.<\/div>\r\n\r\n      <!-- popular destinations \u2014 from bs_m_regions.r_popular (same source as the legacy form) -->\r\n      <div id=\"popular-wrap\" style=\"display:none\">\r\n        <div class=\"popular-title\">Popular destinations<\/div>\r\n        <div class=\"popular-grid\" id=\"popular-grid\"><\/div>\r\n        <div class=\"popular-or\"><span>or pick from all countries<\/span><\/div>\r\n      <\/div>\r\n\r\n      <div id=\"country-wrap\">\r\n        <!-- One chip per destination, each removable (0.12.9). The packages endpoint returns only\r\n             packages valid for EVERY country listed, so this really is one booking covering the\r\n             whole trip \u2014 not one booking per country. -->\r\n        <div class=\"ct-chips\" id=\"ct-chips\" style=\"display:none\"><\/div>\r\n        <div class=\"country-trigger\" id=\"countryTrigger\" onclick=\"openCountryModal()\">\r\n          <div class=\"ct-plus\" aria-hidden=\"true\">+<\/div>\r\n          <div class=\"ct-text\">\r\n            <div class=\"ct-label\">Destination<\/div>\r\n            <div class=\"ct-value\" id=\"triggerValue\">Choose where you are travelling...<\/div>\r\n          <\/div>\r\n          <div class=\"ct-arrow\">\u25bc<\/div>\r\n        <\/div>\r\n        <div id=\"country-err\" class=\"err-msg\" style=\"display:none\">Please choose a destination<\/div>\r\n      <\/div>\r\n      <!-- comma-separated ids; the booking itself records the package, never a country -->\r\n      <input type=\"hidden\" id=\"selectedCountry\" value=\"\">\r\n    <\/div>\r\n\r\n    <!-- 3. package + device count -->\r\n    <div class=\"card\">\r\n      <!-- 0.14.8 Tom: \u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d\u0e40\u0e14\u0e35\u0e22\u0e27\u0e1e\u0e2d \u2014 \u0e04\u0e33\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e40\u0e14\u0e34\u0e21 (\"\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e41\u0e1e\u0e47\u0e01\u0e40\u0e01\u0e08 WiFi \u0e17\u0e35\u0e48\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e01\u0e31\u0e1a\u0e1b\u0e23\u0e34\u0e21\u0e32\u0e13\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\")\r\n           \u0e1e\u0e39\u0e14\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e01\u0e32\u0e23\u0e4c\u0e14\u0e41\u0e1e\u0e47\u0e01\u0e40\u0e01\u0e08\u0e02\u0e49\u0e32\u0e07\u0e25\u0e48\u0e32\u0e07\u0e41\u0e2a\u0e14\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27\u0e04\u0e23\u0e1a\u0e17\u0e38\u0e01\u0e43\u0e1a (\u0e0a\u0e37\u0e48\u0e2d \u0e1b\u0e23\u0e34\u0e21\u0e32\u0e13\u0e40\u0e19\u0e47\u0e15 \u0e23\u0e32\u0e04\u0e32) -->\r\n      <div class=\"card-title\">Choose a package<\/div>\r\n      <!-- plan cards rendered by JS from \/reserve\/v1\/packages (renderPlanCards) -->\r\n      <div class=\"plan-grid\" id=\"plan-grid\"><\/div>\r\n      <div id=\"plan-no-country\" style=\"font-size:12px;color:var(--muted);margin-top:10px;text-align:center\">Choose a destination first to see prices<\/div>\r\n      <div id=\"plan-err\" class=\"err-msg\" style=\"display:none\">Please choose a package<\/div>\r\n\r\n      <!-- device count \u2014 plain stepper: no dropdown to clip, no native spinner arrows -->\r\n      <div class=\"qty-block\">\r\n        <div class=\"qty-label\">Number of devices <span style=\"color:var(--red)\">*<\/span><\/div>\r\n        <div class=\"qty-stepper\">\r\n          <button type=\"button\" class=\"qty-btn\" id=\"qty-minus\" onclick=\"qtyStep(-1)\" aria-label=\"Decrease\">\u2212<\/button>\r\n          <input type=\"text\" id=\"qty-input\" value=\"1\" inputmode=\"numeric\" autocomplete=\"off\"\r\n                 oninput=\"onQtyInput(this)\" onblur=\"onQtyBlur(this)\">\r\n          <button type=\"button\" class=\"qty-btn\" id=\"qty-plus\" onclick=\"qtyStep(1)\" aria-label=\"Increase\">+<\/button>\r\n          <span class=\"qty-unit\">device(s)<\/span>\r\n        <\/div>\r\n        <div id=\"qty-err\" class=\"err-msg\" style=\"display:none;margin-top:6px\">Please enter the number of devices (1-100)<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- 4. travel dates -->\r\n    <div class=\"card\">\r\n      <div class=\"card-title has-sub\">Travel dates<\/div>\r\n      <div class=\"card-sub\">Choose your departure and return dates.<\/div>\r\n      <div class=\"date-row\">\r\n        <div class=\"field\" style=\"margin:0\">\r\n          <label>Departure date <span class=\"req\">*<\/span><\/label>\r\n          <div id=\"dateStart-wrap\">\r\n            <input type=\"date\" id=\"dateStart\" onchange=\"onDateStartChange();clearFErr('dateStart-wrap','dateStart-err')\">\r\n          <\/div>\r\n          <div id=\"dateStart-err\" class=\"err-msg\" style=\"display:none\">Please choose a departure date<\/div>\r\n        <\/div>\r\n        <div class=\"date-arrow\">\u2192<\/div>\r\n        <div class=\"field\" style=\"margin:0\">\r\n          <label>Date back home <span class=\"req\">*<\/span><\/label>\r\n          <div id=\"dateEnd-wrap\">\r\n            <input type=\"date\" id=\"dateEnd\" disabled onchange=\"calcDuration();clearFErr('dateEnd-wrap','dateEnd-err')\" style=\"background:#F5F7FA;cursor:not-allowed\">\r\n          <\/div>\r\n          <div id=\"dateEnd-err\" class=\"err-msg\" style=\"display:none\">Please choose a return date<\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"duration-badge\" id=\"durationBadge\" style=\"display:none\"><\/div>\r\n\r\n      <!-- Same-day pickup (0.14.0, from muaythai-wifi-booking).\r\n           dateStart is capped at tomorrow, and until now the form said nothing about it: a\r\n           customer who needed a device TODAY just found the date greyed out and left. Shown while\r\n           no date is picked yet or when the earliest bookable day is selected \u2014 i.e. exactly the\r\n           people in a hurry \u2014 and hidden once they pick a later date. syncSameDayBox() drives it. -->\r\n      <div class=\"sd-box\" id=\"sameDayBox\">\r\n        <div class=\"sd-hd\">\r\n          <svg class=\"sd-ico\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 7v5l3 2\"><\/path><\/svg>\r\n          <span>Need the device today?<\/span>\r\n        <\/div>\r\n        <div class=\"sd-tx\">Please book at least one day in advance. If you need the device today, just contact our staff and we will arrange it for you.<\/div>\r\n        <div class=\"sd-act\">\r\n          <a class=\"sd-btn sd-line\" id=\"sd-line-btn\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\">Chat on LINE<\/a>\r\n          <a class=\"sd-btn sd-tel\" id=\"sd-tel-btn\" href=\"#\">Call 02-491-0000<\/a>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- 5. pickup \/ return -->\r\n    <div id=\"pickwrap\">\r\n      <div class=\"ch\">Pickup &amp; return \u2014 place and time<\/div>\r\n\r\n      <!-- \u2500\u2500 PICKUP \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n      <div class=\"loc-card\" id=\"pk-card\" style=\"border-radius:0;margin-bottom:0;border-top:none\">\r\n        <div class=\"loc-card-hd\">\r\n          <span class=\"loc-card-title\">Pickup<\/span>\r\n          <span class=\"loc-card-val\" id=\"pk-card-val\">\u2014 not selected \u2014<\/span>\r\n        <\/div>\r\n        <div class=\"loc-card-body\" id=\"pk-card-body\">\r\n\r\n          <!-- 0.14.0: three method cards replace the two labelled chip groups. The old shape made\r\n               \"\u0e08\u0e31\u0e14\u0e2a\u0e48\u0e07 EMS\" a chip sitting next to city chips, so choosing delivery looked like\r\n               choosing a fifth city, and it took two taps to reach the address form. Now the first\r\n               question (how) is asked once, and only the branch route asks a second one (where). -->\r\n          <div class=\"locprompt\">How would you like to collect the device?<\/div>\r\n          <div class=\"method-grid\" id=\"pk-methods\">\r\n            <div class=\"method-card on\" id=\"pk-method-point\" role=\"button\" tabindex=\"0\" aria-pressed=\"true\" onclick=\"selMethod('pk','point')\">\r\n              <div class=\"method-ico\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 21s7-7.58 7-12a7 7 0 1 0-14 0c0 4.42 7 12 7 12z\"><\/path><circle cx=\"12\" cy=\"9\" r=\"2.4\"><\/circle><\/svg><\/div>\r\n              <div class=\"method-text\">\r\n                <div class=\"method-title\">Collect in person<\/div>\r\n                <div class=\"method-sub\">Branch, airport or service point<\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"method-card\" id=\"pk-method-ship\" role=\"button\" tabindex=\"0\" aria-pressed=\"false\" onclick=\"selMethod('pk','ship')\">\r\n              <div class=\"method-ico\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 8l-9-5-9 5 9 5 9-5z\"><\/path><path d=\"M3 8v8l9 5 9-5V8\"><\/path><path d=\"M12 13v8\"><\/path><\/svg><\/div>\r\n              <div class=\"method-text\">\r\n                <div class=\"method-title\">EMS delivery<\/div>\r\n                <div class=\"method-sub\">To your hotel, anywhere in Thailand \u00b7 free<span class=\"tag\" id=\"pk-tag-ship\"><\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"method-card\" id=\"pk-method-msg\" role=\"button\" tabindex=\"0\" aria-pressed=\"false\" onclick=\"selMethod('pk','msg')\">\r\n              <div class=\"method-ico\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"5.5\" cy=\"17.5\" r=\"2.5\"><\/circle><circle cx=\"18.5\" cy=\"17.5\" r=\"2.5\"><\/circle><path d=\"M15 17.5H8\"><\/path><path d=\"M3 17.5V10l3-6h5l2 5h3.5l2.5 4v4.5\"><\/path><path d=\"M11 4v6h7\"><\/path><\/svg><\/div>\r\n              <div class=\"method-text\">\r\n                <div class=\"method-title\">Messenger<\/div>\r\n                <div class=\"method-sub\">Inner Bangkok districts \u00b7 free<span class=\"tag\" id=\"pk-tag-msg\"><\/span><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"chips chip-groups\" id=\"pk-chips\">\r\n            <!-- branch route: which city, then which branch. Revealed by selMethod('pk','point'). -->\r\n            <div class=\"locgrp\" id=\"pk-grp-point\">\r\n              <span class=\"chip-group-lbl\">Pickup points<\/span>\r\n              <div class=\"chip-row\">\r\n                <span class=\"chip on\" data-key=\"bkk\" role=\"button\" tabindex=\"0\" onclick=\"fcity(this,'bkk')\">Greater Bangkok<\/span>\r\n                <span class=\"chip\" data-key=\"cnx\" role=\"button\" tabindex=\"0\" onclick=\"fcity(this,'cnx')\">Chiang Mai<\/span>\r\n                <span class=\"chip\" data-key=\"hkt\" role=\"button\" tabindex=\"0\" onclick=\"fcity(this,'hkt')\">Phuket<\/span>\r\n                <span class=\"chip\" data-key=\"ptya\" role=\"button\" tabindex=\"0\" onclick=\"fcity(this,'ptya')\">Chonburi<\/span>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <!-- State carriers for the two delivery methods. The method cards above are what the\r\n                 customer sees, but fcity(), renderChipAvailability() and updateShipAvailability()\r\n                 all operate on .chip elements inside #pk-chips \u2014 keeping these (hidden) means none\r\n                 of that logic had to be rewritten to gain the new UI. -->\r\n            <div class=\"chip-carriers\" style=\"display:none\" aria-hidden=\"true\">\r\n              <span class=\"chip\" data-key=\"ship\" onclick=\"fcity(this,'ship')\"><\/span>\r\n              <span class=\"chip\" data-key=\"msg\" onclick=\"fcity(this,'msg')\"><\/span>\r\n            <\/div>\r\n\r\n            <!-- Follow-up panels sit inside #pk-chips, under the question that opens them (0.12.9).\r\n                 Every id is unchanged, which is why fcity() in bsf-form.js needs no edit. -->\r\n            <!-- branch -->\r\n            <div id=\"pk-loc-wrap\">\r\n              <div class=\"f\" style=\"margin-bottom:10px\">\r\n                <label>Choose a pickup location <span class=\"r\">*<\/span><\/label>\r\n                <div id=\"pk-loc-f\">\r\n                  <select id=\"pk-loc\" onchange=\"onPickLoc()\">\r\n                    <option value=\"\">\u2014 choose a pickup point \u2014<\/option>\r\n                  <\/select>\r\n                <\/div>\r\n                <div id=\"pk-loc-err\" class=\"err-msg\" style=\"display:none\">Please choose a location<\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div id=\"pk-single\" style=\"display:none;margin-bottom:12px\">\r\n              <div class=\"popt on\" style=\"cursor:default;pointer-events:none\">\r\n                <div class=\"prad\"><span style=\"width:6px;height:6px;background:#fff;border-radius:50%;display:block;margin:auto\"><\/span><\/div>\r\n                <div><div class=\"pnm pk-single-name\"><\/div><div class=\"phr pk-single-sub\"><\/div><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <!-- branch: date + time -->\r\n            <div id=\"pk-time-wrap\" style=\"display:none;margin-top:14px\">\r\n              <div class=\"fr c2\" style=\"margin-bottom:0\">\r\n                <div class=\"f\" id=\"pkDate-branch-f\">\r\n                  <label>Pickup date <span class=\"r\">*<\/span><\/label>\r\n                  <input type=\"date\" id=\"pkDate-branch\" disabled\r\n                    style=\"background:#F5F7FA;cursor:not-allowed\"\r\n                    onchange=\"S.pkDate=this.value;updateSummary();clearFErr('pkDate-branch-f','pkDate-branch-err')\">\r\n                  <div id=\"pkDate-branch-err\" class=\"err-msg\" style=\"display:none\">Please choose a pickup date<\/div>\r\n                  <div style=\"font-size:11px;color:var(--muted);margin-top:4px\">Collect up to 2 days before departure<\/div>\r\n                <\/div>\r\n                <div class=\"f\" id=\"ptime-f\">\r\n                  <label>Pickup time <span class=\"r\">*<\/span><\/label>\r\n                  <select id=\"ptime\" onchange=\"S.pt=this.value;clearFErr('ptime-f','ptime-err')\">\r\n                    <option value=\"\">\u2014 choose a time \u2014<\/option>\r\n                  <\/select>\r\n                  <div id=\"ptime-err\" class=\"err-msg\" style=\"display:none\">Please choose a pickup time<\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <!-- EMS delivery -->\r\n            <div id=\"shipadr\" style=\"display:none\">\r\n              <div class=\"fg\" style=\"margin-bottom:0\">\r\n                <div class=\"fgt\"><span>Delivery address<\/span><\/div>\r\n                <!-- legacy form charges no shipping fee (final = wifi+ins+bat only) \u2014 banner mirrors that -->\r\n                <div class=\"ib y\" style=\"margin-top:0;margin-bottom:12px\"><span>Delivery is free \u2014 no extra charge<\/span><\/div>\r\n                <div class=\"fr\" style=\"margin-bottom:10px\">\r\n                  <div class=\"f\" id=\"sa-addr-f\">\r\n                    <label>Address <span class=\"r\">*<\/span><\/label>\r\n                    <input id=\"sa-addr\" type=\"text\" placeholder=\"House no., soi, moo, road\" oninput=\"clearFErr('sa-addr-f','sa-addr-err')\">\r\n                    <div id=\"sa-addr-err\" class=\"err-msg\" style=\"display:none\">Please enter the address<\/div>\r\n                  <\/div>\r\n                <\/div>\r\n                <div class=\"fr c2\" style=\"margin-bottom:10px\">\r\n                  <div class=\"f\" id=\"sa-prov-f\">\r\n                    <label>Province <span class=\"r\">*<\/span><\/label>\r\n                    <input id=\"sa-prov\" type=\"text\" placeholder=\"Province...\" oninput=\"clearFErr('sa-prov-f','sa-prov-err')\">\r\n                    <div id=\"sa-prov-err\" class=\"err-msg\" style=\"display:none\">Please enter the province<\/div>\r\n                  <\/div>\r\n                  <div class=\"f\" id=\"sa-dist-f\">\r\n                    <label>District <span class=\"r\">*<\/span><\/label>\r\n                    <input id=\"sa-dist\" type=\"text\" placeholder=\"District...\" oninput=\"clearFErr('sa-dist-f','sa-dist-err')\">\r\n                    <div id=\"sa-dist-err\" class=\"err-msg\" style=\"display:none\">Please enter the district<\/div>\r\n                  <\/div>\r\n                <\/div>\r\n                <div class=\"fr c2\" style=\"margin-bottom:10px\">\r\n                  <div class=\"f\" id=\"sa-sub-f\">\r\n                    <label>Sub-district <span class=\"r\">*<\/span><\/label>\r\n                    <input id=\"sa-sub\" type=\"text\" placeholder=\"Sub-district...\" oninput=\"clearFErr('sa-sub-f','sa-sub-err')\">\r\n                    <div id=\"sa-sub-err\" class=\"err-msg\" style=\"display:none\">Please enter the sub-district<\/div>\r\n                  <\/div>\r\n                  <div class=\"f\" id=\"sa-zip-f\">\r\n                    <label>Postcode <span class=\"r\">*<\/span><\/label>\r\n                    <input id=\"sa-zip\" type=\"text\" inputmode=\"numeric\" maxlength=\"5\" placeholder=\"*****\" oninput=\"validateZip(this,'sa-zip-f','sa-zip-err')\">\r\n                    <div id=\"sa-zip-err\" class=\"err-msg\" style=\"display:none\">Please enter the postcode<\/div>\r\n                  <\/div>\r\n                <\/div>\r\n                <div class=\"fr\" style=\"margin-bottom:0\">\r\n                  <div class=\"f\">\r\n                    <label>Dispatch date<\/label>\r\n                    <div id=\"ship-date-display\" style=\"padding:10px 13px;border:1.5px solid var(--border);border-radius:10px;font-size:13px;background:#F5F7FA;color:var(--muted)\">\r\n                      Set automatically once you choose your travel dates                    <\/div>\r\n                    <div style=\"font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5\"><span style=\"color:var(--red);font-weight:600\">*<\/span> This is the date the device leaves the SAMURAI WiFi Ploenchit office.<\/div>\r\n                    <input type=\"hidden\" id=\"pkDate-ship\">\r\n                  <\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <!-- messenger -->\r\n            <div id=\"msgzone\" style=\"display:none;margin-bottom:12px\">\r\n              <div class=\"ib b\" style=\"margin-top:0;align-items:center;gap:8px\">\r\n                <span style=\"font-size:13px\">Messenger is free \u00b7<\/span>\r\n                <span onclick=\"openMsgZoneModal()\" style=\"color:var(--red);font-weight:600;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px\">service area<\/span>\r\n                <span style=\"font-size:12px;color:#1A4F8A\">\u00b7 Mon-Fri only<\/span>\r\n              <\/div>\r\n            <\/div>\r\n            <div id=\"msgadr\" style=\"display:none\">\r\n              <div class=\"fg\" style=\"margin-bottom:0\">\r\n                <div class=\"fgt\"><span>Delivery address (messenger)<\/span><\/div>\r\n                <div class=\"fr\" style=\"margin-bottom:10px\">\r\n                  <div class=\"f\" id=\"ma-addr-f\">\r\n                    <label>Address <span class=\"r\">*<\/span><\/label>\r\n                    <input id=\"ma-addr\" type=\"text\" placeholder=\"House no., soi, moo, road\" oninput=\"clearFErr('ma-addr-f','ma-addr-err')\">\r\n                    <div id=\"ma-addr-err\" class=\"err-msg\" style=\"display:none\">Please enter the address<\/div>\r\n                  <\/div>\r\n                <\/div>\r\n                <div class=\"fr c2\" style=\"margin-bottom:10px\">\r\n                  <div class=\"f\" id=\"ma-dist-f\">\r\n                    <label>District <span class=\"r\">*<\/span><\/label>\r\n                    <input id=\"ma-dist\" type=\"text\" placeholder=\"District name...\" oninput=\"chkMsgZone();clearFErr('ma-dist-f','ma-dist-err')\">\r\n                    <div id=\"ma-dist-err\" class=\"err-msg\" style=\"display:none\">Please enter the district<\/div>\r\n                  <\/div>\r\n                  <div class=\"f\" id=\"ma-sub-f\">\r\n                    <label>Sub-district <span class=\"r\">*<\/span><\/label>\r\n                    <input id=\"ma-sub\" type=\"text\" placeholder=\"Sub-district...\" oninput=\"clearFErr('ma-sub-f','ma-sub-err')\">\r\n                    <div id=\"ma-sub-err\" class=\"err-msg\" style=\"display:none\">Please enter the sub-district<\/div>\r\n                  <\/div>\r\n                <\/div>\r\n                <div class=\"fr c2\" style=\"margin-bottom:10px\">\r\n                  <div class=\"f\">\r\n                    <label>Province<\/label>\r\n                    <input type=\"text\" value=\"Bangkok\" readonly>\r\n                  <\/div>\r\n                  <div class=\"f\" id=\"ma-zip-f\">\r\n                    <label>Postcode <span class=\"r\">*<\/span><\/label>\r\n                    <input id=\"ma-zip\" type=\"text\" inputmode=\"numeric\" maxlength=\"5\" placeholder=\"10***\" oninput=\"validateZip(this,'ma-zip-f','ma-zip-err')\">\r\n                    <div id=\"ma-zip-err\" class=\"err-msg\" style=\"display:none\">Please enter the postcode<\/div>\r\n                  <\/div>\r\n                <\/div>\r\n                <div id=\"msg-zone-ok\" class=\"ib g\" style=\"display:none;margin-top:0\"><span>This district is inside the free messenger area<\/span><\/div>\r\n                <div id=\"msg-zone-no\" class=\"ib\" style=\"display:none;margin-top:0;background:#FFF0F2;border-color:#F9A8B0;color:#9B1C2A\"><span>This district is outside the service area \u2014 please choose EMS delivery instead<\/span><\/div>\r\n                <div class=\"fr\" style=\"margin-top:10px;margin-bottom:0\">\r\n                  <div class=\"f\" id=\"pkDate-msg-f\">\r\n                    <label>Delivery appointment date <span class=\"r\">*<\/span><\/label>\r\n                    <input type=\"date\" id=\"pkDate-msg\" disabled style=\"background:#F5F7FA;cursor:not-allowed\"\r\n                      onchange=\"S.pkDate=this.value;clearFErr('pkDate-msg-f','pkDate-msg-err')\">\r\n                    <div id=\"pkDate-msg-err\" class=\"err-msg\" style=\"display:none\">Please choose a delivery date<\/div>\r\n                    <div style=\"font-size:11px;color:var(--muted);margin-top:4px\">Book up to 3 days before departure<\/div>\r\n                  <\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div id=\"pk-loc-outer-err\" class=\"err-msg\" style=\"display:none;margin-top:8px\">Please choose how to collect the device<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- \u2500\u2500 RETURN \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n      <div class=\"loc-card\" id=\"rt-card\" style=\"border-radius:0 0 10px 10px;margin-bottom:16px;border-top:none\">\r\n        <div class=\"loc-card-hd\" id=\"rt-card-hd\">\r\n          <span class=\"loc-card-title\">Return<\/span>\r\n          <span class=\"loc-card-val\" id=\"rt-card-val\">\u2014 not selected \u2014<\/span>\r\n        <\/div>\r\n        <div class=\"loc-card-body\" id=\"rt-card-body\">\r\n\r\n          <label class=\"same-loc-row\" id=\"same-loc-label\">\r\n            <input type=\"checkbox\" id=\"sameLocChk\" onchange=\"onSameLocChange()\">\r\n            <span>Return at the same location as pickup<\/span>\r\n          <\/label>\r\n\r\n          <!-- preview when checked -->\r\n          <div id=\"same-loc-preview\" style=\"display:none\">\r\n            <div class=\"same-loc-preview\">\r\n              <div class=\"slp-name\" id=\"slp-name\">\u2014<\/div>\r\n              <div class=\"slp-sub\" id=\"slp-sub\"><\/div>\r\n            <\/div>\r\n            <!-- a return TIME is still required even when the place is the same -->\r\n            <div class=\"fr c2\" style=\"margin-bottom:0\">\r\n              <div class=\"f\" id=\"rtDate-same-f\">\r\n                <label>Return date <span class=\"r\">*<\/span><\/label>\r\n                <input type=\"date\" id=\"rtDate-same\" disabled style=\"background:#F5F7FA;cursor:not-allowed\"\r\n                  onchange=\"S.rtDate=this.value;clearFErr('rtDate-same-f','rtDate-same-err')\">\r\n                <div id=\"rtDate-same-err\" class=\"err-msg\" style=\"display:none\">Please choose a return date<\/div>\r\n                <div style=\"font-size:11px;color:var(--muted);margin-top:4px\">Return within 2 days of getting back<\/div>\r\n              <\/div>\r\n              <div class=\"f\" id=\"rtime-same-f\">\r\n                <label>Return time <span class=\"r\">*<\/span><\/label>\r\n                <select id=\"rtime-same\" onchange=\"S.rt=this.value;clearFErr('rtime-same-f','rtime-same-err')\">\r\n                  <option value=\"\">\u2014 choose a time \u2014<\/option>\r\n                <\/select>\r\n                <div id=\"rtime-same-err\" class=\"err-msg\" style=\"display:none\">Please choose a return time<\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <!-- returning somewhere else -->\r\n          <div id=\"rt-custom-wrap\">\r\n\r\n            <div class=\"locprompt\">How would you like to return it?<\/div>\r\n            <div class=\"method-grid\" id=\"rt-methods\">\r\n              <div class=\"method-card\" id=\"rt-method-point\" role=\"button\" tabindex=\"0\" aria-pressed=\"false\" onclick=\"selMethod('rt','point')\">\r\n                <div class=\"method-ico\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 21s7-7.58 7-12a7 7 0 1 0-14 0c0 4.42 7 12 7 12z\"><\/path><circle cx=\"12\" cy=\"9\" r=\"2.4\"><\/circle><\/svg><\/div>\r\n                <div class=\"method-text\">\r\n                  <div class=\"method-title\">Drop off in person<\/div>\r\n                  <div class=\"method-sub\">Branch, airport or service point<\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"method-card\" id=\"rt-method-ship\" role=\"button\" tabindex=\"0\" aria-pressed=\"false\" onclick=\"selMethod('rt','ship')\">\r\n                <div class=\"method-ico\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 8l-9-5-9 5 9 5 9-5z\"><\/path><path d=\"M3 8v8l9 5 9-5V8\"><\/path><path d=\"M12 13v8\"><\/path><\/svg><\/div>\r\n                <div class=\"method-text\">\r\n                  <div class=\"method-title\">EMS delivery<\/div>\r\n                  <div class=\"method-sub\">Send it back by post \u00b7 free<span class=\"tag\" id=\"rt-tag-ship\"><\/span><\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"method-card\" id=\"rt-method-msg\" role=\"button\" tabindex=\"0\" aria-pressed=\"false\" onclick=\"selMethod('rt','msg')\">\r\n                <div class=\"method-ico\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"5.5\" cy=\"17.5\" r=\"2.5\"><\/circle><circle cx=\"18.5\" cy=\"17.5\" r=\"2.5\"><\/circle><path d=\"M15 17.5H8\"><\/path><path d=\"M3 17.5V10l3-6h5l2 5h3.5l2.5 4v4.5\"><\/path><path d=\"M11 4v6h7\"><\/path><\/svg><\/div>\r\n                <div class=\"method-text\">\r\n                  <div class=\"method-title\">Messenger<\/div>\r\n                  <div class=\"method-sub\">We collect it from you \u00b7 free<span class=\"tag\" id=\"rt-tag-msg\"><\/span><\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"chips chip-groups\" id=\"rt-chips\">\r\n              <div class=\"locgrp\" id=\"rt-grp-point\">\r\n                <span class=\"chip-group-lbl\">Return points<\/span>\r\n                <div class=\"chip-row\">\r\n                  <span class=\"chip\" data-key=\"bkk\" role=\"button\" tabindex=\"0\" onclick=\"fcityRt(this,'bkk')\">Greater Bangkok<\/span>\r\n                  <span class=\"chip\" data-key=\"cnx\" role=\"button\" tabindex=\"0\" onclick=\"fcityRt(this,'cnx')\">Chiang Mai<\/span>\r\n                  <span class=\"chip\" data-key=\"hkt\" role=\"button\" tabindex=\"0\" onclick=\"fcityRt(this,'hkt')\">Phuket<\/span>\r\n                  <span class=\"chip\" data-key=\"ptya\" role=\"button\" tabindex=\"0\" onclick=\"fcityRt(this,'ptya')\">Chonburi<\/span>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <div class=\"chip-carriers\" style=\"display:none\" aria-hidden=\"true\">\r\n                <span class=\"chip\" data-key=\"ship\" onclick=\"fcityRt(this,'ship')\"><\/span>\r\n                <span class=\"chip\" data-key=\"msg\" onclick=\"fcityRt(this,'msg')\"><\/span>\r\n              <\/div>\r\n\r\n              <div id=\"rt-loc-wrap\" style=\"display:none\">\r\n                <div class=\"f\" style=\"margin-bottom:10px\">\r\n                  <label>Choose a return location <span class=\"r\">*<\/span><\/label>\r\n                  <div id=\"rt-loc-f\">\r\n                    <select id=\"rt-loc\" onchange=\"onRetLoc()\">\r\n                      <option value=\"\">\u2014 choose a return point \u2014<\/option>\r\n                    <\/select>\r\n                  <\/div>\r\n                  <div id=\"rt-loc-err\" class=\"err-msg\" style=\"display:none\">Please choose a location<\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div id=\"rt-single\" style=\"display:none\">\r\n                <div class=\"popt on\" style=\"cursor:default;pointer-events:none;margin-bottom:12px\">\r\n                  <div class=\"prad\"><span style=\"width:6px;height:6px;background:#fff;border-radius:50%;display:block;margin:auto\"><\/span><\/div>\r\n                  <div><div class=\"pnm rt-single-name\"><\/div><div class=\"phr rt-single-sub\"><\/div><\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <!-- branch: return date + time -->\r\n              <div id=\"rt-time-wrap\" style=\"display:none;margin-top:8px\">\r\n                <div class=\"fr c2\" style=\"margin-bottom:0\">\r\n                  <div class=\"f\" id=\"rtDate-f\">\r\n                    <label>Return date <span class=\"r\">*<\/span><\/label>\r\n                    <input type=\"date\" id=\"rtDate\" disabled style=\"background:#F5F7FA;cursor:not-allowed\"\r\n                      onchange=\"S.rtDate=this.value;clearFErr('rtDate-f','rtDate-err')\">\r\n                    <div id=\"rtDate-err\" class=\"err-msg\" style=\"display:none\">Please choose a return date<\/div>\r\n                    <div style=\"font-size:11px;color:var(--muted);margin-top:4px\">Return within 2 days of getting back<\/div>\r\n                  <\/div>\r\n                  <div class=\"f\" id=\"rtime-f\">\r\n                    <label>Return time <span class=\"r\">*<\/span><\/label>\r\n                    <select id=\"rtime\" onchange=\"S.rt=this.value;clearFErr('rtime-f','rtime-err')\">\r\n                      <option value=\"\">\u2014 choose a time \u2014<\/option>\r\n                    <\/select>\r\n                    <div id=\"rtime-err\" class=\"err-msg\" style=\"display:none\">Please choose a return time<\/div>\r\n                  <\/div>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <!-- return by post -->\r\n              <div id=\"rt-shipadr\" style=\"display:none\">\r\n                <div class=\"fg\" style=\"margin-bottom:10px\">\r\n                  <div class=\"fgt\"><span>Return address<\/span><\/div>\r\n                  <div class=\"fr\" style=\"margin-bottom:10px\">\r\n                    <div class=\"f\" style=\"font-size:13px;line-height:1.6;padding:10px 12px;background:#F0FDF4;border:1px solid #86EFAC;border-radius:8px\">\r\n                      <div style=\"margin-bottom:4px\">Return by post \u2014 send the device back to our head office (no address needed).<\/div>\r\n                      <b>Bangkok Samurai Co., Ltd. (Head Office)<\/b><br>73\/7 Soi Ruamrudee, Kwang Lumpini, Khet Phathumwan, Bangkok 10330<br>Tel. 02-491-0000\r\n                    <\/div>\r\n                  <\/div>\r\n                  <div class=\"fr\" style=\"margin-bottom:0\">\r\n                    <div class=\"f\" id=\"rtDate-ship-f\">\r\n                      <label>Return date <span class=\"r\">*<\/span><\/label>\r\n                      <input type=\"date\" id=\"rtDate-ship\" disabled style=\"background:#F5F7FA;cursor:not-allowed\"\r\n                        onchange=\"S.rtDate=this.value;clearFErr('rtDate-ship-f','rtDate-ship-err')\">\r\n                      <div id=\"rtDate-ship-err\" class=\"err-msg\" style=\"display:none\">Please choose a return date<\/div>\r\n                      <div style=\"font-size:11px;color:var(--muted);margin-top:4px\">Return within 2 days of getting back<\/div>\r\n                    <\/div>\r\n                  <\/div>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <!-- return by messenger -->\r\n              <div id=\"rt-msgadr\" style=\"display:none\">\r\n                <div class=\"ib b\" style=\"margin-bottom:12px;margin-top:0;align-items:center;gap:8px\">\r\n                  <span style=\"font-size:13px\">Messenger is free \u00b7<\/span>\r\n                  <span onclick=\"openMsgZoneModal()\" style=\"color:var(--red);font-weight:600;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px\">service area<\/span>\r\n                  <span style=\"font-size:12px;color:#1A4F8A\">\u00b7 Mon-Fri only<\/span>\r\n                <\/div>\r\n                <div class=\"fg\" style=\"margin-bottom:10px\">\r\n                  <div class=\"fgt\"><span>Collection address (messenger)<\/span><\/div>\r\n                  <div class=\"fr\" style=\"margin-bottom:10px\">\r\n                    <div class=\"f\" id=\"rma-addr-f\">\r\n                      <label>Address <span class=\"r\">*<\/span><\/label>\r\n                      <input id=\"rma-addr\" type=\"text\" placeholder=\"House no., soi, moo, road\" oninput=\"clearFErr('rma-addr-f','rma-addr-err')\">\r\n                      <div id=\"rma-addr-err\" class=\"err-msg\" style=\"display:none\">Please enter the address<\/div>\r\n                    <\/div>\r\n                  <\/div>\r\n                  <div class=\"fr c2\" style=\"margin-bottom:10px\">\r\n                    <div class=\"f\" id=\"rma-dist-f\">\r\n                      <label>District <span class=\"r\">*<\/span><\/label>\r\n                      <input id=\"rma-dist\" type=\"text\" placeholder=\"District name...\" oninput=\"clearFErr('rma-dist-f','rma-dist-err')\">\r\n                      <div id=\"rma-dist-err\" class=\"err-msg\" style=\"display:none\">Please enter the district<\/div>\r\n                    <\/div>\r\n                    <div class=\"f\" id=\"rma-sub-f\">\r\n                      <label>Sub-district <span class=\"r\">*<\/span><\/label>\r\n                      <input id=\"rma-sub\" type=\"text\" placeholder=\"Sub-district...\" oninput=\"clearFErr('rma-sub-f','rma-sub-err')\">\r\n                      <div id=\"rma-sub-err\" class=\"err-msg\" style=\"display:none\">Please enter the sub-district<\/div>\r\n                    <\/div>\r\n                  <\/div>\r\n                  <div class=\"fr c2\" style=\"margin-bottom:10px\">\r\n                    <div class=\"f\">\r\n                      <label>Province<\/label>\r\n                      <input type=\"text\" value=\"Bangkok\" readonly>\r\n                    <\/div>\r\n                    <div class=\"f\" id=\"rma-zip-f\">\r\n                      <label>Postcode <span class=\"r\">*<\/span><\/label>\r\n                      <input id=\"rma-zip\" type=\"text\" inputmode=\"numeric\" maxlength=\"5\" placeholder=\"10***\" oninput=\"validateZip(this,'rma-zip-f','rma-zip-err')\">\r\n                      <div id=\"rma-zip-err\" class=\"err-msg\" style=\"display:none\">Please enter the postcode<\/div>\r\n                    <\/div>\r\n                  <\/div>\r\n                  <div class=\"fr\" style=\"margin-bottom:0\">\r\n                    <div class=\"f\" id=\"rtDate-msg-f\">\r\n                      <label>Collection date <span class=\"r\">*<\/span><\/label>\r\n                      <input type=\"date\" id=\"rtDate-msg-rt\" disabled style=\"background:#F5F7FA;cursor:not-allowed\"\r\n                        onchange=\"S.rtDate=this.value;clearFErr('rtDate-msg-f','rtDate-msg-err')\">\r\n                      <div id=\"rtDate-msg-err\" class=\"err-msg\" style=\"display:none\">Please choose a collection date<\/div>\r\n                      <div style=\"font-size:11px;color:var(--muted);margin-top:4px\">Return within 2 days of getting back<\/div>\r\n                    <\/div>\r\n                  <\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div><!-- \/rt-custom-wrap -->\r\n\r\n          <div id=\"rt-outer-err\" class=\"err-msg\" style=\"display:none;margin-top:8px\">Please choose how to return the device<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div><!-- \/pickwrap -->\r\n\r\n    <!-- 6. rental options (br_insurance \/ br_battery) \u2014 right before the payment choice, so the\r\n         customer sees every line of the bill before picking how to pay. Hidden by JS when\r\n         CFG.options.enabled is 0. Fees are per device PER DAY, filled in from bs_define. -->\r\n    <div class=\"card\" id=\"options-card\">\r\n      <div class=\"card-title has-sub\">Optional extras<\/div>\r\n      <div class=\"card-sub\">Entirely optional \u00b7 charged per device per day<\/div>\r\n      <div id=\"rental-options\">\r\n        <label class=\"oopt\" id=\"oopt-ins\">\r\n          <input type=\"checkbox\" id=\"opt-insurance\" onchange=\"onOptChange('ins')\">\r\n          <span class=\"ochk\"><\/span>\r\n          <span class=\"obody\">\r\n            <span class=\"onm\">Device insurance<\/span>\r\n            <span class=\"ohr\">Covers damage or loss \u2014 you will not pay the full device price<\/span>\r\n          <\/span>\r\n          <span class=\"ofee\"><b id=\"opt-ins-fee\">\u2014<\/b> \u0e3f<span class=\"ounit\">\/device\/day<\/span><\/span>\r\n        <\/label>\r\n        <label class=\"oopt\" id=\"oopt-bat\">\r\n          <input type=\"checkbox\" id=\"opt-battery\" onchange=\"onOptChange('bat')\">\r\n          <span class=\"ochk\"><\/span>\r\n          <span class=\"obody\">\r\n            <span class=\"onm\">Power bank rental<\/span>\r\n            <span class=\"ohr\">High-capacity power bank, borrowed and returned with the device<\/span>\r\n          <\/span>\r\n          <span class=\"ofee\"><b id=\"opt-bat-fee\">\u2014<\/b> \u0e3f<span class=\"ounit\">\/device\/day<\/span><\/span>\r\n        <\/label>\r\n      <\/div>\r\n      <div id=\"opt-total-note\" style=\"display:none\">\r\n        <span>Extras total<\/span>\r\n        <span><b id=\"opt-total\">0<\/b> THB <span id=\"opt-total-detail\"><\/span><\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- 7. payment method (moved out of the sidebar to keep the right column short) -->\r\n    <div class=\"card\">\r\n      <div class=\"card-title has-sub\">Payment method<\/div>\r\n      <div class=\"card-sub\">Choose how to pay, then check the total once more before confirming.<\/div>\r\n      <div id=\"payment-methods\">\r\n        <label class=\"popt on\" id=\"popt-qr\" style=\"margin-bottom:10px\">\r\n          <input type=\"radio\" name=\"bsf_payment\" value=\"6\" checked onchange=\"onPaymentChange(this)\" style=\"display:none\">\r\n          <div><div class=\"pnm\">QR Payment (PromptPay)<\/div><div class=\"phr\">Scan and pay in your banking app<\/div><\/div>\r\n        <\/label>\r\n        <label class=\"popt\" id=\"popt-card\">\r\n          <input type=\"radio\" name=\"bsf_payment\" value=\"2\" onchange=\"onPaymentChange(this)\" style=\"display:none\">\r\n          <div><div class=\"pnm\">Credit card<\/div><div class=\"phr\">Visa \/ Mastercard \/ JCB<\/div><\/div>\r\n        <\/label>\r\n      <\/div>\r\n    <\/div>\r\n\r\n      <!-- consent \u2014 right after the payment choice, the last thing before confirming -->\r\n      <div class=\"consent-box\">\r\n        <label class=\"consent-row\">\r\n          <input type=\"checkbox\" id=\"chk-terms\">\r\n          <span>I have read and accept the            <span class=\"consent-link\" onclick=\"event.preventDefault();openLegalModal('terms')\">Terms &amp; Conditions<\/span>\r\n            and            <span class=\"consent-link\" onclick=\"event.preventDefault();openLegalModal('privacy')\">Privacy Policy<\/span>\r\n          <\/span>\r\n        <\/label>\r\n      <\/div>\r\n\r\n    <!-- 8. extra products (mobile position) -->\r\n    <div id=\"addon-section-mobile\">\r\n      <div class=\"card\">\r\n        <div class=\"card-title\">Extra products <span style=\"font-size:12px;font-weight:400;color:var(--muted);margin-left:4px\">optional<\/span><\/div>\r\n        <div class=\"addon-slider\" id=\"addon-grid\"><\/div>\r\n        <div id=\"addon-cart-summary\" style=\"display:none;margin-top:12px;border:1.5px solid #A7F3D0;border-radius:8px;overflow:hidden\">\r\n          <div id=\"addon-cart-items\"><\/div>\r\n          <div style=\"display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--green-light);font-size:13px;color:#065F46;font-weight:600;border-top:1px solid #A7F3D0\">\r\n            <span>Extra products total<\/span>\r\n            <span id=\"addon-cart-total\"><\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div><!-- \/main-col -->\r\n\r\n  <!-- SIDEBAR -->\r\n  <div id=\"sidebar\">\r\n    <div class=\"summary-card\">\r\n      <div class=\"summary-head\">Booking summary<\/div>\r\n      <div class=\"summary-body\">\r\n        <div class=\"summary-row\"><span class=\"label\">Destination<\/span><span class=\"val\" id=\"s-country\">\u2014<\/span><\/div>\r\n        <div class=\"summary-row\"><span class=\"label\">Departure<\/span><span class=\"val\" id=\"s-depart\">\u2014<\/span><\/div>\r\n        <div class=\"summary-row\"><span class=\"label\">Back home<\/span><span class=\"val\" id=\"s-arrive\">\u2014<\/span><\/div>\r\n        <div class=\"summary-row\"><span class=\"label\">Days<\/span><span class=\"val\" id=\"s-days\">\u2014<\/span><\/div>\r\n        <div class=\"summary-row\"><span class=\"label\">Package<\/span><span class=\"val\" id=\"s-plan\">\u2014<\/span><\/div>\r\n        <div class=\"summary-row\" id=\"s-addon-row\" style=\"display:none\">\r\n          <span class=\"label\">Extra products<\/span>\r\n          <span class=\"val\" id=\"s-addon\">\u2014<\/span>\r\n        <\/div>\r\n        <div class=\"summary-row\" id=\"s-ins-row\" style=\"display:none\">\r\n          <span class=\"label\">Device insurance<\/span>\r\n          <span class=\"val\" id=\"s-ins\">\u2014<\/span>\r\n        <\/div>\r\n        <div class=\"summary-row\" id=\"s-bat-row\" style=\"display:none\">\r\n          <span class=\"label\">Power bank rental<\/span>\r\n          <span class=\"val\" id=\"s-bat\">\u2014<\/span>\r\n        <\/div>\r\n        <div class=\"summary-row\" id=\"s-points-row\" style=\"display:none\">\r\n          <span class=\"label\" style=\"color:#059669\">Points used<\/span>\r\n          <span class=\"val\" style=\"color:#059669\" id=\"s-points\">\u2014<\/span>\r\n        <\/div>\r\n        <div class=\"summary-row\" id=\"s-discount-row\" style=\"display:none\">\r\n          <span class=\"label\" style=\"color:var(--green)\">Discount<\/span>\r\n          <span class=\"val\" style=\"color:var(--green)\" id=\"s-discount\">\u2014<\/span>\r\n        <\/div>\r\n        <div class=\"summary-row\" id=\"s-deposit-row\" style=\"display:none\">\r\n          <span class=\"label\">Deposit (refunded on return)<\/span>\r\n          <span class=\"val\" id=\"s-deposit\">\u2014<\/span>\r\n        <\/div>\r\n        <div class=\"summary-total\">\r\n          <span class=\"label\">Total<\/span>\r\n          <span><span class=\"amount\" id=\"s-total\">\u2014<\/span> <span class=\"unit\">THB<\/span><\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"addon-section-desktop\" style=\"margin-top:14px\"><\/div>\r\n\r\n    <!-- discount \u2014 the customer should not have to understand where a code came from.\r\n         The form applies the best available discount itself; typing a code is the fallback. -->\r\n    <div class=\"summary-card\" style=\"margin-top:14px\">\r\n      <div class=\"summary-head\">Discount<\/div>\r\n      <div class=\"summary-body\">\r\n\r\n        <!-- state 1: a discount is active. The form picks the best code automatically, but the\r\n             customer can swap it \u2014 \"change code\" opens the same monthly-code list. -->\r\n        <div id=\"dsc-applied\" style=\"display:none\">\r\n          <div class=\"dsc-ok\">\r\n            <div class=\"dsc-ok-row\">\r\n              <span class=\"dsc-ok-badge\">Discount applied<\/span>\r\n              <span class=\"dsc-ok-code\" id=\"dsc-ok-code\">\u2014<\/span>\r\n              <button type=\"button\" class=\"dsc-change\" onclick=\"openPromoModal()\">Change code<\/button>\r\n            <\/div>\r\n            <div class=\"dsc-ok-save\" id=\"dsc-ok-save\">\u2014<\/div>\r\n            <div class=\"dsc-ok-src\" id=\"dsc-ok-src\"><\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- points: members only, shown when there is a balance to spend -->\r\n        <div id=\"pts-box\" style=\"display:none\">\r\n          <div class=\"pts-head\">\r\n            <span class=\"pts-title\">Your points<\/span>\r\n            <span class=\"pts-have\"><span id=\"pts-balance\">0<\/span> pts<\/span>\r\n          <\/div>\r\n          <div id=\"pts-idle\">\r\n            <div class=\"pts-row\">\r\n              <input type=\"text\" id=\"pts-input\" inputmode=\"numeric\" placeholder=\"Points\">\r\n              <button type=\"button\" onclick=\"ptsApply()\">Use points<\/button>\r\n            <\/div>\r\n            <button type=\"button\" class=\"pts-max\" onclick=\"ptsUseMax()\">Use all my points<\/button>\r\n          <\/div>\r\n          <div id=\"pts-used\" style=\"display:none\">\r\n            <div class=\"pts-used-row\">\r\n              <span>Using <strong id=\"pts-used-num\">0<\/strong> pts<\/span>\r\n              <span class=\"pts-used-baht\">-<span id=\"pts-used-baht\">0<\/span> THB<\/span>\r\n            <\/div>\r\n            <button type=\"button\" class=\"pts-remove\" onclick=\"ptsClear()\">Cancel points<\/button>\r\n          <\/div>\r\n          <div id=\"pts-msg\" class=\"pts-msg\" style=\"display:none\"><\/div>\r\n        <\/div>\r\n        <!-- always available: type a code yourself -->\r\n        <div id=\"dsc-manual\">\r\n          <div class=\"coupon-row\">\r\n            <input type=\"text\" id=\"couponInput\" placeholder=\"Enter a discount code\" oninput=\"this.value=this.value.toUpperCase()\"\r\n                   onkeydown=\"if(event.key==='Enter'){event.preventDefault();applyCoupon()}\">\r\n            <button onclick=\"applyCoupon()\">Apply<\/button>\r\n          <\/div>\r\n          <div id=\"coupon-msg\" style=\"display:none;margin-top:8px\"><\/div>\r\n          <button type=\"button\" class=\"promo-open-btn\" onclick=\"openPromoModal()\">See discount codes<\/button>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n\r\n    <!-- confirm button lives in the sticky bar at the bottom of the screen -->\r\n  <\/div>\r\n\r\n<\/div>\r\n<\/div><!-- \/form-wrap -->\r\n\r\n<!-- STICKY CONFIRM BAR -->\r\n<div class=\"bsf-sticky\" id=\"bsfSticky\">\r\n  <div class=\"bsf-sticky-inner\">\r\n    <div class=\"bsf-sticky-sum\">\r\n      <div class=\"bsf-sticky-label\">Total<\/div>\r\n      <div class=\"bsf-sticky-total\"><span id=\"sticky-total\">\u2014<\/span> <span class=\"bsf-sticky-unit\">THB<\/span><\/div>\r\n      <!-- mobile only: the discount card sits far below the fold, so mirror it here -->\r\n      <button type=\"button\" class=\"bsf-sticky-dsc empty\" id=\"sticky-dsc\" onclick=\"scrollToDiscount()\">Add a discount code<\/button>\r\n    <\/div>\r\n    <div class=\"bsf-sticky-side\">\r\n      <button type=\"button\" class=\"bsf-sticky-btn\" onclick=\"submitBooking()\">Confirm booking<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- TERMS \/ PRIVACY CONTENT MODAL -->\r\n<div class=\"modal-overlay\" id=\"legalModal\" onclick=\"handleLegalModalClick(event)\">\r\n  <div class=\"modal-box\">\r\n    <div class=\"modal-head\">\r\n      <h3 id=\"legal-modal-title\">Terms &amp; Conditions<\/h3>\r\n      <button class=\"modal-close\" onclick=\"closeLegalModal()\">\u2715<\/button>\r\n    <\/div>\r\n    <div class=\"modal-body\" id=\"legal-modal-body\" style=\"padding:20px 24px;font-size:13px;line-height:1.9;color:var(--ink)\"><\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- TERMS ACCEPTANCE ALERT POPUP -->\r\n<div class=\"modal-overlay\" id=\"termsAlertModal\">\r\n  <div class=\"modal-box\" style=\"max-width:420px\">\r\n    <div style=\"padding:28px 24px;text-align:center\">\r\n\r\n      <div style=\"font-size:16px;font-weight:600;margin-bottom:8px\">Please accept the terms first<\/div>\r\n      <div style=\"font-size:13px;color:var(--muted);margin-bottom:20px;line-height:1.7\" id=\"terms-alert-msg\">\r\n        Please read and accept the Terms &amp; Conditions and Privacy Policy before continuing.      <\/div>\r\n      <div style=\"display:flex;gap:10px;justify-content:center\">\r\n        <button onclick=\"closeTermsAlert()\" style=\"padding:10px 20px;border:1.5px solid var(--border);border-radius:8px;background:var(--white);font-family:inherit;font-size:14px;cursor:pointer;color:var(--muted)\">Cancel<\/button>\r\n        <button onclick=\"acceptAndSubmit()\" style=\"padding:10px 20px;background:var(--grad-red);color:#fff;border:none;border-radius:8px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer\">Accept and continue<\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- ADD-FRIEND MODAL \u2014 shown once, right after a sign-in that came back friend=0.\r\n     Without the friendship nothing we send arrives, so the amber strip alone (easy to scroll\r\n     past) is not enough. Dismissible on purpose: LINE forbids making the friendship a condition\r\n     of signing in, and blocking a booking over it would cost a sale to punish a checkbox. -->\r\n<div class=\"modal-overlay\" id=\"friendModal\" onclick=\"if(event.target===this)bsfCloseFriendModal()\">\r\n  <div class=\"modal-box\" style=\"max-width:400px\">\r\n    <div style=\"padding:26px 24px;text-align:center\">\r\n      <div class=\"fm-mark\"><svg class=\"line-mark\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"#fff\" d=\"M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.594.12.303.079.778.038 1.083l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314\"\/><path fill=\"#06C755\" d=\"M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629\"\/><\/svg><\/div>\r\n      <div style=\"font-size:17px;font-weight:600;margin-bottom:10px;color:var(--ink)\">One more step \u2014 add us on LINE<\/div>\r\n      <div style=\"font-size:13.5px;color:var(--muted);line-height:1.75;margin-bottom:20px\">\r\n        Right now we <strong style=\"color:var(--red)\">cannot send you messages<\/strong><br>\r\n        Add us as a friend to get your booking confirmation, pickup and return reminders, points and member discounts.      <\/div>\r\n      <a id=\"friend-modal-add\" class=\"fm-add\" href=\"#\" target=\"_blank\" rel=\"noopener\" onclick=\"bsfCloseFriendModal()\">\r\n        Add on LINE      <\/a>\r\n      <button type=\"button\" class=\"fm-later\" onclick=\"bsfCloseFriendModal()\">Later<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- MESSENGER ZONE MODAL -->\r\n<div class=\"modal-overlay\" id=\"msgZoneModal\" onclick=\"if(event.target===this)closeMsgZoneModal()\">\r\n  <div class=\"modal-box\" style=\"max-width:420px\">\r\n    <div class=\"modal-head\">\r\n      <h3>Messenger service area<\/h3>\r\n      <button class=\"modal-close\" onclick=\"closeMsgZoneModal()\">\u2715<\/button>\r\n    <\/div>\r\n    <div class=\"modal-body\" style=\"padding:16px 20px\">\r\n      <div style=\"font-size:12px;color:var(--blue);margin-bottom:12px;font-weight:500\">Mon-Fri (closed Saturday, Sunday and public holidays)<\/div>\r\n      <table style=\"width:100%;border-collapse:collapse;font-size:13px\">\r\n        <thead><tr style=\"background:var(--red);color:#fff\"><th colspan=\"2\" style=\"padding:8px 12px;text-align:left;border-radius:6px 6px 0 0\">Districts covered (19)<\/th><\/tr><\/thead>\r\n        <tbody>\r\n                    <tr>\r\n                          <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Khlong Toei<\/td>\r\n              <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Khlong San<\/td>\r\n                        <\/tr>\r\n                    <tr style=\"background:#F9FAFB\">\r\n                          <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Chatuchak<\/td>\r\n              <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Din Daeng<\/td>\r\n                        <\/tr>\r\n                    <tr>\r\n                          <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Dusit<\/td>\r\n              <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Bang Kho Laem<\/td>\r\n                        <\/tr>\r\n                    <tr style=\"background:#F9FAFB\">\r\n                          <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Bang Rak<\/td>\r\n              <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Pathum Wan<\/td>\r\n                        <\/tr>\r\n                    <tr>\r\n                          <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Pom Prap Sattru Phai<\/td>\r\n              <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Phaya Thai<\/td>\r\n                        <\/tr>\r\n                    <tr style=\"background:#F9FAFB\">\r\n                          <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Phra Khanong<\/td>\r\n              <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Phra Nakhon<\/td>\r\n                        <\/tr>\r\n                    <tr>\r\n                          <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Yan Nawa<\/td>\r\n              <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Ratchathewi<\/td>\r\n                        <\/tr>\r\n                    <tr style=\"background:#F9FAFB\">\r\n                          <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Lat Phrao<\/td>\r\n              <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Watthana<\/td>\r\n                        <\/tr>\r\n                    <tr>\r\n                          <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Samphanthawong<\/td>\r\n              <td style=\"padding:8px 12px;border-bottom:1px solid var(--border)\">Sathon<\/td>\r\n                        <\/tr>\r\n                    <tr style=\"background:#F9FAFB\">\r\n                          <td style=\"padding:8px 12px\" colspan=\"2\">Huai Khwang<\/td>\r\n                        <\/tr>\r\n                <\/tbody>\r\n      <\/table>\r\n      <div style=\"margin-top:14px;padding:10px 12px;background:var(--green-light);border:1px solid #A7F3D0;border-radius:8px;font-size:12px;color:#065F46\">\r\n        Free of charge      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- ADDON PRODUCT MODAL -->\r\n<div class=\"modal-overlay\" id=\"addonModal\" onclick=\"handleAddonModalClick(event)\">\r\n  <div class=\"modal-box\" style=\"max-width:480px\">\r\n    <div class=\"modal-head\">\r\n      <h3 id=\"addon-modal-title\">\u2014<\/h3>\r\n      <button class=\"modal-close\" onclick=\"closeAddonModal()\">\u2715<\/button>\r\n    <\/div>\r\n    <div style=\"padding:20px 24px\">\r\n      <!-- placeholder image -->\r\n      <div style=\"width:100%;height:160px;background:linear-gradient(135deg,#F3F4F6,#E5E7EB);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:48px;margin-bottom:16px\" id=\"addon-modal-img\"><\/div>\r\n      <div style=\"font-size:22px;font-weight:700;color:var(--red);margin-bottom:4px\" id=\"addon-modal-price\"><\/div>\r\n      <div style=\"font-size:13px;color:var(--muted);margin-bottom:14px\" id=\"addon-modal-desc\"><\/div>\r\n      <div style=\"font-size:13px;line-height:1.8;color:var(--ink);margin-bottom:20px\" id=\"addon-modal-detail\"><\/div>\r\n      <!-- qty row -->\r\n      <div style=\"display:flex;align-items:center;gap:12px;margin-bottom:16px\">\r\n        <button type=\"button\" id=\"addon-qty-minus\" onclick=\"changeAddonQty(-1)\" style=\"width:36px;height:36px;border:1.5px solid var(--border);border-radius:8px;background:var(--white);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center\">\u2212<\/button>\r\n        <input type=\"number\" id=\"addon-qty\" value=\"1\" min=\"1\" max=\"10\" style=\"width:60px;text-align:center;padding:7px;border:1.5px solid var(--border);border-radius:8px;font-family:'Kanit',sans-serif;font-size:15px;font-weight:600\">\r\n        <button type=\"button\" id=\"addon-qty-plus\" onclick=\"changeAddonQty(1)\" style=\"width:36px;height:36px;border:1.5px solid var(--border);border-radius:8px;background:var(--white);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center\">+<\/button>\r\n        <span style=\"font-size:13px;color:var(--muted)\">pcs<\/span>\r\n      <\/div>\r\n      <button type=\"button\" onclick=\"addToCart()\" style=\"width:100%;padding:13px;background:var(--grad-red);color:#fff;border:none;border-radius:10px;font-family:'Kanit',sans-serif;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px\">\r\n        Add to cart      <\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- COUNTRY MODAL -->\r\n<div class=\"modal-overlay\" id=\"countryModal\" onclick=\"handleModalClick(event)\">\r\n  <div class=\"modal-box\">\r\n    <div class=\"modal-head\">\r\n      <h3>Choose your destination<\/h3>\r\n      <button class=\"modal-close\" onclick=\"closeCountryModal()\">\u2715<\/button>\r\n    <\/div>\r\n    <div class=\"modal-search\">\r\n      <input type=\"text\" id=\"modalSearch\" placeholder=\"Search countries...\" oninput=\"renderModal(this.value)\">\r\n    <\/div>\r\n    <div class=\"modal-body\" id=\"modalBody\"><\/div>\r\n    <!-- The list stays open after each pick, so it needs a way out that also says how many are in. -->\r\n    <div class=\"modal-foot\">\r\n      <span id=\"ct-count\">No destination chosen yet<\/span>\r\n      <button type=\"button\" class=\"modal-done\" onclick=\"closeCountryModal()\">Done<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- POINTS EXPLAINER MODAL \u2014 \u0e40\u0e1b\u0e34\u0e14\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21\u0e40\u0e25\u0e47\u0e01\u0e43\u0e19\u0e01\u0e32\u0e23\u0e4c\u0e14\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e4c (2026-08-31)\r\n     \u0e01\u0e0e\u0e41\u0e15\u0e49\u0e21\u0e21\u0e35 3 \u0e02\u0e49\u0e2d\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e23\u0e39\u0e49\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 (\u0e44\u0e14\u0e49\u0e21\u0e32\u0e22\u0e31\u0e07\u0e44\u0e07 \/ \u0e43\u0e0a\u0e49\u0e22\u0e31\u0e07\u0e44\u0e07 \/ \u0e2b\u0e21\u0e14\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e44\u0e2b\u0e23\u0e48) \u0e40\u0e02\u0e35\u0e22\u0e19\u0e23\u0e27\u0e21\u0e43\u0e19\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e40\u0e14\u0e35\u0e22\u0e27\r\n     \u0e44\u0e21\u0e48\u0e21\u0e35\u0e43\u0e04\u0e23\u0e2d\u0e48\u0e32\u0e19\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08 \u0e41\u0e25\u0e30\u0e16\u0e49\u0e32\u0e01\u0e32\u0e07\u0e44\u0e27\u0e49\u0e15\u0e25\u0e2d\u0e14\u0e01\u0e47\u0e01\u0e34\u0e19\u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e17\u0e31\u0e49\u0e07\u0e17\u0e35\u0e48\u0e04\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e43\u0e2b\u0e0d\u0e48\u0e44\u0e21\u0e48\u0e2d\u0e48\u0e32\u0e19 -->\r\n<div class=\"modal-overlay\" id=\"ptsModal\" onclick=\"handlePtsModalClick(event)\">\r\n  <div class=\"modal-box pts-box\">\r\n    <div class=\"modal-head\">\r\n      <h3>How your points work<\/h3>\r\n      <button class=\"modal-close\" onclick=\"bsfClosePtsModal()\">\u2715<\/button>\r\n    <\/div>\r\n    <div class=\"modal-body\">\r\n      <div class=\"pts-step\">\r\n        <span class=\"pts-n\">1<\/span>\r\n        <div><b>How you earn them<\/b><span>Every 100 THB you pay earns 1 point (no rounding up) \u2014 the deposit does not count<\/span><\/div>\r\n      <\/div>\r\n      <div class=\"pts-step\">\r\n        <span class=\"pts-n\">2<\/span>\r\n        <div><b>How you spend them<\/b><span>1 point = 1 THB off your next booking. You may use your whole balance at once<\/span><\/div>\r\n      <\/div>\r\n      <div class=\"pts-step\">\r\n        <span class=\"pts-n\">3<\/span>\r\n        <div><b>How long they last<\/b><span>Each point is valid for 1 year from the day it was earned<\/span><\/div>\r\n      <\/div>\r\n            <div class=\"pts-step pts-step-alt\">\r\n        <span class=\"pts-n\">4<\/span>\r\n        <div><b>Membership tier<\/b><span>Your membership tier comes from your total spend in each calendar year, and starts over every 1 January<\/span><\/div>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"modal-foot\">\r\n      <span><\/span>\r\n      <button type=\"button\" class=\"modal-done\" onclick=\"bsfClosePtsModal()\">Got it<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- MULTI-COUNTRY COVERAGE MODAL -->\r\n<div class=\"modal-overlay\" id=\"covModal\" onclick=\"handleCovModalClick(event)\">\r\n  <div class=\"modal-box\">\r\n    <div class=\"modal-head\">\r\n      <h3 id=\"cov-modal-title\">Countries covered<\/h3>\r\n      <button class=\"modal-close\" onclick=\"closeCoverageModal()\">\u2715<\/button>\r\n    <\/div>\r\n    <div class=\"modal-body\" id=\"covBody\"><\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- PROMO CODE MODAL \u2014 monthly campaign codes from bs_discount2, grouped by destination -->\r\n<div class=\"modal-overlay\" id=\"promoModal\" onclick=\"handlePromoModalClick(event)\">\r\n  <div class=\"modal-box\">\r\n    <div class=\"modal-head\">\r\n      <h3>Discount codes<\/h3>\r\n      <button class=\"modal-close\" onclick=\"closePromoModal()\">\u2715<\/button>\r\n    <\/div>\r\n    <div class=\"modal-search\">\r\n      <input type=\"text\" id=\"promoSearch\" placeholder=\"Search country \/ package \/ code...\" oninput=\"renderPromoList(this.value)\">\r\n    <\/div>\r\n    <div class=\"modal-body\" id=\"promoBody\"><\/div>\r\n    <!-- 0.12.8: the footer link out to the promotion page is gone on purpose \u2014 it sent a customer\r\n         who was one tap from applying a code away from the booking. The promo_page_url setting\r\n         stays; nothing in the form links out to it now. -->\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- SUCCESS -->\r\n<div class=\"success-wrap\" id=\"successWrap\">\r\n\r\n  <div class=\"success-title\">Booking confirmed!<\/div>\r\n  <div class=\"success-sub\">We have received your booking.<\/div>\r\n  <div class=\"booking-ref\">\r\n    <div class=\"ref-label\">Booking number<\/div>\r\n    <div class=\"ref-num\" id=\"refNum\">\u2014<\/div>\r\n  <\/div>\r\n  <button class=\"btn-line\" onclick=\"window.open(bsfCfg.contact.line,'_blank')\">\r\n    Chat with our staff on LINE \u2192  <\/button>\r\n<\/div>\r\n<\/div><!-- \/.bsf-root -->\r\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-785","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 5.0.1.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"SAMURAI WiFi - \u30bf\u30a4\u56fd\u5185\u5916\u306e4G Pocket WiFi\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308bSAMURAI WiFi\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Sign Up - SAMURAI WiFi\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.reserve.bs-mobile.jp\/wp-content\/uploads\/2025\/11\/logo-3.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.reserve.bs-mobile.jp\/wp-content\/uploads\/2025\/11\/logo-3.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-08-14T10:55:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-08-31T18:08:41+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Sign Up - SAMURAI WiFi\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.reserve.bs-mobile.jp\/wp-content\/uploads\/2025\/11\/logo-3.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/reserve\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/reserve\\\/#listItem\",\"name\":\"Sign Up\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/reserve\\\/#listItem\",\"position\":2,\"name\":\"Sign Up\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/#organization\",\"name\":\"SAMURAI WiFi\",\"description\":\"\\u30bf\\u30a4\\u56fd\\u5185\\u5916\\u306e4G Pocket WiFi\\u30b5\\u30fc\\u30d3\\u30b9\\u3092\\u63d0\\u4f9b\\u3059\\u308bSAMURAI WiFi\",\"url\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/logo-3.png\",\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/reserve\\\/#organizationLogo\",\"width\":190,\"height\":205},\"image\":{\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/reserve\\\/#organizationLogo\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/reserve\\\/#webpage\",\"url\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/reserve\\\/\",\"name\":\"Sign Up - SAMURAI WiFi\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/reserve\\\/#breadcrumblist\"},\"datePublished\":\"2026-08-14T17:55:00+07:00\",\"dateModified\":\"2026-09-01T01:08:41+07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/\",\"name\":\"SAMURAI WiFi\",\"description\":\"\\u30bf\\u30a4\\u56fd\\u5185\\u5916\\u306e4G Pocket WiFi\\u30b5\\u30fc\\u30d3\\u30b9\\u3092\\u63d0\\u4f9b\\u3059\\u308bSAMURAI WiFi\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.reserve.bs-mobile.jp\\\/en\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>Sign Up - SAMURAI WiFi<\/title>\n\n","aioseo_head_json":{"title":"Sign Up - SAMURAI WiFi","description":"","canonical_url":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/#listItem","position":1,"name":"Home","item":"https:\/\/www.reserve.bs-mobile.jp\/en\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/#listItem","name":"Sign Up"}},{"@type":"ListItem","@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/#listItem","position":2,"name":"Sign Up","previousItem":{"@type":"ListItem","@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/#organization","name":"SAMURAI WiFi","description":"\u30bf\u30a4\u56fd\u5185\u5916\u306e4G Pocket WiFi\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308bSAMURAI WiFi","url":"https:\/\/www.reserve.bs-mobile.jp\/en\/","logo":{"@type":"ImageObject","url":"https:\/\/www.reserve.bs-mobile.jp\/wp-content\/uploads\/2025\/11\/logo-3.png","@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/#organizationLogo","width":190,"height":205},"image":{"@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/#organizationLogo"}},{"@type":"WebPage","@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/#webpage","url":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/","name":"Sign Up - SAMURAI WiFi","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/#website"},"breadcrumb":{"@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/#breadcrumblist"},"datePublished":"2026-08-14T17:55:00+07:00","dateModified":"2026-09-01T01:08:41+07:00"},{"@type":"WebSite","@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/#website","url":"https:\/\/www.reserve.bs-mobile.jp\/en\/","name":"SAMURAI WiFi","description":"\u30bf\u30a4\u56fd\u5185\u5916\u306e4G Pocket WiFi\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308bSAMURAI WiFi","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.reserve.bs-mobile.jp\/en\/#organization"}}]},"og:locale":"en_US","og:site_name":"SAMURAI WiFi - \u30bf\u30a4\u56fd\u5185\u5916\u306e4G Pocket WiFi\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308bSAMURAI WiFi","og:type":"article","og:title":"Sign Up - SAMURAI WiFi","og:url":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/","og:image":"https:\/\/www.reserve.bs-mobile.jp\/wp-content\/uploads\/2025\/11\/logo-3.png","og:image:secure_url":"https:\/\/www.reserve.bs-mobile.jp\/wp-content\/uploads\/2025\/11\/logo-3.png","article:published_time":"2026-08-14T10:55:00+00:00","article:modified_time":"2026-08-31T18:08:41+00:00","twitter:card":"summary_large_image","twitter:title":"Sign Up - SAMURAI WiFi","twitter:image":"https:\/\/www.reserve.bs-mobile.jp\/wp-content\/uploads\/2025\/11\/logo-3.png"},"aioseo_meta_data":{"post_id":"785","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-08-31 02:32:05","updated":"2026-08-31 18:09:21","seo_analyzer_scan_date":"2026-08-31 18:09:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.reserve.bs-mobile.jp\/en\/\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\tSign Up\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.reserve.bs-mobile.jp\/en\/"},{"label":"Sign Up","link":"https:\/\/www.reserve.bs-mobile.jp\/en\/reserve\/"}],"_links":{"self":[{"href":"https:\/\/www.reserve.bs-mobile.jp\/en\/wp-json\/wp\/v2\/pages\/785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.reserve.bs-mobile.jp\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.reserve.bs-mobile.jp\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.reserve.bs-mobile.jp\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.reserve.bs-mobile.jp\/en\/wp-json\/wp\/v2\/comments?post=785"}],"version-history":[{"count":2,"href":"https:\/\/www.reserve.bs-mobile.jp\/en\/wp-json\/wp\/v2\/pages\/785\/revisions"}],"predecessor-version":[{"id":800,"href":"https:\/\/www.reserve.bs-mobile.jp\/en\/wp-json\/wp\/v2\/pages\/785\/revisions\/800"}],"wp:attachment":[{"href":"https:\/\/www.reserve.bs-mobile.jp\/en\/wp-json\/wp\/v2\/media?parent=785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}