Home » Asia » Vietnam » Phu Quoc » Vinpearl Safari
Vinpearl Safari

Vinpearl Safari

Vinpearl Safari in Phu Quoc is Vietnams first and largest semi-wildlife conservation park. It covers an area of approximately 380 hectares and is home to over 3,000 animals representing more than 150 species from around the world.

Phu Quoc
Share to Friends
Wildlife Park

About This Attraction

Vinpearl Safari in Phu Quoc is Vietnams first and largest semi-wildlife conservation park. It covers an area of approximately 380 hectares and is home to over 3,000 animals representing more than 150 species from around the world. The park is divided into two main areas: the Open Zoo and the Safari Park. The Open Zoo allows visitors to see a variety of animals such as bengal tigers, African lions, and giraffes in a setting that resembles their natural habitats.

Visitors can enjoy the unique experience of a safari tour where they observe animals roaming freely from the safety of a bus. Educational programs and animal shows are also available, offering insight into wildlife conservation efforts. Vinpearl Safari opening hours are typically from 9 AM to 4 PM daily, providing ample time for exploration. This destination offers an engaging experience for families and animal enthusiasts alike.

Location Details

Address Ganh Dau, Phu Quoc, Kien Giang, Vietnam

Visitor Information

Pricing & Ratings

Ticket Prices

Adult 650,000 VND
Child 490,000 VND
Student Not Available
Senior Not Available

Ratings

Overall Rating
8.5/10
Crowd Level
7.0/10

Opening Hours & Booking

Open

Days Daily
Hours 9:00 AM - 4:00 PM
Seasonality Year-round

Booking

Booking Required? Recommended
Book Your Visit

*Prices may vary. Check official website for the most up-to-date information.

"; } // Initialize modal controls const initModalControls = function() { console.log('Initializing modal controls'); const modal = document.getElementById('attraction-modal'); const closeBtn = document.querySelector('.attraction-modal-close'); if (closeBtn) { closeBtn.addEventListener('click', function() { modal.style.display = 'none'; document.body.style.overflow = ''; }); } window.addEventListener('click', function(event) { if (event.target === modal) { modal.style.display = 'none'; document.body.style.overflow = ''; } }); // Make attraction cards clickable const attractionCards = document.querySelectorAll('.attraction-card'); console.log('Found ' + attractionCards.length + ' attraction cards'); attractionCards.forEach(card => { card.addEventListener('click', function(e) { openModalWithCardData(this); }); }); }; // Function to open modal with card data const openModalWithCardData = function(card) { // Get data from hidden div const data = card.querySelector('.attraction-full-data'); if (!data) { console.error('No attraction data found in card'); return; } const modal = document.getElementById('attraction-modal'); if (!modal) { console.error('Modal element still not found after creation attempt'); return; } // Helper function to safely get element text function getElementText(selector) { const element = data.querySelector(selector); return element ? element.textContent : ''; } try { // Basic Info document.getElementById('attraction-modal-title').textContent = getElementText('.attraction-name'); document.getElementById('attraction-modal-type').textContent = getElementText('.attraction-type-full'); document.getElementById('attraction-modal-description').textContent = getElementText('.attraction-description-full'); // Reset all containers to hidden ['attraction-modal-hours-container', 'attraction-modal-price-container', 'attraction-modal-address-container', 'attraction-modal-image-container'].forEach(id => { const container = document.getElementById(id); if (container) container.style.display = 'none'; }); // Rating const ratingText = getElementText('.attraction-rating-full'); if (ratingText) { const ratingValue = parseFloat(ratingText); if (!isNaN(ratingValue)) { const ratingValueEl = document.getElementById('attraction-modal-rating-value'); const ratingFillEl = document.getElementById('attraction-modal-rating-fill'); if (ratingValueEl) ratingValueEl.textContent = ratingValue.toFixed(1) + '/10'; if (ratingFillEl) ratingFillEl.style.width = (ratingValue * 10) + '%'; } } // Show the modal modal.style.display = 'block'; document.body.style.overflow = 'hidden'; // Prevent background scrolling console.log('Modal opened successfully'); } catch (error) { console.error('Error opening modal:', error); } }; // Try to create the modal const created = createModal(); console.log('Modal created:', created); // If not created (already exists), initialize the controls if (!created) { initModalControls(); } // Also initialize distance toggle const distanceToggle = document.getElementById('distance-unit-toggle'); if (distanceToggle) { distanceToggle.addEventListener('change', function() { const showKm = this.checked; // Update toggle labels const labels = document.querySelectorAll('.toggle-label'); if (labels.length >= 2) { labels[0].style.opacity = showKm ? '0.5' : '1'; labels[1].style.opacity = showKm ? '1' : '0.5'; } // Update all distance displays document.querySelectorAll('.nearby-attraction-card').forEach(card => { const kmEl = card.querySelector('.distance-km'); const miEl = card.querySelector('.distance-mi'); if (kmEl && miEl) { kmEl.style.display = showKm ? 'inline' : 'none'; miEl.style.display = showKm ? 'none' : 'inline'; } }); }); } });
Scroll to Top