Geothermal Park
About This Attraction
Wai-O-Tapu Thermal Wonderland is a popular geothermal attraction located in Rotorua, New Zealand. Known for its stunning natural features, the park is home to vibrant hot springs, bubbling mud pools, and the famous Champagne Pool. Visitors can explore well-maintained walking tracks that provide easy access to the various geothermal sites. Its important to check Wai-O-Tapu Thermal Wonderland travel information for opening hours and any safety guidelines before planning your visit.
The Lady Knox Geyser is another highlight of Wai-O-Tapu, erupting daily with a spectacular display. The park offers educational insights into geothermal activity and the unique geological formations found in the area. Facilities such as a visitor center and café are available to enhance your experience. Remember to bring comfortable walking shoes and a camera to capture the unique landscapes.
Location Details
Address
201 Waiotapu Loop Road, Rotorua 3073, New Zealand
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
NZD 32.50
Child
NZD 11.00
Student
NZD 27.00
Senior
NZD 27.00
Opening Hours & Booking
Open
Days
Daily
Hours
8:30 AM - 5: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.
Nearby Attractions
The Redwoods Forest in Rotorua, also known as the Whakarewarewa Forest, is a popular destination…
Learn More
Te Puia, located in Rotorua, New Zealand, is a significant cultural and geothermal attraction. It…
Learn More
Waiheke Island is located in the Hauraki Gulf, just a short ferry ride from Auckland,…
Learn More
The Auckland War Memorial Museum is a prominent landmark in Auckland, New Zealand, located in…
Learn More
The Sky Tower in Auckland is a prominent landmark that stands at 328 meters tall,…
Learn More
The Wellington Cable Car is an iconic attraction in New Zealands capital city, providing both…
Learn More
Te Papa Museum, located on the Wellington waterfront, is New Zealands national museum. Known for…
Learn More
Zealandia, located in Wellington, New Zealand, is an urban eco-sanctuary dedicated to preserving native wildlife.…
Learn More
Russell, located in the Bay of Islands, New Zealand, is a small town known for…
Learn More
Hole in the Rock is a well-known natural attraction located in the Bay of Islands,…
Learn More
";
}
// 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';
}
});
});
}
});