Historical Palace
About This Attraction
The Udaipur City Palace is a historical complex located in the city of Udaipur, Rajasthan, India. This architectural marvel was built over 400 years by several rulers of the Mewar dynasty, offering visitors a glimpse into the grandeur of Rajasthans royal heritage. It stands majestically on the eastern banks of Lake Pichola and consists of several palaces within its complex. The intricate peacock mosaics, balconies, and towers provide stunning views of the surrounding lake and city. Visitors can explore its many museums, each showcasing artifacts that highlight the rich history and culture of the region.
When planning a visit, its important to know the Udaipur City Palace opening hours, which are typically from 9:30 AM to 5:30 PM daily. The complex is easily accessible from various parts of the city and offers guided tours for a more detailed experience. Tickets can be purchased at the entrance, with different pricing for international tourists and Indian citizens. Nearby attractions include the Jagdish Temple and the serene Lake Pichola, making it convenient for tourists to explore multiple sites in one day. Overall, Udaipur City Palace remains a must-visit destination for those interested in history and architecture.
Location Details
Address
Old City, Udaipur, Rajasthan 313001, India
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
₹300
Child
₹100
Student
₹100
Senior
₹300
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
9:30 AM to 5:30 PM
Seasonality
Open year-round
Booking
Booking Required?
No
Nearby Attractions
The City Palace in Jaipur is a significant landmark that showcases the architectural brilliance of…
Learn More
Hawa Mahal, located in Jaipur, India, is an iconic palace known for its unique architecture.…
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';
}
});
});
}
});