Infographic: A Guide to Arriving at Phu Cat Airport (UIH)
https://cdn.tailwindcss.com
https://cdn.jsdelivr.net/npm/chart.js
Goal: Organize/Compare -> Viz/Method: Two parallel flowcharts built with structured HTML/CSS, using flexbox and borders. -> Interaction: Static visual comparison. -> Justification: Flowcharts are the clearest way to show a linear process. Placing them side-by-side highlights the extra, time-consuming step for VOA holders. -> Method: HTML/CSS with Tailwind. NO SVG/Mermaid.
– Report Info: Queues and potential delays at Immigration/VOA counters. -> Goal: Inform/Persuade -> Viz/Method: “Pain Point” callouts with Unicode icons (e.g., ⏳) embedded directly into the flowcharts at the relevant steps. -> Interaction: Static visual alert. -> Justification: This contextualizes the problem directly where it occurs in the user’s journey, making the need for a solution more apparent. -> Method: HTML/CSS with Unicode.
– Report Info: Costs of transport and visa stamping fees. -> Goal: Compare/Inform -> Viz/Method: A horizontal bar chart for transport cost comparison and large “stat cards” for the VOA fees. -> Interaction: The chart is dynamically rendered. -> Justification: A bar chart is the best tool for at-a-glance comparison of different numerical values. Stat cards make key numbers memorable. -> Library/Method: Chart.js for the chart; HTML/CSS for the stat cards.
– Report Info: Benefits and trust signals of the expedited service. -> Goal: Inform/Persuade -> Viz/Method: A grid of visually distinct cards, each featuring a large Unicode icon, a key benefit or stat (“15+ Years”), and concise text. -> Interaction: Static visual reinforcement. -> Justification: This “chunking” of information into cards makes the value proposition easy to scan, understand, and trust. -> Method: HTML/CSS with Unicode.
–>
body { font-family: ‘Inter’, sans-serif; background-color: #f0f9ff; }
.chart-container { position: relative; width: 100%; max-width: 600px; margin-left: auto; margin-right: auto; height: 300px; max-height: 400px; }
@media (min-width: 768px) { .chart-container { height: 350px; } }
.flow-line::after { content: ‘▼’; display: block; text-align: center; color: #38bdf8; font-size: 1.5rem; margin: 0.5rem 0; }
.flow-step-terminal::after { content: ”; }
Navigating an international airport shouldn’t be stressful. This guide visualizes your journey through Phu Cat Airport (UIH) and shows you the fastest path from landing to adventure.
The Airport Gauntlet: Standard vs. Expedited Paths
The Standard Paths
This is the typical experience for most travelers.
E-VISA / VISA-FREE
1. Immigration Checkpoint
⏳ Long queues are common.
VISA-ON-ARRIVAL (VOA)
1. Landing Visa Counter
⏳ Known for very long waits and paperwork issues.
2. Immigration Checkpoint
⏳ A second potential queue after the first.
The Expedited Path
Bypass the queues with our expert assistance.
1. Meet & Greet
Our staff meets you right after you disembark.
2. Priority Lane Clearance
We handle all paperwork (including VOA) and escort you through the fastest lanes.
3. Baggage Claim & Exit
You’re on your way in a fraction of the time.
Key Costs & Guarantees by the Numbers
Transport from Airport to City Center
A comparison of estimated costs to get to Quy Nhon (~35km).
VOA Stamping Fee
Required cash payment at the VOA counter.
Our Service Promise
Why you can book with confidence.
Don’t let airport queues be the start of your Vietnam story. Book our Expedited Entry Service and let our team handle the hassle.
Secure payments via PayPal with Buyer Protection.
function wrapLabel(str) {
if (str.length 16 && currentLine.length > 0) {
lines.push(currentLine);
currentLine = word;
} else {
currentLine = currentLine ? currentLine + ‘ ‘ + word : word;
}
}
if (currentLine) {
lines.push(currentLine);
}
return lines;
}
const transportCtx = document.getElementById(‘transportChart’).getContext(‘2d’);
const transportData = {
labels: [‘Airport Shuttle Bus’, ‘Standard Taxi’, ‘Pre-Booked Private Car’].map(wrapLabel),
datasets: [{
label: ‘Estimated Cost (VND)’,
data: [50000, 300000, 400000],
backgroundColor: [‘#7dd3fc’, ‘#38bdf8’, ‘#0ea5e9’],
borderColor: ‘#0284c7’,
borderWidth: 2,
borderRadius: 5,
}]
};
new Chart(transportCtx, {
type: ‘bar’,
data: transportData,
options: {
indexAxis: ‘y’,
responsive: true,
maintainAspectRatio: false,
scales: {
x: {
beginAtZero: true,
ticks: {
callback: function(value, index, ticks) {
return value.toLocaleString(‘en-US’) + ‘ VND’;
},
font: {
weight: ‘600’
},
color: ‘#475569’
},
grid: {
display: false
}
},
y: {
ticks: {
font: {
weight: ‘600’
},
color: ‘#475569’
},
grid: {
display: false
}
}
},
plugins: {
legend: {
display: false
},
tooltip: {
backgroundColor: ‘#003f5c’,
titleFont: { size: 16, weight: ‘bold’ },
bodyFont: { size: 14 },
callbacks: {
title: function(tooltipItems) {
const item = tooltipItems[0];
let label = item.chart.data.labels[item.dataIndex];
return Array.isArray(label) ? label.join(‘ ‘) : label;
},
label: function(context) {
return `Cost: ${context.parsed.x.toLocaleString(‘en-US’)} VND`;
}
}
}
}
}
});
const reviewsData = [
{ name: “Marco from San Marino”, rating: 5, text: “Applied for e-visa 3 days before trip, no updates. Used the 4-hour boost service, visa secured with 48 hours to spare – saving my $1,200 flight.” },
{ name: “Olena from Kyiv”, rating: 5, text: “Applied for e-visa 10 days before flight, no updates. With 48 hours left, used 4-hour service and secured visa with time to spare.” },
{ name: “A. Smith”, rating: 5, text: “Professional and efficient service. They made my visa process completely stress-free. Highly recommend for urgent travel!” },
{ name: “J. Doe”, rating: 4, text: “Great communication and very helpful when I had questions. Received my visa on time as promised. Thank you!” },
{ name: “M. Chen”, rating: 5, text: “Seamless experience from start to finish. The fast-track service saved me hours at the airport. Worth every penny.” }
];
function displayReviews() {
const reviewsContainer = document.querySelector(‘#customer-reviews .grid’);
let reviewsHtml = ”;
reviewsData.forEach(review => {
const stars = ‘⭐’.repeat(review.rating);
reviewsHtml += `
${stars}
“${review.text}”
${review.name}
`;
});
reviewsContainer.innerHTML = reviewsHtml;
}
document.addEventListener(‘DOMContentLoaded’, displayReviews);