a:6:{i:0;s:5645:"				<div class="h1"><h1>Short Escape to Kaziranga Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.abhisarikaholidays.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.abhisarikaholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Short Escape to Kaziranga Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/28170/155098.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/28170/155098.jpg"  width="150" height="150"    alt="Short Escape to Kaziranga Tour" title="Short Escape to Kaziranga Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Guwahati, Kaziranga</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.abhisarikaholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Short Escape to Kaziranga Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="89370"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Guwahati (Arrival)
									</p>
									<div class="data p10px">Upon arrival at Guwahati/Johrat, our tour representative assists you in smooth transfer to the hotel. Just have quick refreshment in Guwahati and begin your journey towards Kaziranga National Park.<br />
<br />
On the way, have lunch and snacks in a good restaurant. Upon arrival, check into the hotel and retire for the day. Stay overnight in Kaziranga</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Kaziranga National Park (Sightseeing)
									</p>
									<div class="data p10px">Early in the morning, check out of the hotel for an elephant safari at 5.30 AM to 6.30 AM in the western range of the national park.  The main attraction of this wildlife park include One-horned Rhinoceros, tiger, wild buffalo, elephant, variety of deer , python and variety of migratory birds among others.Return for refreshment and then again proceed to the park for yet another round of wildlife safari. Overnight stay in hotel</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Kaziranga - Guwahati (Sightseeing)
									</p>
									<div class="data p10px">Leave by road for Guwahati. Upon arrival check into hotel. Post refreshment, embark on local sightseeing tour of Guwahati which include tea gardens, Karbi Ethnic village and local model village. Later, return to the hotel for lunch. In the afternoon, go out for jeep safari at the central stage of this national park. In the evening, enjoy different activities at the hotel & resort. Stay overnight in Kaziranga.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Guwahati (departure)
									</p>
									<div class="data p10px">Post breakfast in the morning, leave the hotel and begin your journey to Guwahati or nearest airport in Jorhat.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
													<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Sightseeing</li>
																	</ul>
							<br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:69:"Book Short Escape to Kaziranga Tour - 3 Nights / 4 Days Tour Packages";i:2;s:139:"book short escape to kaziranga tour - 3 nights / 4 days tour packages, wildlife and nature tour packages, guwahati, kaziranga tour packages";i:3;s:175:"Abhisarika Holidays offers Short Escape to Kaziranga Tour - 3 Nights / 4 Days tour package, budget Wildlife and Nature tour packages for Guwahati, Kaziranga at exciting price.";i:4;s:421:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Guwahati, Kaziranga"        
		                 },
		      "description": "",
		      "name": "Short Escape to Kaziranga Tour",
		      "telephone": "+91-9435143321"
		    }
		    </script>
			";i:5;N;}