a:6:{i:0;s:12417:"				<div class="h1"><h1>Jaipur - Pushkar - Udaipur - Mount Abu - Jodhpur (7N / 8 Day ) Package</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>Jaipur - Pushkar - Udaipur - Mount Abu - Jodhpur (7N / 8 Day ) Package</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">Jaipur, Jodhpur, Mount Abu, Pushkar, Udaipur</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="Jaipur - Pushkar - Udaipur - Mount Abu - Jodhpur (7N / 8 Day ) Package - 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="117500"/>
						</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/190830.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507555/190830.jpg"  width="150" height="150"    alt="Jaipur - Pushkar - Udaipur - Mount Abu - Jodhpur (7N / 8 Day ) Package" title="Jaipur - Pushkar - Udaipur - Mount Abu - Jodhpur (7N / 8 Day ) Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Assistance on Arrival. <br />
A 24 - hour helpline. <br />
Welcome Drink On Arrival at Hotel <br />
Daily Breakfast <br />
Hotel Accommodation on twin / double sharing basis. <br />
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> Arrive in Jaipur
								</p>
								<p class="aj">On arrival in Jaipur, transfer to hotel. Later leave for sightseeing around the city. You can begin with a visit to the City Palace which is known to be the formal residence of a royal family. After check in proceed for sightseeing around the palace by visiting City Palace and also visit attractions like Chandra Mahal and Shri Govinddeo Temple. Evening shopping in the colorful 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 2:</b> Jaipur
								</p>
								<p class="aj">After breakfast leave for a sightseeing tour of Jaipur. The first attraction which you visit today is the Amber Fort. On your way, you visit the Hawa Mahal, Naharghr Fort, Jai Gahr Fort, Jantar Mantar and Jal-Mahal. Explore the glorious past of Rajasthan with a visit to these historical attractions. Later evening shopping in the Handicraft shops. Also drive through the city and also visit the famous Laxmi Narayan Mandir (Birla Temple). 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> Jaipur – Pushkar (120 km 2-3hrs)
								</p>
								<p class="aj">After breakfast drive toward Puskar enroute visit Ajmer it is popular for the tomb of Dargah Sharif Tomb of Khwaja Moinuddin Chishti, a well-known Sufi saint. On arrival transfer to hotel. Pushkar is a holy town in Rajasthan which is known to house some legendary temples and century’s old lake. It is a famous pilgrimage site because it has the well-known Brahma temple where people visit from all over. Apart from this temple, Pushkar is known to have a number of other temples which are architecturally beautiful. Visit the Pushkar Lake where you can take a holy dip.In the evening, you can visit the Rose Garden and enjoy the beauty of the roses. 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> Pushkar – Udaipur (283kms 6-7hrs)
								</p>
								<p class="aj">After breakfast leave for Udaipur on arrival transfer to hotel. Udaipur is a beautiful city of Rajasthan. 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, 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 5:</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 city place. 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 local markets. 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> Udaipur - Mount Abu (160 km 2-3hrs)
								</p>
								<p class="aj">After breakfast leave for Mount Abu. On arrival transfer at the hotel. The only hill station in Rajasthan, Mount Abu is a famous tourist destination. It is also an important Jain pilgrim site. Later 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, visit local market and 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 7:</b> Mount Abu - Jodhpur (270 km 5-6hrs)
								</p>
								<p class="aj">After breakfast, drive to Jodhpur. Arrive & check - in to the hotel after in the sightseeing visit Umaid Bhawan Palace also known as Chittar Palace, this monument is divided into three areas, namely a heritage hotel, museum and the Maharaja’s royal residence. Umaid Bhawan Palace is one of the most exclusive hotels of Jodhpur. The Jaswant Thada is an architectural marvel with intricate carvings. Famed as one of the most beautiful white marble cenotaphs, it was built in 1899 by Maharaja Sardar Singh in commemoration of his father Maharaja Jaswant Singh II, Government Museum Visit the Government Museum to see a unique display of the rich collection of weapons, textiles, miniature portraits, local crafts and images of Jain Tirthankaras (sages). 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> Jodhpur Departure
								</p>
								<p class="aj">After breakfast departure for your onwards 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="Jaipur - Pushkar - Udaipur - Mount Abu - Jodhpur (7N / 8 Day ) Package - 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="117500"/>
						</form>
						</div>
						
						";i:1;s:109:"Book Jaipur - Pushkar - Udaipur - Mount Abu - Jodhpur (7N / 8 Day ) Package - 7 Nights / 8 Days Tour Packages";i:2;s:193:"book jaipur - pushkar - udaipur - mount abu - jodhpur (7n / 8 day ) package - 7 nights / 8 days tour packages, heritage tour packages, jaipur, jodhpur, mount abu, pushkar, udaipur tour packages";i:3;s:248:"Book Jaipur - Pushkar - Udaipur - Mount Abu - Jodhpur (7N / 8 Day ) Package - 7 Nights / 8 Days tour packages from Gets Holiday India Tour - Get attractive 7 Nights / 8 Days Heritage  tour packages for  Jaipur, Jodhpur, Mount Abu, Pushkar, Udaipur.";i:4;s:1066:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jaipur, Jodhpur, Mount Abu, Pushkar, Udaipur"        
		                 },
		      "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": "Jaipur - Pushkar - Udaipur - Mount Abu - Jodhpur (7N / 8 Day ) Package",
		      "telephone": "+91-8532003202"
		    }
		    </script>
			";i:5;N;}