a:6:{i:0;s:6516:"				<div class="h1"><h1>North East Triangle 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>North East Triangle 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/114491.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/28170/114491.jpg"  width="150" height="150"    alt="North East Triangle Tour" title="North East Triangle Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Guwahati, Shillong, Golaghat</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="North East Triangle 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="60949"/>
						</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 Airport / Rly Station - Kaziranga National Park (220 kms / 5 hrs)
									</p>
									<div class="data p10px">Meet and assist by our representative at Guwahati Airport / Railway Station & transfer to Kaziranga National Park, the home of “One Horned Rhinoceros”, Check in at your hotel. Evening free for leisure. Overnight stay at Kaziranga.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Kaziranga National Park
									</p>
									<div class="data p10px">Early morning explore any one zone of Kaziranga National Park on back of Elephant. Apart from the Rhino, other species found are Hog Deer, Swamp Deer, Wild Buffalo, Elephants and if you are lucky then tiger also. It is also home to pelicans, storks and darters as there are a number of water bodies inside the Park. Return to the resort for breakfast. In the afternoon enjoy jeep safari through the National Park. Evening return to the hotel. Overnight stay at Kaziranga.<br />
Note: Jungle Safari in Kaziranga National Park officially starts from 1st November.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Kaziranga National Park - Shillong (295 kms / 7 hrs)
									</p>
									<div class="data p10px">After breakfast proceed for Shillong (4,900 ft.), called 'Scotland of the East". Enroute visit Umium Lake, a majestic placid lake with its surrounding sylvan hills. On arrival at Shillong, check in at your hotel. Evening free for leisure. Overnight stay at Shillong.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Excursion to Cherrapunjee (60 kms / 2 hrs)
									</p>
									<div class="data p10px">After early breakfast drive to Cherrapunjee (4,400 ft.), the wettest place in the world. You will see the beautiful waterfall known as Nohkalikai. You can also explore the caves known as Mawsmai. Evening return to Shillong, enroute visit Elephanta falls and Shillong peak for some breathtaking views. Overnight stay at Shillong.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Shillong Sightseeing - Guwahati (100 kms / 3 hrs)
									</p>
									<div class="data p10px">After breakfast visit Don Bosco Museum & Ward’s Lake. After that drive to Guwahati. Arrive and check in at hotel. In the evening visit 'Kalakshetra', a place where Assamese history and culture is presented through Light and sound show. Return to hotel. Overnight stay at Guwahati.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Guwahati Airport / Rly Statiion
									</p>
									<div class="data p10px">After breakfast visit Kamakhya Temple, etc. Transfer to Guwahati Airport / Railway Station for your onward journey.</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>
																	</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:63:"Book North East Triangle Tour - 5 Nights / 6 Days Tour Packages";i:2;s:129:"book north east triangle tour - 5 nights / 6 days tour packages, valley tour packages, guwahati, shillong, golaghat tour packages";i:3;s:180:"Book North East Triangle Tour - 5 Nights / 6 Days tour packages from Abhisarika Holidays - Get attractive 5 Nights / 6 Days Valley  tour packages for  Guwahati, Shillong, Golaghat.";i:4;s:424:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Guwahati, Shillong, Golaghat"        
		                 },
		      "description": "",
		      "name": "North East Triangle Tour",
		      "telephone": "+91-9435143321"
		    }
		    </script>
			";i:5;N;}