Historical Monument
About This Attraction
Hawa Mahal, located in Jaipur, India, is an iconic palace known for its unique architecture. Built in 1799 by Maharaja Sawai Pratap Singh, it features a five-story facade with 953 small windows, known as jharokhas, which allow cool air to circulate through the building. This design kept the palace comfortable during hot summer months and allowed royal women to observe street festivals without being seen.
Visitors can explore the architectural marvel from 9:00 AM to 4:30 PM daily, as these are the Hawa Mahal opening hours. The entry fee varies for Indian and international tourists, making it accessible for all. The palace stands on a busy street in Jaipurs Pink City area, offering easy access to nearby attractions. Its historical significance and impressive design make it a must-visit destination for anyone traveling to Jaipur.
Location Details
Address
Hawa Mahal Rd, Badi Choupad, J.D.A. Market, Pink City, Jaipur, Rajasthan 302002, India
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
50 INR
Child
Free
Student
50 INR
Senior
50 INR
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
9:00 AM to 5:00 PM
Seasonality
Open Year-round
Booking
Booking Required?
No
Nearby Attractions
The Udaipur City Palace is a historical complex located in the city of Udaipur, Rajasthan,…
Learn More
The City Palace in Jaipur is a significant landmark that showcases the architectural brilliance of…
Learn More
Jal Mahal is a palace located in the middle of Man Sagar Lake in Jaipur,…
Learn More
Amber Fort, located in Jaipur, India, is a stunning example of Rajput architecture. It was…
Learn More
Pushkar Lake, located in the town of Pushkar in Rajasthan, India, is a significant pilgrimage…
Learn More
The Brahma Temple in Pushkar is one of the few temples dedicated to Lord Brahma,…
Learn More
The Pushkar Camel Fair is an annual event held in the town of Pushkar, Rajasthan,…
Learn More
Savitri Temple in Pushkar is a significant spiritual site located on Ratnagiri Hill, offering panoramic…
Learn More
Fatehpur Sikri is an ancient city located near Agra, India, built by Emperor Akbar in…
Learn More
Agra Fort, located in Agra, India, is a UNESCO World Heritage site and an important…
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';
}
});
});
}
});