Interactive Guide: Arriving at Hai Phong (HPH) Airport https://cdn.tailwindcss.com https://cdn.jsdelivr.net/npm/chart.js Goal: Organize/Filter -> Viz: Interactive Buttons -> Interaction: Click to filter content -> Justification: The most critical user choice, gates all other relevant info. – Report Info: Arrival steps -> Goal: Organize/Inform -> Viz: HTML/CSS Visual Flow Diagram -> Interaction: Visual progression -> Justification: More intuitive and easier to follow than a text list. – Report Info: Wait times/Queues -> Goal: Compare/Persuade -> Viz: Chart.js Bar Chart -> Interaction: Chart updates based on user’s visa type -> Justification: Visually quantifies the main benefit (time saved) of the expedited service. – Report Info: Checklist/Airport Info -> Goal: Inform -> Viz: Collapsible Accordion Sections -> Interaction: Click to expand/collapse -> Justification: Hides detailed information until needed, keeping the main interface clean. – Report Info: Trust points -> Goal: Inform/Build Trust -> Viz: Iconography with text -> Interaction: Static display -> Justification: Quickly conveys reliability and professionalism. – Library/Method: Vanilla JS for interactions, Chart.js for data visualization on Canvas. –> body { font-family: ‘Inter’, sans-serif; background-color: #f8f7f4; color: #4a4a4a; } .section-card { background-color: #ffffff; border-radius: 0.75rem; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); transition: all 0.3s ease-in-out; } .btn-primary { background-color: #3b82f6; /* Blue 500 */ color: white; transition: background-color 0.3s; } .btn-primary:hover { background-color: #2563eb; /* Blue 600 */ } .btn-secondary { background-color: #e5e7eb; /* Gray 200 */ color: #374151; /* Gray 700 */ transition: background-color 0.3s; } .btn-secondary:hover { background-color: #d1d5db; /* Gray 300 */ } .btn-selected { background-color: #166534; /* Green 800 */ color: white; box-shadow: 0 0 0 2px #f8f7f4, 0 0 0 4px #166534; } .step-connector { flex-grow: 1; height: 2px; background-color: #d1d5db; /* Gray 300 */ } .step-icon { width: 50px; height: 50px; border: 2px solid #d1d5db; } .accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.5s ease-in-out; } .chart-container { position: relative; width: 100%; max-width: 600px; margin-left: auto; margin-right: auto; height: 300px; max-height: 400px; }

Arriving at Hai Phong (HPH) Airport

Your interactive guide to a smooth and efficient entry into Vietnam.

Start Here: What is Your Visa Status?

Select your visa type to see your personalized arrival process.

Your Arrival Steps

Pre-Arrival Checklist

  • Passport Validity: Must be valid for at least 6 months after your entry date.
  • Visa Status: Confirm if you need an E-Visa, Visa-on-Arrival (with pre-approval letter), or qualify for Visa Exemption.
  • Document Copies: Keep digital and physical copies of your passport, visa, and flight itinerary separate from the originals.
  • VOA Approval Letter: You MUST have this printed before you board your flight.
  • NA1 Form: Have it completed with a 4x6cm photo attached.
  • Stamping Fee: Carry exact cash in USD or VND ($25 for single-entry, $50 for multi-entry). There is NO ATM at the VOA counter.
  • Currency: Declare cash amounts over $5,000 USD or 15,000,000 VND.
  • Duty-Free: Be aware of limits for alcohol, tobacco, and other goods.
  • Medications: Keep prescription medicine in original packaging with a doctor’s note if possible.
  • Travel Insurance: Ensure you have a comprehensive policy.

About Cat Bi Airport (HPH)

πŸ“

Location

8km from Hai Phong city center. A quick and easy transfer.

✈️

Facilities

Single terminal for domestic & international flights. Currency exchange, SIM cards, and WiFi are available.

πŸš•

Transport

Taxis, ride-hailing (Grab), and local buses are readily available outside the arrivals hall.

Why Trust Our Expedited Service?

We are committed to providing a reliable and secure service.

⏳

15+ Years of Experience

Our domain has been active since 2008, a testament to our expertise and reliability.

πŸ›‘οΈ

100% Money-Back Guarantee

We stand by our service quality. Refer to our public refund policy for details.

πŸ’³

PayPal Buyer Protection

Your payments are secure with PayPal’s robust buyer protection policy.

🌟

Trusted by Travelers

See what our customers are saying on independent review platforms like SiteJabber.

Information provided by VietnamImmigration.org

document.addEventListener(‘DOMContentLoaded’, () => { const btnEvisa = document.getElementById(‘btn-evisa’); const btnVoa = document.getElementById(‘btn-voa’); const contentArea = document.getElementById(‘content-area’); const evisaFlowContainer = document.getElementById(‘evisa-flow’); const voaFlowContainer = document.getElementById(‘voa-flow’); const processTitle = document.getElementById(‘process-title’); let waitTimeChart = null; const flowData = { evisa: [ { icon: ‘✈️’, title: ‘Disembark Aircraft’, description: ‘Follow signs to the Arrivals Hall.’ }, { icon: ‘πŸ›‚’, title: ‘Immigration Checkpoint’, description: ‘Present your passport and printed E-Visa. Wait in the standard queue.’ }, { icon: ‘πŸ›„’, title: ‘Baggage Claim’, description: ‘Collect your luggage from the assigned carousel.’ }, { icon: ‘βœ…’, title: ‘Customs Check’, description: ‘Proceed through the Green (nothing to declare) or Red Channel.’ }, { icon: ‘πŸ‘‹’, title: ‘Exit & Enjoy Vietnam’, description: ‘You have officially entered Vietnam.’ } ], voa: [ { icon: ‘✈️’, title: ‘Disembark Aircraft’, description: ‘Follow signs to the Arrivals Hall.’ }, { icon: ‘πŸ“„’, title: ‘Landing Visa Counter’, description: ‘Your FIRST stop. Submit passport, VOA letter, NA1 form, photo & cash fee. Wait for your name to be called.’ }, { icon: ‘πŸ›‚’, title: ‘Immigration Checkpoint’, description: ‘With your new visa sticker, proceed to the standard immigration queue for the entry stamp.’ }, { icon: ‘πŸ›„’, title: ‘Baggage Claim’, description: ‘Collect your luggage from the assigned carousel.’ }, { icon: ‘βœ…’, title: ‘Customs Check’, description: ‘Proceed through the Green or Red Channel.’ }, { icon: ‘πŸ‘‹’, title: ‘Exit & Enjoy Vietnam’, description: ‘You have officially entered Vietnam.’ } ] }; const chartData = { evisa: { labels: [‘Immigration Queue’], datasets: [{ label: ‘Standard Wait’, data: [45], backgroundColor: ‘rgba(239, 68, 68, 0.6)’, // Red borderColor: ‘rgba(239, 68, 68, 1)’, borderWidth: 1 }, { label: ‘Expedited Service’, data: [5], backgroundColor: ‘rgba(34, 197, 94, 0.6)’, // Green borderColor: ‘rgba(34, 197, 94, 1)’, borderWidth: 1 }] }, voa: { labels: [‘Visa Counter’, ‘Immigration Queue’], datasets: [{ label: ‘Standard Wait’, data: [60, 45], backgroundColor: ‘rgba(239, 68, 68, 0.6)’, borderColor: ‘rgba(239, 68, 68, 1)’, borderWidth: 1 }, { label: ‘Expedited Service’, data: [5, 5], backgroundColor: ‘rgba(34, 197, 94, 0.6)’, borderColor: ‘rgba(34, 197, 94, 1)’, borderWidth: 1 }] } }; const createFlowDiagram = (steps) => { let html = ”; steps.forEach((step, index) => { html += `
${step.icon}

${index + 1}. ${step.title}

${step.description}

`; if (index < steps.length – 1) { html += `
`; } }); return html; }; const updateChart = (type) => { const ctx = document.getElementById(‘waitTimeChart’).getContext(‘2d’); const data = chartData[type]; if(waitTimeChart) { waitTimeChart.destroy(); } waitTimeChart = new Chart(ctx, { type: ‘bar’, data: data, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, title: { display: true, text: ‘Estimated Wait Time (Minutes)’ } } }, plugins: { legend: { position: ‘top’, }, title: { display: true, text: ‘Standard vs. Expedited Arrival’ }, tooltip: { callbacks: { label: function(context) { let label = context.dataset.label || ”; if (label) { label += ‘: ‘; } if (context.parsed.y !== null) { label += context.parsed.y + ‘ minutes’; } return label; } } } } } }); }; btnEvisa.addEventListener(‘click’, () => { btnEvisa.classList.add(‘btn-selected’); btnEvisa.classList.remove(‘btn-secondary’); btnVoa.classList.remove(‘btn-selected’); btnVoa.classList.add(‘btn-secondary’); contentArea.classList.remove(‘hidden’); voaFlowContainer.classList.add(‘hidden’); evisaFlowContainer.classList.remove(‘hidden’); evisaFlowContainer.innerHTML = createFlowDiagram(flowData.evisa); processTitle.textContent = ‘Your E-Visa / Visa-Free Arrival Steps’; updateChart(‘evisa’); }); btnVoa.addEventListener(‘click’, () => { btnVoa.classList.add(‘btn-selected’); btnVoa.classList.remove(‘btn-secondary’); btnEvisa.classList.remove(‘btn-selected’); btnEvisa.classList.add(‘btn-secondary’); contentArea.classList.remove(‘hidden’); evisaFlowContainer.classList.add(‘hidden’); voaFlowContainer.classList.remove(‘hidden’); voaFlowContainer.innerHTML = createFlowDiagram(flowData.voa); processTitle.textContent = ‘Your Visa-on-Arrival (VOA) Steps’; updateChart(‘voa’); }); document.querySelectorAll(‘.accordion-header’).forEach(button => { button.addEventListener(‘click’, () => { const accordionContent = button.nextElementSibling; const accordionIcon = button.querySelector(‘.accordion-icon’); button.classList.toggle(‘active’); if (button.classList.contains(‘active’)) { accordionContent.style.maxHeight = accordionContent.scrollHeight + ‘px’; accordionIcon.textContent = ‘-‘; } else { accordionContent.style.maxHeight = ‘0’; accordionIcon.textContent = ‘+’; } }); }); });
evisa.vn Avatar

Published by