Interactive Guide: Arriving at Phu Quoc (PQC) Airport
https://cdn.tailwindcss.com
https://cdn.jsdelivr.net/npm/chart.js
Goal: Personalize journey -> Viz/Method: Interactive buttons -> Interaction: Click reveals specific flowchart -> Justification: Immediate access to relevant info -> Method: HTML/JS.
– Report Info: Airport navigation steps -> Goal: Clarify process -> Viz/Method: HTML/CSS flowchart -> Interaction: Steps highlight on hover -> Justification: Visual flow is easier to grasp than text -> Method: Tailwind Flexbox.
– Report Info: Queues & VOA issues -> Goal: Highlight problems -> Viz/Method: Icons (clock, warning) & color accents -> Interaction: “Skip Queue” CTA appears -> Justification: Visually connects problem to solution -> Method: HTML/CSS.
– Report Info: VOA Stamping Fees -> Goal: Compare costs -> Viz/Method: Bar Chart -> Interaction: Hover for tooltips -> Justification: More engaging than plain text for data -> Library: Chart.js.
– Report Info: Trust Factors -> Goal: Build confidence -> Viz/Method: Icon-based cards -> Interaction: Subtle hover effects -> Justification: Scannable, credible proof points -> Method: Tailwind Grid.
– Report Info: Checklists, Customs -> Goal: Provide secondary info -> Viz/Method: Accordion -> Interaction: Click to expand -> Justification: Keeps main UI clean -> Method: HTML/JS.
–>
body {
font-family: ‘Inter’, sans-serif;
background-color: #f4f4f5; /* Zinc 100 */
}
.flow-step {
transition: all 0.3s ease-in-out;
}
.flow-step:hover {
transform: translateY(-4px);
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
.flow-line::after {
content: ‘β’;
font-size: 2rem;
color: #d4d4d8; /* Zinc 300 */
}
.flow-line-sm::after {
content: ‘β’;
font-size: 2rem;
color: #d4d4d8; /* Zinc 300 */
}
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.5s ease-in-out;
}
.accordion-button.open .accordion-arrow {
transform: rotate(180deg);
}
.chart-container {
position: relative;
width: 100%;
max-width: 500px;
margin-left: auto;
margin-right: auto;
height: 250px;
max-height: 300px;
}
@media (min-width: 640px) {
.chart-container { height: 300px; }
}
Smooth Landings in Paradise
Your interactive guide to navigating Phu Quoc (PQC) Airport quickly and without stress.
How Are You Arriving?
Select your visa type to see your personalized airport path.
π
E-Visa or Visa-Free
For travelers with a pre-approved E-Visa or from a visa exempt country.
π
Visa on Arrival (VOA)
For travelers with a pre-approved VOA letter arriving by air.
β
The VIP Experience
Learn about our Expedited Entry service to skip all queues.
Your Arrival Path: E-Visa / Visa-Free
This is your straightforward journey through the airport. The main challenge is the potential for long queues at immigration, especially during peak times.
βοΈ
1. Arrive & Deplane
Follow signs to Immigration.
!
π
2. Immigration Queue
Wait times can be 30-60+ min. Present passport & e-visa.
Skip This Queue
π
3. Baggage Claim
Collect your checked luggage.
β
4. Customs & Exit
Proceed through the Green Channel.
Your Arrival Path: Visa On Arrival
VOA travelers face two potential queues and specific requirements. Our service can handle the entire process for you.
βοΈ
1. Arrive & Deplane
!
π 2. VOA Counter Queue
Submit letter, form, photo & cash fee.
!
π 3. Immigration Queue
Get final entry stamp.
π
4. Baggage Claim
β
5. Customs & Exit
Your Essential Arrival Checklist
Pre-Travel Checklist
βΌ
Passport: Must be valid for at least 6 months from your entry date, with 2+ blank pages.
Visa: Ensure you have the correct e-visa, visa exemption eligibility, or VOA approval letter. Print a copy!
Accommodation Info: Have your hotel address and phone number ready for the arrival card.
Onward Ticket: Proof of departure may be required, especially for visa exemptions.
About Phu Quoc Airport (PQC)
βΌ
Location: Duong To Commune, ~15km from Duong Dong Town.
Terminal: One single, modern terminal for both international and domestic flights. Arrivals are on the 1st floor, Departures on the 2nd.
Facilities: ATMs, currency exchange, free Wi-Fi, food stalls, and duty-free are available.
Transport: Taxis, Grab (ride-hailing), resort shuttles, and private transfers are available outside the arrivals hall.
Customs Regulations Summary
βΌ
Declare if carrying: Over US$5,000 cash (or equivalent) or over 15,000,000 VND.
Duty-Free Allowances: 200 cigarettes, 20 cigars, 1.5L of spirits (>20% ABV).
Prohibited: Narcotics, weapons, explosives, anti-government materials.
© 2024 VietnamImmigration.Org. All rights reserved.
This is an informational guide to enhance your travel experience.
document.addEventListener(‘DOMContentLoaded’, function() {
const pathButtons = document.querySelectorAll(‘.path-btn’);
const pathContents = document.querySelectorAll(‘.path-content’);
const expeditedServiceSection = document.getElementById(‘expedited-service’);
pathButtons.forEach(button => {
button.addEventListener(‘click’, () => {
const selectedPath = button.dataset.path;
// Reset buttons
pathButtons.forEach(btn => btn.classList.remove(‘ring-2’, ‘ring-teal-500’, ‘ring-amber-500’));
// Highlight selected button
if(selectedPath === ‘vip’) {
button.classList.add(‘ring-2’, ‘ring-amber-500’);
} else {
button.classList.add(‘ring-2’, ‘ring-teal-500’);
}
// Hide all content sections first
pathContents.forEach(content => content.classList.add(‘hidden’));
if (selectedPath === ‘vip’) {
// For VIP, we just scroll to the service section
expeditedServiceSection.scrollIntoView({ behavior: ‘smooth’ });
} else {
// Show the selected path’s content
const targetContent = document.getElementById(selectedPath + ‘-path’);
if (targetContent) {
targetContent.classList.remove(‘hidden’);
targetContent.scrollIntoView({ behavior: ‘smooth’, block: ‘center’ });
}
}
});
});
// Accordion Logic
const accordionButtons = document.querySelectorAll(‘.accordion-button’);
accordionButtons.forEach(button => {
button.addEventListener(‘click’, () => {
const content = button.nextElementSibling;
button.classList.toggle(‘open’);
if (content.style.maxHeight) {
content.style.maxHeight = null;
} else {
content.style.maxHeight = content.scrollHeight + “px”;
}
});
});
// Smooth scrolling for internal links
document.querySelectorAll(‘a.scroll-link’).forEach(anchor => {
anchor.addEventListener(‘click’, function (e) {
e.preventDefault();
document.querySelector(this.getAttribute(‘href’)).scrollIntoView({
behavior: ‘smooth’
});
});
});
// Chart.js implementation
const ctx = document.getElementById(‘feesChart’).getContext(‘2d’);
const feesChart = new Chart(ctx, {
type: ‘bar’,
data: {
labels: [‘Single-Entry (1 Month)’, ‘Multi-Entry (1-3 Months)’],
datasets: [{
label: ‘Visa Stamping Fee (USD)’,
data: [25, 50],
backgroundColor: [
‘rgba(13, 148, 136, 0.6)’, // Teal-600
‘rgba(245, 158, 11, 0.6)’ // Amber-500
],
borderColor: [
‘rgb(13, 148, 136)’,
‘rgb(245, 158, 11)’
],
borderWidth: 1
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
y: {
beginAtZero: true,
title: {
display: true,
text: ‘Fee in USD’
}
}
},
plugins: {
legend: {
display: false
},
tooltip: {
callbacks: {
label: function(context) {
let label = context.dataset.label || ”;
if (label) {
label += ‘: ‘;
}
if (context.parsed.y !== null) {
label += new Intl.NumberFormat(‘en-US’, { style: ‘currency’, currency: ‘USD’ }).format(context.parsed.y);
}
return label + ‘ (Cash Only)’;
}
}
}
}
}
});
});