a:6:{i:0;s:17800:"				<div class="h1"><h1>North East Adventure Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.journeyasia.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.journeyasia.co.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>North East Adventure 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">
						22 Nights / 23 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Guwahati, Shillong, Sonitpur, Golaghat, Tawang, West Kameng</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.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North East Adventure 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="105666"/>
						</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_1/7828/175716.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/7828/175716.jpg"  width="150" height="150"    alt="North East Adventure Tour" title="North East Adventure Tour" /></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
								</p>
								<p class="aj">Arrival at Guwahati After a brief welcome ceremony on arrival at Guwahati drive on and check into your hotel room. Overnight stay at Guwahati.</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> After breakfast visit Kamakhya Temple, a Major Hindu Pilgrimage site.
								</p>
								<p class="aj">During the festival of Ambubashi more than a million devotees throng this holy place. Return to hotel after paying homage to the mother godess Kamakhya and drive on to Cherrapunjee (170 Kms) the wettest region in the world receiving highest rainfall. Visiting en-route Borapani Umiam Lake, a majestic placid lake with its surrounding sylvan hills Overnight stay in Cherrapunjee.</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> Explore Krem Mawmluh Cave.
								</p>
								<p class="aj">This cave is located half a km west of Cherrapunjee adjacent to the small hamlet of Mawmluh. The cave has five river passage with impressive proportions. The cave has a length of over seven Kms. Also visit the Waterfalls of Cherrapunjee (fourth tallest waterfall-Nohkalikai is at Cherrapunji) & Living root Bridges. Overnight stay in Cherrapunjee.</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> After an early morning breakfast walk to the Double Decker Livng Root Bridge
								</p>
								<p class="aj">An engineering marvel of Indegenous Khasi Tribesmen. Who weaved the routes of the ereca tree to make bridges across streams. Return to Chera Tourist Resort after a picnic lunch at the bridge. Evening at leisure to experience the breathtaking views of the Khasi hills and the plains of Bangladesh. Overnight at Cherapunjee.</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> After breakfast drive to Shillong, the 'Scotland of the East
								</p>
								<p class="aj">En-route encounter Elephanta falls and Shillong peak for some breathtaking views. Overnight at Shillong.</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> Shillong
								</p>
								<p class="aj">Morning sightseeing at Shillong, admire the beauty of Shillong also called Scotland of the East. <br />
It is erstwhile capital of undivided Assam; present North-East and home to the Khasi Highland tribes. Overnight at Shillong.</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> Shillong-Kaziranga (280 kms 5 hrs drive)
								</p>
								<p class="aj">Early morning drive onto famous Kaziranga National park. Afternoon explore Kaziranga National Park on Jeep Ride. Overnight at Kaziranga National Park.</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> : Kaziranga:Elephant Safari, Rhino.
								</p>
								<p class="aj">Early morning explore central area of Kaziranga National park on an elephant safari. Ride an Elephant through the park chasing a unicorn rhino along with a wide range of rare species. After lunch again take jeep safari to the central area of the park. Rest of the day at leisure to explore nature. Overnight at tourist Lodge.</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> Kaziranga-Nameri
								</p>
								<p class="aj">Leave Kaziranga National Park and drive to Nameri National Park, check into eco-camp. O/N at Nameri.</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> Nameri-Dirang
								</p>
								<p class="aj">Drive form Nameri to Dirang.</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> Jorhat-Dirang
									</p>
									<p class="aj">Early morning departure with packed breakfast. Drive through the picturesque tea gardens of Tezpur to reach Bhalukpung(130km), on the foothills of Eastern Himalayas. After entry formalities and lunch we enter Arunachal, bounty of unending natural beauty. Driving for 20 minutes through curly roads overlooking the dancing 'Bhoroli' river you arrive at Tipi, where lies the Orchidarium, a glass house having 7500 orchids. We drive on to Dirang(130km). On reaching Dirang check in the 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 12:</b> Dirang-Sela Pass:
									</p>
									<p class="aj">Day 12: Dirang-Sela Pass: <br />
Buddhist Monasteries, Tribal village, Sela pass. Early morning, we will visit the upper and the lower 'Gompa' (Buddhist Monastery) at Bomdilla. After a leisurely breakfast we depart for Sela Pass (13703 ft). You drive onto centuries old Dirang Basti a 'Dirang Monpa' tribal village, still retaining its old stone made houses and its colourful inhabitants with warmth in their hearts. Dirang town overlooking the fast flowing Dirang river. Camp at Sela pass (13703ft).</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> Sela-Chabrilla: (13000 ft) 5 hrs trek
									</p>
									<p class="aj">After breakfast we start trekking with packed lunch. Arrive at Chabrilla camp. Overnight stay in tents.</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> Chabrilla-Nurarang-Tawang (12000 ft) 4 hrs trek
									</p>
									<p class="aj">After breakfast we start trekking for Nurarang with packed lunch. Arrive at Nurarang High altitude Trout Fish Farm. From Nurarang Drive to Tawang; the blessed land of Monpas. Overnight at Tawang.</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> Tawang
									</p>
									<p class="aj">After breakfast, visit 350years old Buddhist monastery, locally known as Gompa, which seems to be suspended from heaven in an equally ethereal space. Also visit the nunneries locally called Ani Gompa and Urgelling Monastery, 460 years old Monastery established by lama Urghen Sangpo Bhumthang, which is also the birthplace of His holiness 6th Dalai Lama. In the evening enjoy ethnic Monpa tribal dances and dances by Lamas. Overnight at Tawang.</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 16:</b> Tawang-Dirang
									</p>
									<p class="aj">Waterfalls, Sela peak, Scenic beauty. Early morning drive to Jang to encounter the waterfalls, one of the breathtaking sights. Move onto Dirang (150km), another heart pulling place with scenic beauty, en-route stopping at Sela Top (14000 ft). Overnight stay at Dirang</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 17:</b> Camping: Trek in the Sangti Valley
									</p>
									<p class="aj">Overnight camping in the hills.</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 18:</b> Trek to the valey to have look at the Rare Black Necked Cranes Wintering at Sangti.
									</p>
									<p class="aj">Trek to the valey to have look at the Rare Black Necked Cranes Wintering at Sangti. <br />
Return to Dirang Resort for some much needed refreshment. Overnight at Dirang.</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 19:</b> Dirang-Bhalukpung (130kms)
									</p>
									<p class="aj">Early morning drive onto Bhalukpung with packed breakfast. After lunch we raft down Jia Bhoreli river to Nameri national Park. Overnight at Nameri National Park.</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 20:</b> Bhalukpung-Guwahati (275 kms 5 hrs drive)
									</p>
									<p class="aj">Early morning walk inside the National Park on the Tigers Trail. Return for Breakfast. After breakfast another session of rafting on Jia Bhoreli and Elephant ride to National park. Return to Guwahati after picnic lunch. Overnight at Guwahati.</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 21:</b> Guwahati.
									</p>
									<p class="aj">Explore this gateway city to North-East India and the riverfront of mighty Brahmaputra River. In the evening set out on a River cruise to watch the sun go down the river and see yourself why the river is locally called 'Luit'- colour of blood.</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 22:</b> Guwahati:
									</p>
									<p class="aj">Local Sightseeing in and around Guwahati. <br />
Guwahati. Press conference.</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 23:</b> Depart
									</p>
									<p class="aj">Tour End.</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.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North East Adventure 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="105666"/>
						</form>
						</div>
						
						";i:1;s:69:"Book North East Adventure Tour - 22 Nights / 23 Days Tour Packages";i:2;s:185:"book north east adventure tour - 22 nights / 23 days tour packages, water sports and activity tour packages, guwahati, shillong, sonitpur, golaghat, tawang, west kameng tour packages";i:3;s:214:"Journey Asia offers North East Adventure Tour - 22 Nights / 23 Days tour package, budget Water Sports and Activity tour packages for Guwahati, Shillong, Sonitpur, Golaghat, Tawang, West Kameng at exciting price.";i:4;s:459:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Guwahati, Shillong, Sonitpur, Golaghat, Tawang, West Kameng"        
		                 },
		      "description": "",
		      "name": "North East Adventure Tour",
		      "telephone": "+91-9910078863"
		    }
		    </script>
			";i:5;N;}