a:6:{i:0;s:11726:"				<div class="h1"><h1>Nameri - Dirang - Tawang Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.neroutes.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.neroutes.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Nameri - Dirang - Tawang 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">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bomdila, Shillong, Sonitpur, Golaghat, Tawang, Dirang</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.neroutes.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Nameri - Dirang - Tawang 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="64125"/>
						</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_14/392241/118794.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/392241/118794.jpg"  width="150" height="150"    alt="Nameri - Dirang - Tawang Tour" title="Nameri - Dirang - Tawang 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> Guwahati - Nameri National Park
								</p>
								<p class="aj">Today arrive at Guwahati airport, received and transferred to Nameri (220 kms / 05 hrs drive), if time permits we can visit the Sualkuchi Silk weaving village of Assam enroute, reach Nameri and check into Eco Camp and overnight stay.</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> Nameri - Dirang
								</p>
								<p class="aj">Today after breakfast we will drive to Dirang (175 kms / 07 hrs drive), on reach Dirang we will visit Dirang Dzong, check into hotel and if time permits we will visit a Monpa village. Overnight in 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 3:</b> Dirang - Tawang
								</p>
								<p class="aj">Today after breakfast we visit the Dirang Monastery and then we proceed for Tawang (195 kms/ 09 hrs drive), enroute we will visit Sela Lake at Sela Pass (13476 ft), Jashwant Ghar and Nunarang Falls (also known as Jung Falls), reach Tawang and check into hotel and overnight stay.<br />
Arriving time in Tawang approx would be 6:00 – 7:00 PM.<br />
<br />
Tawang: <br />
<br />
The name TAWANG derives from some bearings on surroundings. But people's interpretation is that the name TAWANG was given by Mera Lama in the 17th century.  One can reach Tawang from other parts of the country via Guwahati and Tezpur in Assam. From Guwahati(Assam) or Tezpur(Assam), one has to go to Bhalukpong in West Kameng district of Arunachal Pradesh and from there via Bomdila and Sela Pass one can go to Tawang by road.</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> Tawang
								</p>
								<p class="aj">Today after breakfast we will go for a full excursion in Tawang and in and around, we will visit the Sangetsar Lake (also known as Madhuri Lake), PTso Lake, Tawang War Memorial, Urgelling Monastery, Ani Gompa and if time permits we will visit a hot spring. Evening back to Tawang and overnight stay.</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> Tawang - Bomdila
								</p>
								<p class="aj">Today after an early breakfast we drive to Bomdila (195 kms / 08 hrs drive), reach Bomdila and visit Bomdila Monastery and Bomdila Point, check into hotel and evening at leisure. Overnight at Bomdila.</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> Bomdila - Kaziranga
								</p>
								<p class="aj">Today after breakfast we will drive to Kaziranga ( 235 kms / 08 hrs drive), reach Kaziranga and overnight stay.</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> Kaziranga
								</p>
								<p class="aj">Today you will go for safaris and elephant ride inside the national park. Early morning go for an Elephant ride ( timing 5:00 AM/ 06:00 AM/ 7:00 AM) then return back to the lodge and after breakfast go for a Jeep Safari (timing  8:00 AM / 9:00 AM) for 03 hrs, after the safari come back to lodge. After lunch and refreshment go for another Jeep Safari in the Western/ Central range of the park (timing 2:00AM / 3:00 AM) for 02 ½ hrs ( also depending on the sunset as in winters the sun sets early in Northeast India), evening at leisure. Overnight stay at Kaziranga.</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 - Shillong
								</p>
								<p class="aj">Today after breakfast you will be transferred to Shillong ( 295 kms / 6 hrs drive), enroute stop at the scenic view point of the Umiam lake ( the largest manmade lake in Northeast India), reach Shillong and check into hotel, after refreshment explore the local night markets of Shillong. Overnight at Shillong.<br />
Shillong is the capital and hill station of Meghalaya, also known as "The Abode of Clouds", one of the smallest states in India. It is the headquarters of the East Khasi Hills district and is situated at an average altitude of 4,908 feet above sea level, with the highest point being Shillong Peak at 6,449 feet. Shillong is the 330th most populous city in India with population of 143,007 according to the 2011 census. It is said that the rolling hills around the town reminded the European settlers of Scotland. Hence, they would also refer to it as the "Scotland of the East"</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> Shillong - Cherrapunjee - Shillong
								</p>
								<p class="aj">Today after breakfast we set to explore Shillong and Cherrapunjee (56 kms / 02 hrs drive), we will visit the Elephant falls, Shillong Peak (the highest point in Meghalaya) and the drive further to Cherrapunjee, at Cherrapunjee we visit the Nohkalikai Falls (the fourth highest falls in the world), Mawsmai Cve, Danthlen Falls and Krem Falls. After exploring for the day we will drive back to Shillong and overnight stay.</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> Shillong - Guwahati
								</p>
								<p class="aj">Today after breakfast drive to Guwahati airport ( 140 kms / 03 hrs drive) for onward destination.<br />
TOUR ENDS</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>
															</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.neroutes.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Nameri - Dirang - Tawang 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="64125"/>
						</form>
						</div>
						
						";i:1;s:69:"Book Nameri - Dirang - Tawang Tour - 9 Nights / 10 Days Tour Packages";i:2;s:160:"book nameri - dirang - tawang tour - 9 nights / 10 days tour packages, valley tour packages, bomdila, shillong, sonitpur, golaghat, tawang, dirang tour packages";i:3;s:185:"NERoutes offers Nameri - Dirang - Tawang Tour - 9 Nights / 10 Days tour package, budget Valley tour packages for Bomdila, Shillong, Sonitpur, Golaghat, Tawang, Dirang at exciting price.";i:4;s:454:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bomdila, Shillong, Sonitpur, Golaghat, Tawang, Dirang"        
		                 },
		      "description": "",
		      "name": "Nameri - Dirang - Tawang Tour",
		      "telephone": "+91-9085090801"
		    }
		    </script>
			";i:5;N;}