a:6:{i:0;s:14458:"				<div class="h1"><h1>Cultural Rajasthan Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northindiatravel.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northindiatravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Cultural Rajasthan Tour 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">
						14 Nights / 15 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bikaner, Chittorgarh, Jaipur, Jaisalmer, Jodhpur, Nathdwara, Pushkar, Shekhawati, Udaipur, Agra, Junagadh</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.northindiatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Cultural Rajasthan Tour 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="37015"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_11/307359/75199.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/75199.jpg"  width="150" height="150"    alt="Rajasthan" title="Rajasthan" /></a></p></div></li>
																		<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_11/307359/75200.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/75200.jpg"  width="150" height="150"    alt="Cultural Rajasthan Tour Package" title="Cultural Rajasthan Tour Package" /></a></p></div></li>
																		<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_11/307359/75201.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/75201.jpg"  width="150" height="150"    alt="Cultural Rajasthan Tour Package" title="Cultural Rajasthan Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> ARRIVAL AT JAIPUR
								</p>
								<p class="aj">Pickup from Jaipur Airport / Railway Station / Bus Stand by placard carrying driver and transfer to HOTEL .  Later visit to the fabled Pink City, the old Jaipur. Drive through the Johari Bazaar to the Hawa Mahal (Palace of Winds). Visit the various museums inside the City Palace and the ancient observatory, Jantar Mantar. Pay a visit to the Govind Deoji Temple, housing the patron deity of Jaipur. Evening free for shopping or your own activities. Overnight stay in Jaipur.</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> AIPUR - SHEKHAWATI
								</p>
								<p class="aj">Depart after an early breakfast for Nawa Shekhawati. See the Cenotaphs, Stepwells, beautifully Painted Havelis & Old Streets at Dundlod,  Mandawa and Mukundgarh.<br />
Check-in AT HOTEL  / Ecofarm</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> SHEKHAWATI - BIKANER
								</p>
								<p class="aj">Proceed for Bikaner after breakfast through Fatehpur. Visit Deshnok Temple and Camel-breeding just before Bikaner. Check-in at hotel in Bikaner.<br />
<br />
Tourist Places: Junagarh Fort, Camel Breeding Farm, Ganga Government Museum, Lalgarh Palace</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> BIKANER - JAISALMER
								</p>
								<p class="aj">See the fabulous Junagarh Fort & La1 Palace and proceed for Jaisalmer. Have lunch on the way. Visit Kheechan on the way, and reach Jaisalmer Check-in at hotel in Jaisalmer</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
								</p>
								<p class="aj">Visit Jaisalmer Fort & Museum after breakfast. Also see the Jain Temple. Take a walk through the back streets to the Patwon ki Haveli & Kothari Haveli. After lunch proceed to Kuidhera - an abandoned habitation and then to Sam Sand Dunes.<br />
<br />
Tourist Places: Jaisalmer Fort, Patwon ki Haveli, Gadsisar Sagar Lake, Tazia Tower, Sam Sand Dunes.</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> JAISALMER - JODHPUR
								</p>
								<p class="aj">After early breakfast, leave for Jodhpur, the Sun City, via Pokhran. Lunch can be had at Pokaran and reach Jodhpur latest by 3 PM.  Visit Mehrangarh Fort, Jaswant Thada and Umeed bhawan (only from the outside). Check-in at hotel in Jodhpur.<br />
<br />
Tourist Places: Mehrangarh fort, Umaid Bhawan Palace, Jaswant Thada<br />
</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> JODHPUR – MOUNT ABU
								</p>
								<p class="aj">Leave after early breakfast for Mt. Abu via Ranakpur Temples. Check-in at hotel in Mt. Abu. Visit the Sunset Point.</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 
								</p>
								<p class="aj">Visit the Dilwara Temples and Brahmakumari Ashrams in the morning and the Nakki Lake in the evening.<br />
<br />
Tourist Places: Dilwara Jain Temple, Nakki Lake, Guru Shikha, Sun set Point</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> MOUNT ABU – UDAIPUR [B//BOAT RIDE]
								</p>
								<p class="aj">Depart for Udaipur. Check-in at hotel. After lunch, half day sightseeing of Udaipur, covering the City Palace, Saheliyon Ki Badi and the Lake.<br />
<br />
Tourist Places: Lake Palace, City Palace, Jag Mandir, Saheliyon- ki-Bari, Fateh Sagar</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 10:</b> UDAIPUR – NATHDWARA - UDAIPUR
								</p>
								<p class="aj">Depart for Chittaurgarh. Check-in at hotel. After lunch, visit the Chittaurgarh Fort.<br />
<br />
Tourist Places: Chittorgarh Fort, Rana Kumbha Palace, Padmini Palace, Kalika Mata Temple</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> UDAIPUR - CHITTAURGARH
									</p>
									<p class="aj">Depart for Chittaurgarh. Check-in at hotel. After lunch, visit the Chittaurgarh Fort.<br />
<br />
Tourist Places: Chittorgarh Fort, Rana Kumbha Palace, Padmini Palace, Kalika Mata Temple</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 12:</b> CHITTAURGARH - PUSHKAR
									</p>
									<p class="aj">After early breakfast, leave for Ajmer. Visit the Dargah & proceed for Pushkar.<br />
Check-in at hotel. After lunch, visit the Barahma Temple, the Holy Lake & Rose Farms.<br />
<br />
Tourist Places: Dargaha, Jagat Pita Shri Brahma Temple, Mahadev Temple, Varah Temple, the three sacred lakes.<br />
</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 13:</b> PUSHKAR – JAIPUR [B,D
									</p>
									<p class="aj">After breakfast, leave for Jaipur. Check-in at Hotel Umaid Bhawan. Visit to Albert Hall Museum & Birla Temple, Sanganer / Bagru (Small towns near Jaipur known for traditional block printing work). Evening visit Chokhi Dhani for Rajasthani traditional Dinner with dance and Music. Overnight stay at Hotel.<br />
 <br />
</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 14:</b> JAIPUR – AGRA [B// ELEPHANT RIDE]
									</p>
									<p class="aj">After breakfast, On the last day of the trip, visit the Kanak Vrindavan Temple, Amber Palace leave for jaipur and on the way visit Fatehpur Sikri and over night at Agra<br />
Tourist Places: Taj Mahal, Agra Fort.</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 15:</b> AGRA - NEW DELHI
									</p>
									<p class="aj">On the last day of the trip, visit the Taj Mahal an Agra fort and in the afternoon drive to New Delhi airport and tour ends</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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">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.northindiatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Cultural Rajasthan Tour 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="37015"/>
						</form>
						</div>
						
						";i:1;s:72:"Book Cultural Rajasthan Tour Package - 14 Nights / 15 Days Tour Packages";i:2;s:217:"book cultural rajasthan tour package - 14 nights / 15 days tour packages, heritage tour packages, bikaner, chittorgarh, jaipur, jaisalmer, jodhpur, nathdwara, pushkar, shekhawati, udaipur, agra, junagadh tour packages";i:3;s:266:"Book Cultural Rajasthan Tour Package - 14 Nights / 15 Days tour packages from MD Tour Travels - Get attractive 14 Nights / 15 Days Heritage  tour packages for  Bikaner, Chittorgarh, Jaipur, Jaisalmer, Jodhpur, Nathdwara, Pushkar, Shekhawati, Udaipur, Agra, Junagadh.";i:4;s:508:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bikaner, Chittorgarh, Jaipur, Jaisalmer, Jodhpur, Nathdwara, Pushkar, Shekhawati, Udaipur, Agra, Junagadh"        
		                 },
		      "description": "",
		      "name": "Cultural Rajasthan Tour Package",
		      "telephone": "+91-9646469331"
		    }
		    </script>
			";i:5;N;}