Pre-Arrival Checklist
Ensure a smooth entry into Vietnam by preparing these essential items before your flight.
πPassport & Visa
- Valid for 6+ months upon entry.
- At least 2 blank pages.
- Printed E-Visa or VOA approval letter.
πDocumentation
- Accommodation address and contact info.
- Proof of onward/return travel.
- Completed NA1 form (for VOA).
π΅Financial & Customs
- Cash (USD/VND) for VOA stamping fee.
- Declare cash over $5,000 USD.
- Check duty-free limits (alcohol, tobacco).
Interactive Arrival Process
Your path through the airport depends on your visa. Select your type to see a personalized step-by-step guide.
Getting to Ha Long City
Van Don Airport is ~60km from Ha Long. Compare your transportation options below to make the best choice for your budget and schedule.
Cost & Time Comparison
Airport Shuttle
Most economical. Routes 14A/14B are often free with prior booking. Travel time is 60-80 mins.
Taxi
Readily available and convenient. Ensure the meter is used or agree on a fare beforehand. Travel time is 45-60 mins.
Private Car
Best for comfort and groups with luggage. Pre-booking is recommended. Travel time is 45-60 mins.
Streamline Your Journey
Consider these professional services to make your arrival completely hassle-free.
Immigration Fast Track
A premium meet-and-greet service to bypass all queues at the airport. A personal escort guides you through priority lanes for immigration and visa processing.
Book Fast Track ServiceExpert Visa Application
Simplify your E-Visa or Visa on Arrival application with a trusted service offering a simple form, fast turnaround, and a 100% success or money-back guarantee.
Apply for Visa Online${step.title}
${step.description}
`; container.appendChild(stepDiv); }); } const btnEvisa = document.getElementById(‘btn-evisa’); const btnVoa = document.getElementById(‘btn-voa’); btnEvisa.addEventListener(‘click’, () => { renderFlowchart(‘evisa’); btnEvisa.classList.replace(‘bg-slate-200’, ‘bg-blue-600’); btnEvisa.classList.replace(‘text-slate-700’, ‘text-white’); btnVoa.classList.replace(‘bg-blue-600’, ‘bg-slate-200’); btnVoa.classList.replace(‘text-white’, ‘text-slate-700’); }); btnVoa.addEventListener(‘click’, () => { renderFlowchart(‘voa’); btnVoa.classList.replace(‘bg-slate-200’, ‘bg-blue-600’); btnVoa.classList.replace(‘text-slate-700’, ‘text-white’); btnEvisa.classList.replace(‘bg-blue-600’, ‘bg-slate-200’); btnEvisa.classList.replace(‘text-white’, ‘text-slate-700’); }); renderFlowchart(‘evisa’); const transportCtx = document.getElementById(‘transportChart’).getContext(‘2d’); new Chart(transportCtx, { type: ‘bar’, data: { labels: [‘Shuttle’, ‘Taxi’, ‘Private Car’], datasets: [ { label: ‘Min Cost ($)’, data: [8, 35, 40], backgroundColor: ‘rgba(59, 130, 246, 0.6)’, borderColor: ‘rgba(37, 99, 235, 1)’, borderWidth: 1 }, { label: ‘Max Cost ($)’, data: [10, 50, 60], backgroundColor: ‘rgba(147, 197, 253, 0.6)’, borderColor: ‘rgba(96, 165, 250, 1)’, borderWidth: 1 } ] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, title: { display: true, text: ‘Estimated Cost (USD)’ } } }, plugins: { tooltip: { callbacks: { title: (tooltipItems) => `Est. Cost for ${tooltipItems[0].label}`, label: (context) => `${context.dataset.label}: $${context.formattedValue}` } } } } }); const sections = document.querySelectorAll(‘section’); const navLinks = document.querySelectorAll(‘.nav-link’); const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { navLinks.forEach(link => { link.classList.toggle(‘active’, link.getAttribute(‘href’).substring(1) === entry.target.id); }); } }); }, { rootMargin: ‘-50% 0px -50% 0px’ }); sections.forEach(section => observer.observe(section)); });