a:6:{i:0;s:11642:"				<div class="h1"><h1>Jodhpur - Barmer - Mount Abu - Udaipur 6N /7D Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.getsholidayindiatour.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.getsholidayindiatour.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Jodhpur - Barmer - Mount Abu - Udaipur 6N /7D Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Jodhpur, Mount Abu, Udaipur, Barmer</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.getsholidayindiatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Jodhpur - Barmer - Mount Abu - Udaipur 6N /7D 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="117716"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/507555/191053.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507555/191053.jpg"  width="150" height="150"    alt="Jodhpur - Barmer - Mount Abu - Udaipur 6N /7D Tour" title="Jodhpur - Barmer - Mount Abu - Udaipur 6N /7D Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Assistance On Arrival. A 24 - Hour Helpline. Welcome Drink On Arrival At Hotel Daily Breakfast Hotel Accommodation On Twin / Double Sharing Basis. Travel Throughout The Entire Journey In An Air Condition CarAir Fare / Train Fare.<br />
Guide & Monuments Entrance Fees During Sightseeing.<br />
Camera Charges / Jeep Safari / Camel Safari / Elephant Ride Charges.<br />
Expenses Of Personal Nature Such As Tips, Telephone Calls, Laundry, Liquor, Insurance Etc.<br />
Any Other Item Not Specified In The Package Inclusions.<br />
Supplement Will Be Applicable For Single Occupancy.<br />
Gst Extra<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> Jodhpur
								</p>
								<p class="aj">On Arrival at Jodhpur city transfer to hotel later visit the best preserved fort of Rajasthan -the Mehrangarh fort. Later see the marble cenotaph at Jaswant Thada, known as the the Taj Mahal of Rajasthan. Overnight at hotel.</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> Jodhpur
								</p>
								<p class="aj">After breakfast visit Balsamand Lake (a artificial lake that was constructed by Balak Rao Pariharin 1159 AD. The lush greenery around the lake has mango groves, papaya groves and groves of guava, plum and pomegranate.) Rao Jodha Desert Rock Park (The aim behind the formation of Rao Jodha Desert Rock Park in the year 2006 was to restore the rocky area near the fort. Once preliminary steps were taken to restore the land, more than 80 native plant species from the famous Thar Desert were grown.) Umaid Bhawan Palace Museum(The construction of Umaid Bhawan Palace Museum was started in the year 1929 and it was completed in 1943. The palace is situated on the highest point in the city. The 347-roomed massive palace is named one of the largest private residences in the world. Overnight at hotel.</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> Jodhpur - Barmer (203 kms)
								</p>
								<p class="aj">After breakfast drive to Barmer. On arrival transfer to hotel later visit Barmer fort (The tourist attractions in Barmer are the Barmer Fort. Actually the Barmer town sits atop a rocky hill, where one can find the ruins of the old Barmer Fort scattered all over. ) Balark Temple (The Balark Temple, dedicated to Balark (the Sun God) and the ancient ruins of Juna Barmer are other interesting tourist attractions in Barmer.) Kiradu (beautifully carved temple with fine details of temple architecture. Once the capital of Punwars, Kiradu was called Kiratkoop, as revealed in the 1161 AD inscription found here. ) Overnight at hotel.</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> Barmer- Mountabu (290 kms)
								</p>
								<p class="aj">After breakfast, check-out from the Hotel and drive to Mount Abu. The only hill station in Rajasthan, Mount Abu is a famous tourist destination. It is also an important Jain pilgrim site. On reaching Mount Abu, check-in to the hotel. Later visit local market. Overnight at hotel.</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 5:</b> Mount Abu
								</p>
								<p class="aj">After breakfast Visit the Dilwara Jain Temples which were constructed back in the 11th century. Then, you can visit Sunset Point or Nakki Lake and enjoy the breathtaking views of the surroundings. In the evening, take a stroll around the place and explore the beauty of nature at its best. Overnight at hotel</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 6:</b> Mount Abu - Udaipur (160 kms)
								</p>
								<p class="aj">After breakfast check out from the hotel. Start driving towards your next destination, Udaipur. Udaipur, the City of Lakes is well-known as the historic capital of the Mewar Kingdom. The place takes every visitor through the Rajput era. On reaching Udaipur, check-in to the hotel. In the evening, you can go for a stroll around the place. Overnight at hotel.</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 7:</b> Udaipur
								</p>
								<p class="aj">After breakfast leave for a sightseeing tour around Udaipur. You can begin with a visit to Saheliyon-Ki-Bari. Post that, you can visit attractions like Museum of folk art which is famous for its wide collection of puppets, folk dresses, dolls, ornaments, paintings and folk musical instruments. Later, you can visit the City Palace which is known to be the biggest palace complex in India. In the evening, enjoy a boat ride at Pichola Lake which is the star attraction of Udaipur. Overnight at hotel.</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 8:</b> Udaipur-Departure
								</p>
								<p class="aj">After breakfast leave Udaipur for onward destination</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Air Fare / Train Fare.</li><li>
Guide & Monuments Entrance Fees During Sightseeing.</li><li>
Camera Charges / Jeep Safari / Camel Safari / Elephant Ride Charges.</li><li>
Expenses Of Personal Nature Such As Tips, Telephone Calls, Laundry, Liquor, Insurance Etc.</li><li>
Any Other Item Not Specified In The Package Inclusions.</li><li>
Supplement Will Be Applicable For Single Occupancy.</li><li>
Gst Extra</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.getsholidayindiatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Jodhpur - Barmer - Mount Abu - Udaipur 6N /7D 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="117716"/>
						</form>
						</div>
						
						";i:1;s:89:"Book Jodhpur - Barmer - Mount Abu - Udaipur 6N /7D Tour - 7 Nights / 8 Days Tour Packages";i:2;s:164:"book jodhpur - barmer - mount abu - udaipur 6n /7d tour - 7 nights / 8 days tour packages, heritage tour packages, jodhpur, mount abu, udaipur, barmer tour packages";i:3;s:204:"Gets Holiday India Tour offers Jodhpur - Barmer - Mount Abu - Udaipur 6N /7D Tour - 7 Nights / 8 Days tour package, budget Heritage tour packages for Jodhpur, Mount Abu, Udaipur, Barmer at exciting price.";i:4;s:1022:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jodhpur, Mount Abu, Udaipur, Barmer"        
		                 },
		      "description": "Assistance On Arrival. A 24 - Hour Helpline. Welcome Drink On Arrival At Hotel Daily Breakfast Hotel Accommodation On Twin / Double Sharing Basis. Travel Throughout The Entire Journey In An Air Condition CarAir Fare / Train Fare.
Guide & Monuments Entrance Fees During Sightseeing.
Camera Charges / Jeep Safari / Camel Safari / Elephant Ride Charges.
Expenses Of Personal Nature Such As Tips, Telephone Calls, Laundry, Liquor, Insurance Etc.
Any Other Item Not Specified In The Package Inclusions.
Supplement Will Be Applicable For Single Occupancy.
Gst Extra",
		      "name": "Jodhpur - Barmer - Mount Abu - Udaipur 6N /7D Tour",
		      "telephone": "+91-8532003202"
		    }
		    </script>
			";i:5;N;}