Interactive Arrival Guide: Cam Ranh Int’l Airport (CXR) https://cdn.tailwindcss.com https://cdn.jsdelivr.net/npm/chart.js body { font-family: ‘Inter’, sans-serif; background-color: #f8fafc; /* slate-50 */ } .active-tab { background-color: #0d9488; /* teal-600 */ color: white; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); } .inactive-tab { background-color: #f1f5f9; /* slate-100 */ color: #475569; /* slate-600 */ } .chart-container { position: relative; width: 100%; height: 200px; max-width: 700px; margin-left: auto; margin-right: auto; max-height: 250px; } @media (min-width: 640px) { .chart-container { height: 220px; } } @media (min-width: 1024px) { .chart-container { height: 250px; } } .step-card { border-left-width: 4px; transition: all 0.3s ease-in-out; }

Arrive in Vietnam Stress-Free

Skip the long immigration queues at Cam Ranh (CXR) Airport. Use our interactive guide to plan your arrival and see how our Fast Track service can save you hours.

Interactive Arrival Planner

Select your visa type to see your personalized arrival process.

Your Arrival Steps:

Estimated Wait Time Comparison:

The Fast Track Advantage

Our agent meets you at the gate and escorts you through priority lanes, bypassing all queues for a swift, VIP entry.

Pre-Arrival Checklist

📋 Documents

  • Passport (min. 6 months validity)
  • Printed E-Visa or VOA Approval Letter
  • Return/Onward flight details
  • Hotel booking confirmation

💵 VOA Essentials

  • Completed NA1 Form
  • Passport Photo (4×6 cm)
  • Cash for Stamping Fee (USD/VND)
  • ⚠️No ATMs in VOA area!

About Cam Ranh Airport (CXR)

✈️

International Terminal

All international flights arrive at the modern and clean Terminal 2 (T2).

📍

Location

35km south of Nha Trang City Center, about a 45-minute drive.

🚕

Transport Options

Taxi (~400k VND), Ride-Hail Apps (Grab), Shuttle Bus (~65k VND), or Pre-booked Private Car.

Why Book With Us?

Need a Visa? Let the Experts Handle It.

Avoid common mistakes and confusing paperwork. Our visa experts ensure your application is submitted perfectly for a hassle-free, guaranteed-success process. Get your visa with a fast turnaround and a simple form.

Apply for Your Visa Now

© 2024 CXR Interactive Arrival Guide. All rights reserved.

This is an informational tool based on the guide by VietnamImmigration.org.

document.addEventListener(‘DOMContentLoaded’, () => { const menuButton = document.getElementById(‘menu-button’); const mobileMenu = document.getElementById(‘mobile-menu’); menuButton.addEventListener(‘click’, () => { mobileMenu.classList.toggle(‘hidden’); }); document.querySelectorAll(‘#mobile-menu a’).forEach(link => { link.addEventListener(‘click’, () => { mobileMenu.classList.add(‘hidden’); }); }); const visaTabs = document.querySelectorAll(‘.visa-tab’); const processFlowContainer = document.getElementById(‘process-flow’); const fastTrackAdvantageText = document.getElementById(‘fast-track-advantage-text’); const processData = { evisa: { standard: [ { name: ‘Deplane & Follow Signs’, icon: ‘✈️’, time: 5 }, { name: ‘Immigration Queue’, icon: ‘🕒’, time: 45 }, { name: ‘Baggage Claim’, icon: ‘🧳’, time: 20 }, { name: ‘Customs Check’, icon: ‘✅’, time: 5 }, ], fastTrack: [ { name: ‘Meet & Greet at Gate’, icon: ‘🤝’, time: 2 }, { name: ‘Priority Immigration’, icon: ‘⭐’, time: 5 }, { name: ‘Baggage Claim’, icon: ‘🧳’, time: 20 }, { name: ‘Customs Check’, icon: ‘✅’, time: 5 }, ], advantageText: “Our agent meets you at the gate and escorts you through priority lanes, bypassing the main immigration queue for a swift, VIP entry.” }, voa: { standard: [ { name: ‘Deplane & Follow Signs’, icon: ‘✈️’, time: 5 }, { name: ‘VOA Counter Queue’, icon: ‘📄’, time: 60 }, { name: ‘Immigration Queue’, icon: ‘🕒’, time: 30 }, { name: ‘Baggage Claim’, icon: ‘🧳’, time: 20 }, { name: ‘Customs Check’, icon: ‘✅’, time: 5 }, ], fastTrack: [ { name: ‘Meet & Greet at Gate’, icon: ‘🤝’, time: 2 }, { name: ‘Agent Handles VOA’, icon: ‘⭐’, time: 10 }, { name: ‘Priority Immigration’, icon: ‘⭐’, time: 5 }, { name: ‘Baggage Claim’, icon: ‘🧳’, time: 20 }, { name: ‘Customs Check’, icon: ‘✅’, time: 5 }, ], advantageText: “Our agent handles the entire VOA process for you—paperwork and payment—while you relax. Then, you’ll be escorted through the priority immigration lane.” } }; function createStepHTML(step, index, total, isFastTrack = false) { const color = isFastTrack ? ‘teal’ : ‘slate’; return `
${step.icon}

${step.name}

Approx. ${step.time} mins

${index < total – 1 ? `
` : ”} `; } function updateProcessFlow(visaType) { const data = processData[visaType]; const standardFlowHTML = data.standard.map((step, i) => createStepHTML(step, i, data.standard.length)).join(”); const fastTrackFlowHTML = data.fastTrack.map((step, i) => createStepHTML(step, i, data.fastTrack.length, true)).join(”); processFlowContainer.innerHTML = `

Standard Process

${standardFlowHTML}

Fast Track Process

${fastTrackFlowHTML}
`; fastTrackAdvantageText.textContent = data.advantageText; } const ctx = document.getElementById(‘time-chart’).getContext(‘2d’); const timeChart = new Chart(ctx, { type: ‘bar’, data: { labels: [‘Standard Arrival’, ‘Fast Track Arrival’], datasets: [{ label: ‘Total Time (minutes)’, data: [], backgroundColor: [ ‘rgba(100, 116, 139, 0.6)’, // slate-500 ‘rgba(13, 148, 136, 0.6)’ // teal-600 ], borderColor: [ ‘rgba(100, 116, 139, 1)’, ‘rgba(13, 148, 136, 1)’ ], borderWidth: 1 }] }, options: { indexAxis: ‘y’, responsive: true, maintainAspectRatio: false, plugins: { legend: { display: false }, tooltip: { callbacks: { label: function(context) { return ` Estimated time: ${context.raw} minutes`; } } } }, scales: { x: { beginAtZero: true, title: { display: true, text: ‘Minutes’ } }, y: { grid: { display: false } } } } }); function updateChart(visaType) { const data = processData[visaType]; const standardTotalTime = data.standard.reduce((sum, step) => sum + step.time, 0); const fastTrackTotalTime = data.fastTrack.reduce((sum, step) => sum + step.time, 0); timeChart.data.datasets[0].data = [standardTotalTime, fastTrackTotalTime]; timeChart.update(); } visaTabs.forEach(tab => { tab.addEventListener(‘click’, () => { const visaType = tab.dataset.visa; visaTabs.forEach(t => { t.classList.remove(‘active-tab’); t.classList.add(‘inactive-tab’); }); tab.classList.add(‘active-tab’); tab.classList.remove(‘inactive-tab’); updateProcessFlow(visaType); updateChart(visaType); }); }); // Initial load updateProcessFlow(‘evisa’); updateChart(‘evisa’); });
evisa.vn Avatar

Published by