a:7:{i:0;s:6157:"				<div class="h1"><h1>Short Escape to Jaipur Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.heavensgroup.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.heavensgroup.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Short Escape to Jaipur 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">
						2 Nights / 3 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Jaipur, Hawa Mahal, Amber Fort, City Palace</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price </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="https://www.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Short Escape to Jaipur 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="45235"/>
						</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_10/278544/89426.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/278544/89426.jpg"  height="150"  width="150"    alt="Short Escape to Jaipur Tour" title="Short Escape to Jaipur Tour" loading="lazy"></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> Jaipur (Arrival)
								</p>
								<p class="aj">Soon after your arrival at Jaipur Railway Station/Airport, you will be transferred to the guesthouse. Later, set out to walk around some of the striking sites of the Pink City such as City Palace, Hawa Mahal and the famous Jantar Mantar, the famous World Heritage Site.</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 (Sightseeing)
								</p>
								<p class="aj">Devour a delicious breakfast; embark on a sightseeing jaunt of the intriguing Amber Fort. You’ll have an option to take a quick elephant ride up to the fort. The remaining hours of the day are at your leisure to explore the Pink City on your own.</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 (Departure)
								</p>
								<p class="aj">As the dawn cracks, check out of the hotel and get transferred to the Jaipur Airport/Railway Station.</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">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="https://www.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Short Escape to Jaipur 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="45235"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Short Escape to Jaipur Tour - 2 Nights / 3 Days Tour Packages";i:2;s:158:"book short escape to jaipur tour - 2 nights / 3 days tour packages, forts and palaces tour packages, jaipur, hawa mahal, amber fort, city palace tour packages";i:3;s:203:"Book Short Escape to Jaipur Tour - 2 Nights / 3 Days tour packages from Heavens Group - Get attractive 2 Nights / 3 Days Forts and Palaces  tour packages for  Jaipur, Hawa Mahal, Amber Fort, City Palace.";i:4;s:428:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jaipur, Hawa Mahal, Amber Fort, City Palace"        
		                 },
		      "description": "",
		      "name": "Short Escape to Jaipur Tour",
		      "telephone": "+91-9034015552"
		    }
		    </script>
			";i:5;N;i:6;N;}