{"id":27,"date":"2026-04-15T01:38:30","date_gmt":"2026-04-15T01:38:30","guid":{"rendered":"https:\/\/xemocchauhanoi.com.vn\/?page_id=27"},"modified":"2026-04-15T01:47:47","modified_gmt":"2026-04-15T01:47:47","slug":"27-2","status":"publish","type":"page","link":"https:\/\/xemocchauhanoi.com.vn\/index.php\/27-2\/","title":{"rendered":""},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"vi\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n    <title>X\u00e1c Nh\u1eadn \u0110\u1eb7t V\u00e9 &#8211; Qu\u00e2n Tuy\u1ebft VIP<\/title>\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.2\/css\/all.min.css\" rel=\"stylesheet\">\n    <style>\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@700&family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap');\n        \n        :root {\n            --gold: #D4AF37;\n            --gold-light: #F1D592;\n            --bg-dark: #0A120E;\n        }\n\n        body { \n            font-family: 'Plus Jakarta Sans', sans-serif; \n            background: var(--bg-dark);\n            background: radial-gradient(circle at top right, #142B20, #0A120E);\n            color: #E0E0E0; min-height: 100vh; margin: 0; padding: 20px 0 50px 0;\n        }\n\n        .brand-font { font-family: 'Cinzel', serif; }\n\n        .container { \n            max-width: 550px; margin: auto; \n            background: rgba(255, 255, 255, 0.03); \n            padding: 30px; border-radius: 24px; \n            backdrop-filter: blur(10px);\n            border: 1px solid rgba(212, 175, 55, 0.2);\n            box-shadow: 0 20px 40px rgba(0,0,0,0.4);\n        }\n\n        .row { margin-bottom: 20px; display: flex; flex-direction: column; }\n        \n        label { font-weight: 700; margin-bottom: 8px; color: var(--gold); font-size: 13px; text-transform: uppercase; letter-spacing: 1px; }\n\n        input, select, textarea { \n            padding: 14px; background: rgba(255, 255, 255, 0.05); \n            border: 1px solid rgba(212, 175, 55, 0.3); \n            border-radius: 12px; font-size: 15px; color: white;\n            transition: 0.3s;\n        }\n        \n        input:focus, select:focus, textarea:focus {\n            outline: none; border-color: var(--gold); background: rgba(255, 255, 255, 0.08);\n            box-shadow: 0 0 10px rgba(212, 175, 55, 0.2);\n        }\n\n        option { background: #142B20; color: white; }\n\n        #tripInfo { background: rgba(212, 175, 55, 0.1); border: 1px dashed var(--gold); font-weight: 700; color: var(--gold-light); }\n\n        .ticketBox { display: flex; align-items: center; gap: 10px; }\n        .ticketBox button { \n            width: 45px; height: 45px; border: none; \n            background: linear-gradient(135deg, #D4AF37 0%, #B8860B 100%);\n            color: #0A120E; font-size: 20px; font-weight: 800; border-radius: 10px; cursor: pointer; \n        }\n        .ticketBox input { width: 80px; text-align: center; font-size: 18px; font-weight: 800; }\n\n        .submitBtn { \n            width: 100%; padding: 16px; \n            background: linear-gradient(135deg, #D4AF37 0%, #B8860B 100%);\n            border: none; color: #0A120E; font-size: 16px; font-weight: 800; \n            border-radius: 14px; cursor: pointer; text-transform: uppercase;\n            box-shadow: 0 10px 20px rgba(184, 134, 11, 0.3); transition: 0.3s;\n        }\n        .submitBtn:hover { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(184, 134, 11, 0.4); }\n\n        \/* Popup fix *\/\n        .popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); backdrop-filter: blur(8px); align-items: center; justify-content: center; z-index: 9999; padding: 20px; }\n        .popup-box { background: #142B20; border: 1px solid var(--gold); padding: 35px; border-radius: 28px; max-width: 450px; width: 100%; text-align: center; }\n        .popup-box h2 { font-family: 'Cinzel', serif; color: var(--gold); margin-bottom: 15px; }\n        #popupContent { line-height: 1.8; font-size: 15px; color: #ccc; margin-bottom: 25px; }\n        #popupContent strong { color: var(--gold-light); }\n\n        .popup-buttons { display: grid; grid-template-columns: 1fr; gap: 12px; }\n        .popup-buttons a { padding: 14px; border-radius: 12px; text-decoration: none; color: white; font-weight: 800; text-align: center; display: flex; align-items: center; justify-content: center; gap: 10px; }\n        \n        .callBtn { background: #2f9e44; }\n        .zaloBtn { background: #0068ff; }\n        .homeBtn { background: transparent; border: 1px solid rgba(255,255,255,0.2); }\n    <\/style>\n<\/head>\n<body>\n\n<h2 class=\"brand-font text-center text-2xl mb-6 uppercase tracking-widest text-[#D4AF37]\">X\u00e1c Nh\u1eadn \u0110\u1eb7t V\u00e9<\/h2>\n\n<div class=\"container\">\n    <form id=\"bookingForm\">\n        <div class=\"row\">\n            <label><i class=\"fas fa-info-circle mr-1\"><\/i> Th\u00f4ng tin chuy\u1ebfn xe<\/label>\n            <input type=\"text\" id=\"tripInfo\" readonly>\n        <\/div>\n\n        <div id=\"pickupRow\" class=\"row\"><\/div>\n        <div id=\"dropRow\" class=\"row\"><\/div>\n\n        <div class=\"row\">\n            <label><i class=\"fas fa-user mr-1\"><\/i> H\u1ecd v\u00e0 t\u00ean kh\u00e1ch h\u00e0ng *<\/label>\n            <input type=\"text\" id=\"name\" placeholder=\"Nh\u1eadp t\u00ean ng\u01b0\u1eddi \u0111i\" required>\n        <\/div>\n\n        <div class=\"row\">\n            <label><i class=\"fas fa-phone mr-1\"><\/i> S\u1ed1 \u0111i\u1ec7n tho\u1ea1i li\u00ean h\u1ec7 *<\/label>\n            <input type=\"tel\" id=\"phone\" placeholder=\"Nh\u1eadp s\u1ed1 \u0111i\u1ec7n tho\u1ea1i\" required>\n        <\/div>\n\n        <input type=\"text\" id=\"website\" style=\"display:none\">\n\n        <div class=\"row\">\n            <label id=\"quantityLabel\"><i class=\"fas fa-ticket-alt mr-1\"><\/i> S\u1ed1 l\u01b0\u1ee3ng v\u00e9 *<\/label>\n            <div class=\"ticketBox\">\n                <button type=\"button\" onclick=\"minus()\">&#8211;<\/button>\n                <input type=\"number\" id=\"ticket\" value=\"1\" min=\"1\">\n                <button type=\"button\" onclick=\"plus()\">+<\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"row\">\n            <label><i class=\"fas fa-comment-dots mr-1\"><\/i> Y\u00eau c\u1ea7u kh\u00e1c<\/label>\n            <textarea id=\"note\" placeholder=\"V\u00ed d\u1ee5: C\u00f3 em b\u00e9 \u0111i c\u00f9ng, \u0111\u00f3n t\u1ea1i c\u1ed5ng ch\u00e0o...\"><\/textarea>\n        <\/div>\n\n        <button class=\"submitBtn\" type=\"submit\">Ho\u00e0n t\u1ea5t \u0111\u1eb7t v\u00e9<\/button>\n    <\/form>\n<\/div>\n\n<div id=\"successPopup\" class=\"popup\">\n    <div class=\"popup-box\">\n        <div class=\"text-5xl mb-4\">\ud83d\udc51<\/div>\n        <h2>\u0110\u1eb7t V\u00e9 Th\u00e0nh C\u00f4ng<\/h2>\n        <div id=\"popupContent\"><\/div>\n        <div class=\"popup-buttons\">\n            <a href=\"tel:0976344560\" class=\"callBtn\"><i class=\"fas fa-phone-alt\"><\/i> G\u1ecdi \u0111i\u1ec7n cho nh\u00e0 xe<\/a>\n            <a href=\"https:\/\/zalo.me\/0976344560\" target=\"_blank\" class=\"zaloBtn\"><i class=\"fab fa-facebook-messenger\"><\/i> Chat qua Zalo<\/a>\n            <a href=\"\/\" class=\"homeBtn\"><i class=\"fas fa-home\"><\/i> Quay l\u1ea1i trang ch\u1ee7<\/a>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\nlet lastSubmit = 0;\nfunction checkPhone(phone){ return \/^(03|05|07|08|09)[0-9]{8}$\/.test(phone); }\n\nconst params=new URLSearchParams(window.location.search);\nconst from=params.get(\"from\") || \"\";\nconst to=params.get(\"to\") || \"\";\nconst date=params.get(\"date\") || \"\";\nconst time=params.get(\"time\") || \"\";\nconst typeRaw=params.get(\"type\") || \"\";\nconst type = typeRaw.toLowerCase(); \/\/ \u0110\u1ed3ng b\u1ed9 ch\u1eef th\u01b0\u1eddng \u0111\u1ec3 check ch\u00ednh x\u00e1c\n\nlet typeName = \"\";\nif(type === \"limousine\") typeName = \"H\u1ea1ng Th\u01b0\u01a1ng Gia (Limousine)\";\nelse if(type === \"shared\") typeName = \"Xe Gh\u00e9p 7 Ch\u1ed7 VIP\";\nelse if(type === \"private\") typeName = \"H\u1ee3p \u0110\u1ed3ng Thu\u00ea Ri\u00eang\";\n\ndocument.getElementById(\"tripInfo\").value = from + \" \u2192 \" + to + \" | \" + date + \" | \" + time;\n\nfunction limousineForm(){\n    if(from.includes(\"H\u00e0 N\u1ed9i\")){\n        document.getElementById(\"pickupRow\").innerHTML='<label>\u0110i\u1ec3m \u0111\u00f3n H\u00e0 N\u1ed9i *<\/label><select id=\"pickup\" required><option value=\"\">Ch\u1ecdn \u0111i\u1ec3m \u0111\u00f3n<\/option><option>BigC Th\u0103ng Long<\/option><option>Royal City<\/option><option>Ng\u00f5 90 Nguy\u1ec5n Tu\u00e2n<\/option><\/select>';\n        document.getElementById(\"dropRow\").innerHTML='<label>\u0110\u1ecba ch\u1ec9 tr\u1ea3 t\u1ea1i M\u1ed9c Ch\u00e2u *<\/label><input type=\"text\" id=\"drop\" placeholder=\"Nh\u1eadp \u0111\u1ecba ch\u1ec9 Kh\u00e1ch s\u1ea1n\/Homestay\" required>';\n    } else {\n        document.getElementById(\"pickupRow\").innerHTML='<label>\u0110\u1ecba ch\u1ec9 \u0111\u00f3n t\u1ea1i M\u1ed9c Ch\u00e2u *<\/label><input type=\"text\" id=\"pickup\" placeholder=\"Nh\u1eadp \u0111\u1ecba ch\u1ec9 c\u1ee5 th\u1ec3\" required>';\n        document.getElementById(\"dropRow\").innerHTML='<label>\u0110i\u1ec3m tr\u1ea3 H\u00e0 N\u1ed9i *<\/label><select id=\"drop\" required><option value=\"\">Ch\u1ecdn \u0111i\u1ec3m tr\u1ea3<\/option><option>BigC Th\u0103ng Long<\/option><option>Royal City<\/option><option>Ng\u00f5 90 Nguy\u1ec5n Tu\u00e2n<\/option><\/select>';\n    }\n}\n\nfunction sharedForm(){\n    document.getElementById(\"pickupRow\").innerHTML='<label>\u0110\u1ecba ch\u1ec9 \u0111\u00f3n t\u1eadn n\u01a1i *<\/label><input type=\"text\" id=\"pickup\" placeholder=\"S\u1ed1 nh\u00e0, t\u00ean \u0111\u01b0\u1eddng...\" required>';\n    document.getElementById(\"dropRow\").innerHTML='<label>\u0110\u1ecba ch\u1ec9 tr\u1ea3 t\u1eadn n\u01a1i *<\/label><input type=\"text\" id=\"drop\" placeholder=\"S\u1ed1 nh\u00e0, t\u00ean \u0111\u01b0\u1eddng...\" required>';\n}\n\nfunction privateForm(){\n    document.getElementById(\"pickupRow\").innerHTML=\n        '<label>Lo\u1ea1i xe h\u1ee3p \u0111\u1ed3ng *<\/label>'+\n        '<select id=\"carType\" required>'+\n        '<option value=\"4\">Xe Sedan 4 ch\u1ed7 (1.400.000\u0111)<\/option>'+\n        '<option value=\"7\" selected>Xe SUV 7 ch\u1ed7 (2.000.000\u0111)<\/option>'+\n        '<option value=\"9\">Limousine VIP 9 ch\u1ed7 (2.500.000\u0111)<\/option>'+\n        '<option value=\"11\">Limousine 11 ch\u1ed7 (3.000.000\u0111)<\/option>'+\n        '<option value=\"16\">Xe h\u1ee3p \u0111\u1ed3ng 16 ch\u1ed7 (3.500.000\u0111)<\/option>'+\n        '<\/select>'+\n        '<div style=\"margin-top:20px\"><label>\u0110\u1ecba ch\u1ec9 \u0111\u00f3n c\u1ee5 th\u1ec3 *<\/label>'+\n        '<input type=\"text\" id=\"pickup\" style=\"width:100%\" placeholder=\"S\u1ed1 nh\u00e0, t\u00ean \u0111\u01b0\u1eddng, \u0111i\u1ec3m h\u1eb9n...\" required><\/div>';\n        \n    document.getElementById(\"dropRow\").innerHTML=\n        '<label>\u0110\u1ecba ch\u1ec9 tr\u1ea3 c\u1ee5 th\u1ec3 *<\/label>'+\n        '<input type=\"text\" id=\"drop\" placeholder=\"S\u1ed1 nh\u00e0, t\u00ean \u0111\u01b0\u1eddng...\" required>';\n    document.getElementById(\"quantityLabel\").innerHTML = '<i class=\"fas fa-car mr-1\"><\/i> S\u1ed1 l\u01b0\u1ee3ng xe';\n}\n\nif(type===\"limousine\") limousineForm();\nelse if(type===\"private\") privateForm();\nelse sharedForm();\n\nfunction plus(){ let v=document.getElementById(\"ticket\"); v.value=parseInt(v.value)+1; }\nfunction minus(){ let v=document.getElementById(\"ticket\"); if(v.value>1) v.value=parseInt(v.value)-1; }\n\ndocument.getElementById(\"bookingForm\").addEventListener(\"submit\",function(e){\n    e.preventDefault();\n    if(document.getElementById(\"website\").value!=\"\") return;\n    \n    let now = Date.now();\n    if(now - lastSubmit < 15000){ alert(\"Thao t\u00e1c qu\u00e1 nhanh, vui l\u00f2ng ch\u1edd 15 gi\u00e2y!\"); return; }\n    lastSubmit = now;\n\n    let name=document.getElementById(\"name\").value;\n    let phone=document.getElementById(\"phone\").value;\n    let ticket=parseInt(document.getElementById(\"ticket\").value);\n    let pickup=document.getElementById(\"pickup\").value;\n    let drop=document.getElementById(\"drop\").value;\n    let note=document.getElementById(\"note\").value;\n    let finalType = typeName;\n\n    let price = 0;\n    if(type===\"limousine\") price = 300000; \/\/ \u0110\u00c3 C\u1eacP NH\u1eacT 300K\n    else if(type===\"shared\") price = 350000;\n    else if(type===\"private\"){\n        let car = document.getElementById(\"carType\").value;\n        finalType = \"H\u1ee3p \u0111\u1ed3ng xe \" + car + \" ch\u1ed7\";\n        if(car==\"4\") price=1400000;\n        else if(car==\"7\") price=2000000;\n        else if(car==\"9\") price=2500000;\n        else if(car==\"11\") price=3000000;\n        else if(car==\"16\") price=3500000;\n    }\n    let total = price * ticket;\n\n    if(!checkPhone(phone)){ alert(\"S\u1ed1 \u0111i\u1ec7n tho\u1ea1i kh\u00f4ng h\u1ee3p l\u1ec7!\"); return; }\n\n    const btn = document.querySelector(\".submitBtn\");\n    btn.innerHTML = '<i class=\"fas fa-spinner fa-spin\"><\/i> \u0110ang x\u1eed l\u00fd...';\n    btn.disabled = true;\n\n    fetch(\"https:\/\/script.google.com\/macros\/s\/AKfycbwS1E0_3AeG5BN2hV8TrM8oUizxaTdHc7UPVyES-lUCsuURSWmMCEiw3VJzCfzrpxQd\/exec\",{\n        method:\"POST\",\n        body:JSON.stringify({\n            name:name, phone:phone, trip:from+\" \u2192 \"+to, time:time, date:date,\n            type:finalType, ticket:ticket, pickup:pickup, drop:drop, note:note\n        })\n    }).then(() => {\n        document.getElementById(\"popupContent\").innerHTML=\n            \"<p>C\u1ea3m \u01a1n \u00f4ng\/b\u00e0 <strong>\"+name+\"<\/strong> \u0111\u00e3 tin t\u01b0\u1edfng Qu\u00e2n Tuy\u1ebft Royal Limousine.<\/p>\"\n            +\"<p>L\u1ecbch tr\u00ecnh: <strong>\"+from+\" \u2192 \"+to+\"<\/strong><\/p>\"\n            +\"<p>Th\u1eddi gian: <strong>\"+time+\" | \"+date+\"<\/strong><\/p>\"\n            +\"<p>Lo\u1ea1i xe: <strong>\"+finalType+\"<\/strong><\/p>\"\n            +\"<p>T\u1ed5ng ti\u1ec1n thanh to\u00e1n: <strong style='font-size:20px; color:#D4AF37'>\"+total.toLocaleString()+\"\u0111<\/strong><\/p>\"\n            +\"<p style='font-style:italic; font-size:12px; margin-top:10px'>Nh\u00e2n vi\u00ean s\u1ebd li\u00ean h\u1ec7 l\u1ea1i v\u1edbi b\u1ea1n trong \u00edt ph\u00fat \u0111\u1ec3 x\u00e1c nh\u1eadn l\u1ea1i \u0111i\u1ec3m \u0111\u00f3n.<\/p>\";\n        document.getElementById(\"successPopup\").style.display=\"flex\";\n    });\n});\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>X\u00e1c Nh\u1eadn \u0110\u1eb7t V\u00e9 &#8211; Qu\u00e2n Tuy\u1ebft VIP X\u00e1c Nh\u1eadn \u0110\u1eb7t V\u00e9 Th\u00f4ng tin chuy\u1ebfn xe H\u1ecd v\u00e0 t\u00ean kh\u00e1ch [&hellip;]<\/p>\n","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-27","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/xemocchauhanoi.com.vn\/index.php\/wp-json\/wp\/v2\/pages\/27","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xemocchauhanoi.com.vn\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/xemocchauhanoi.com.vn\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/xemocchauhanoi.com.vn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xemocchauhanoi.com.vn\/index.php\/wp-json\/wp\/v2\/comments?post=27"}],"version-history":[{"count":2,"href":"https:\/\/xemocchauhanoi.com.vn\/index.php\/wp-json\/wp\/v2\/pages\/27\/revisions"}],"predecessor-version":[{"id":31,"href":"https:\/\/xemocchauhanoi.com.vn\/index.php\/wp-json\/wp\/v2\/pages\/27\/revisions\/31"}],"wp:attachment":[{"href":"https:\/\/xemocchauhanoi.com.vn\/index.php\/wp-json\/wp\/v2\/media?parent=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}