a:6:{i:0;s:23979:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Indore Ujjain Spiritual Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.guptatourandtravels.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.guptatourandtravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Indore Ujjain Spiritual Tour</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Indore, Ujjain</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.guptatourandtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Indore Ujjain Spiritual Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="190123"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_21/612440/298602.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_21/612440/298602.jpg"  width="150" height="72"    alt="Indore Ujjain Spiritual Tour" title="Indore Ujjain Spiritual Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Dotted with heaps of sacrosanct temples and cultural insignias, the getaways from Indore serve as a perfect tour option for all the tourists who want to drench themselves in spirituality and peace of mind. Tour to these temples guarantees the tourists with an excursion that rotates around grand palaces and holy shrines. These popular attractions are renowned for their cultural significance and exquisiteness.<br />
This 03 Nights and 04 Days trip to spiritual Indore getaways takes the tourists to a comprehensive and pleasant tour to consecrated destinations like Ujjain and Omkareshwar. The major attractions of the trip are visiting attraction in Indore such as Lal Bagh Palace, Kanch Mandir and Gomatgiri, visiting historical places, sightseeing in Ujjain and exploring temples in Omkareshwar. The tour is ideal for spirituality lovers in quest to attain serenity of mind.								</div>
								<br />
																<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Indore
										</p>
										<p class="aj">On arrival at Indore Airport/ Railway station, meet our tour representative who will be there to greet you and transfer to already booked hotel. Nestled at the center of Malwa Plateau, Indore is a place that takes visitors back to the Holkar Dynasty. The place is ideal among history lovers. Check in at the hotel and get ready to explore the real natural beauty of the place. In our Indore sightseeing tour itinerary we will be visiting some of the major attractions of the places such as Kanch Mandir, Lal Bagh Palace, Central Museum, Khajrana and Gomatgiri. This will help you in witnessing a perfect mix of culture and art of varied ages and regions. After exploring these places we will return back to the hotel for a relaxing overnight stay.<br />
Kanch Mandir, well known as Temple of Glass, is a famous Jain temple in Indore which was built by Sir Seth Hukumchand Jain. It lies adjacent to Shish Mahal and has a beautiful interior made using glassall over.<br />
Lal Bagh Palace is one of the grandest structures that belong to the Holkar Dynasty. It was once used as the resident of the Holkars. Exploring this palace will let you know many stories of this old dynasty and their achievements.Central Museum also named as Indore Museum is one of the place of great significance for history lovers who wants to dip deep into the history in order to enhance their knowledge. The museum showcases an extensive range of Parmar sculptures from Hinglajgarh that are in fact originated here.<br />
Khajrana is a famous Ganesh temple in Indore. Constructed in the year 1875, during the reign of Rani Ahilya Bai Holkar, today this temple is counted among a major pilgrimage center in the Indore city.<br />
Gomatgiri is a small hillock located amidst picturesque surroundings. It is one of the most admired holy attractions for the followers of Jainism.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> Indore - Ujjain - Indore
										</p>
										<p class="aj">Today we will leave Indore early in the morning for a day tour to Ujjain. On arrival in Ujjain, meet our tour guide who will take you to the place where breakfast will be ready for you. After enjoy delicious breakfast, we will proceed for the sightseeing tour of Ujjain accompanied by the travel guide. Ujjain is acknowledged for Kalidasa and its most popular composition, Meghdoot. It is also known as adobe for Lord Shiva where he has the power of the 12 Jyotirlingas. In our day tour itinerary, we will be covering the major tourist attractions of Ujjain such as the Mahakaleshwar Temple, Chintaman Ganesh, Bhartrihari Caves, Bade Ganeshji Ka Mandir, Pir Matsyendranath, Vedh Shala and Kaliadeh Palace. Thereafter, we will return back to our hotel in Indore for a comfortable overnight stay.<br />
Mahakaleshwar Temple is one of the 12 Jyotirlingas that are belived to be the holy adobes of Lord Shiva. It is one of the popular Hindu temples and is located the Rudra Sagar lake side in Ujjain.Bhartrihari Caves is named after the renowned sage 'Bhatrihari' and represents the ancient wealth of India. They are listed among the major attractions of the place and are visited by large number of travellers from around the world.<br />
Vedh Shala is a observatory was constructed in 1719 by Maharaja Sawai Raja Jaisingh of Jaipur when he was the Governor of Malwa in Ujjain under the supremacy of Delhi's king Muhammad Shah. Beautifully designed, it has now become an interesting tourist destinations that grab attention of visitors from across the globe.<br />
Kaliadeh Palace is nestled on the banks of the River Shipra. It is similar to an island which got split by a small stretch of water. The palace states a perfect example of the ancient Ujjain and has become an inspiration for many poets to pen down its beauty in the best way possible.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Indore - Omkareshwar - Indore
										</p>
										<p class="aj">We will leave early in the morning for a day tour to Omkareshwar that lies about 77 km away from Indore. On reaching Indore, enjoy hot served breakfast and thereafter proceed to pay a visit to the holy Omkareshwar. Omkareshwar is a famous Hindu temple devoted to Lord Shiva and is one of the 12 sacred Jyotirlinga shrines of Hindu religion. It lies on the island named Shivpuri or Mandhata that is shaped in the form of Hindu symbol, 'Om'. Thousands of Hindu pilgrims visit this island every year. In our day tour, we will be visiting places such as Shri Omkar Mandhata, Kajal Rani Cave, Saptamatrika Temple and Siddhanath Temple. After exploring these holy places, we will proceed to return back to our hotel in Indore for an overnight stay.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 4:</b> Indore departure
										</p>
										<p class="aj">On the last day of our tour after breakfast in the morning, you will be transferred to airport/ railway station to board the flight or train for onward destination.<br />
Tour & services Ends.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount</li><li>
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.guptatourandtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Indore Ujjain Spiritual Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="190123"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/ujjain-tour-packages.htm" title="Ujjain Tour Packages">Ujjain</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/indore-tour-packages.htm" title="Indore Tour Packages">Indore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/omkareshwara-tour-packages.htm" title="Omkareshwara Tour Packages">Omkareshwara</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/jabalpur-tour-packages.htm" title="Jabalpur Tour Packages">Jabalpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/kanha-tour-packages.htm" title="Kanha Tour Packages">Kanha</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/nagpur-tour-packages.htm" title="Nagpur Tour Packages">Nagpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/panchmarhi-tour-packages.htm" title="Pachmarhi Tour Packages">Pachmarhi</a> <b class="alpha50 bn small">(1)</b></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.guptatourandtravels.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(5)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Indore, Ujjain</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.guptatourandtravels.in/holiday-packages/02-nights03-days-indore-ujjain-omkareshwar-indore-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_21/612440/298401.jpg"  alt="02 Nights / 03 Days Indore - Ujjain - Omkareshwar - Indore Tour" title="02 Nights / 03 Days Indore - Ujjain - Omkareshwar - Indore Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.guptatourandtravels.in/holiday-packages/02-nights03-days-indore-ujjain-omkareshwar-indore-tour.htm" title="02 Nights / 03 Days Indore - Ujjain - Omkareshwar - Indore Tour"><h3>02 Nights / 03 Days Indore - Ujjain - Omka..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Indore, Ujjain, Omkareshwara</p>
															<div class="mt10px small">
							<form name="pkg_190047" id="pkg_190047" method="post" action="http://www.guptatourandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.guptatourandtravels.in/holiday-packages/02-nights03-days-indore-ujjain-omkareshwar-indore-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="02 Nights / 03 Days Indore - Ujjain - Omkareshwar - Indore Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="190047"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.guptatourandtravels.in/holiday-packages/ujjain-tour-package-from-delhi.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_21/612440/298603.jpg"  alt="Ujjain Tour Package From Delhi" title="Ujjain Tour Package From Delhi"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.guptatourandtravels.in/holiday-packages/ujjain-tour-package-from-delhi.htm" title="Ujjain Tour Package From Delhi"><h3>Ujjain Tour Package From Delhi</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Ujjain</p>
															<div class="mt10px small">
							<form name="pkg_190124" id="pkg_190124" method="post" action="http://www.guptatourandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.guptatourandtravels.in/holiday-packages/ujjain-tour-package-from-delhi.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Ujjain Tour Package From Delhi - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="190124"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.guptatourandtravels.in/holiday-packages/ujjain-omkareshwar-maheshwar-indore-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_21/612440/298403.jpg"  alt="Ujjain Omkareshwar Maheshwar Indore Tour" title="Ujjain Omkareshwar Maheshwar Indore Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.guptatourandtravels.in/holiday-packages/ujjain-omkareshwar-maheshwar-indore-tour.htm" title="Ujjain Omkareshwar Maheshwar Indore Tour"><h3>Ujjain Omkareshwar Maheshwar Indore Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Indore, Ujjain, Omkareshwara</p>
															<div class="mt10px small">
							<form name="pkg_190049" id="pkg_190049" method="post" action="http://www.guptatourandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.guptatourandtravels.in/holiday-packages/ujjain-omkareshwar-maheshwar-indore-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Ujjain Omkareshwar Maheshwar Indore Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="190049"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.guptatourandtravels.in/holiday-packages/mahakaleshwar-temple-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_21/612440/298402.jpg"  alt="Mahakaleshwar Temple Tour" title="Mahakaleshwar Temple Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.guptatourandtravels.in/holiday-packages/mahakaleshwar-temple-tour.htm" title="Mahakaleshwar Temple Tour"><h3>Mahakaleshwar Temple Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Ujjain</p>
															<div class="mt10px small">
							<form name="pkg_190048" id="pkg_190048" method="post" action="http://www.guptatourandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.guptatourandtravels.in/holiday-packages/mahakaleshwar-temple-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Mahakaleshwar Temple Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="190048"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:67:"Book Indore Ujjain Spiritual Tour - 3 Nights / 4 Days Tour Packages";i:2;s:135:"book indore ujjain spiritual tour - 3 nights / 4 days tour packages, religious & pilgrimage tour packages, indore, ujjain tour packages";i:3;s:187:"Book Indore Ujjain Spiritual Tour - 3 Nights / 4 Days tour packages from Gupta Tour & Travels - Get attractive 3 Nights / 4 Days Religious & Pilgrimage  tour packages for  Indore, Ujjain.";i:4;s:1288:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Indore, Ujjain"        
		                 },
		      "description": "Dotted with heaps of sacrosanct temples and cultural insignias, the getaways from Indore serve as a perfect tour option for all the tourists who want to drench themselves in spirituality and peace of mind. Tour to these temples guarantees the tourists with an excursion that rotates around grand palaces and holy shrines. These popular attractions are renowned for their cultural significance and exquisiteness.
This 03 Nights and 04 Days trip to spiritual Indore getaways takes the tourists to a comprehensive and pleasant tour to consecrated destinations like Ujjain and Omkareshwar. The major attractions of the trip are visiting attraction in Indore such as Lal Bagh Palace, Kanch Mandir and Gomatgiri, visiting historical places, sightseeing in Ujjain and exploring temples in Omkareshwar. The tour is ideal for spirituality lovers in quest to attain serenity of mind.",
		      "name": "Indore Ujjain Spiritual Tour",
		      "telephone": "+91-9179728977"
		    }
		    </script>
			";i:5;N;}