a:6:{i:0;s:11883:"				<div class="h1"><h1>Bikaner - Jaisalmer - Jodhpur - Mount Abu - Pushkar(8N/9D) 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>Bikaner - Jaisalmer - Jodhpur - Mount Abu - Pushkar(8N/9D) 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bikaner, Jaisalmer, Jodhpur, Mount Abu, Pushkar</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="Bikaner - Jaisalmer - Jodhpur - Mount Abu - Pushkar(8N/9D) 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="117523"/>
						</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/190853.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507555/190853.jpg"  width="150" height="150"    alt="Bikaner - Jaisalmer - Jodhpur - Mount Abu - Pushkar(8N/9D) Tour" title="Bikaner - Jaisalmer - Jodhpur - Mount Abu - Pushkar(8N/9D) Tour" /></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 Daily Breakfast  Hotel Accommodation on twin / double sharing basis. <br />
Travel throughout the entire journey in an air condition car.Air fare / train fare.Guide & Monuments Entrance fees during sightseeing 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> Bikaner
								</p>
								<p class="aj">Welcome to Bikaner city. Arrive and check in at hotel later visit Junagarh fort (built on plains unlike all major forts of Rajasthan), camel breeding farm and the famous rat temple at Deshnok. Evening explore 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 2:</b> Bikaner
								</p>
								<p class="aj">After breakfast visit Lalgarh palace (was built by Maharaja Ganga Singh in the year 1902 in memory of his father Maharaja Lal Singh Ji.) Gajner Fort (Gajner Palace is located on the banks of a lake. Maharaja Ganga Singh Ji constructed the palace. The royal family used the palace to retreat after hunting.) Gajner Wildlife santury (You cannot help but admire the scenic landscape in which Gajner Wildlife Sanctuary is situated. The sanctuary houses some of the unique plants and animals.). 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> Bikaner – Jaisalmer (330 kms)
								</p>
								<p class="aj">After breakfast drive to Jaisalmer. Arrive and check in at hotel Later see the man made Gadsisar lake ( Jaisalmer's only source of water for a long period ) and the royal cenotaphs at Bada Bagh. 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> Jaisalmer
								</p>
								<p class="aj">After breakfast visit Jaisalmer Fort one of the largest fortifications in the world, Surya Gate the 12th century gate, the Surya Gate is found at the famous Jaisamler Fort popularly known as 'Golden Fort'., khaba fort yet another fascinating and slightly spooky fort in Jaisalmer. Khaba Fort was once inhabited by the Paliwal Brahmins. In the evening go for a camel safari in the rolling sand dunes of Sam. 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> Jaisalmer - Jodhpur (305 kms)
								</p>
								<p class="aj">After breakfast drive to Jodhpur. Arrive and check in at 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 6:</b> Jodhpur-Mount Abu (270 kms)
								</p>
								<p class="aj">After breakfast transfer to your next destination, Mount Abu Mount Abu. The only hill station in Rajasthan, Mount On reaching Mount Abu, check-in to the hotel. Later visit sightseeing tour 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> 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 8:</b> Mount Abu – Pushkar (370 kms)
								</p>
								<p class="aj">After breakfast leave for your next destination Pushkar. On arrival check in 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. On reaching Pushkar, check-in to the hotel and then leave for sightseeing. Visit the Pushkar Lake where you can take a holy dip. Also, visit the temples and Ghats of Pushkar which are known for their beautiful and unique architectural styles. 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 9:</b> Pushkar-Departure
								</p>
								<p class="aj">Leave Pushkar 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.Guide & Monuments Entrance fees during sightseeing 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="Bikaner - Jaisalmer - Jodhpur - Mount Abu - Pushkar(8N/9D) 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="117523"/>
						</form>
						</div>
						
						";i:1;s:102:"Book Bikaner - Jaisalmer - Jodhpur - Mount Abu - Pushkar(8N/9D) Tour - 8 Nights / 9 Days Tour Packages";i:2;s:189:"book bikaner - jaisalmer - jodhpur - mount abu - pushkar(8n/9d) tour - 8 nights / 9 days tour packages, heritage tour packages, bikaner, jaisalmer, jodhpur, mount abu, pushkar tour packages";i:3;s:229:"Gets Holiday India Tour offers Bikaner - Jaisalmer - Jodhpur - Mount Abu - Pushkar(8N/9D) Tour - 8 Nights / 9 Days tour package, budget Heritage tour packages for Bikaner, Jaisalmer, Jodhpur, Mount Abu, Pushkar at exciting price.";i:4;s:1053:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bikaner, Jaisalmer, Jodhpur, Mount Abu, Pushkar"        
		                 },
		      "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 car.Air 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": "Bikaner - Jaisalmer - Jodhpur - Mount Abu - Pushkar(8N/9D) Tour",
		      "telephone": "+91-8532003202"
		    }
		    </script>
			";i:5;N;}