a:6:{i:0;s:12239:"				<div class="h1"><h1>Tawang Excursion Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.grihapraveshtravels.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.grihapraveshtravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Tawang Excursion Tour Package</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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bomdila, Guwahati, Sonitpur, Bhalukpong, Tawang</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.grihapraveshtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tawang Excursion Tour Package - 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="118795"/>
						</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_15/423905/192594.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/423905/192594.jpg"  width="150" height="150"    alt="Tawang Excursion Tour Package" title="Tawang Excursion Tour Package" /></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> Arrive Guwahati
								</p>
								<p class="aj">On arrival at Guwahati airport / railway station meet with our representative and transfer to the hotel. In the evening visit Kamakhya Devi Temple. Stay overnight at 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 2:</b> Guwahati – Bhalukpong
								</p>
								<p class="aj">In the morning after breakfast drive to Bhalukpong, the sylvan paradise in Arunachal Pradesh. On arrival, check into a hotel. In the evening visit one of Asia’s largest gardens of orchids that houses over 450 rare orchids out of 1000 found in India. You can also visit the snow-fed Kameng River that flows alongside. Return to the hotel for 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 3:</b> Bhalukpong - Dirang
								</p>
								<p class="aj">After breakfast drive to Dirang that has a picturesque Monpa Valley (8600ft). En-route we will visit Bomdila Monastery, which was constructed by Tsona Gontse Rinpoche, the 12th reincarnate. The monastery is one of the most famous attractions of Bomdila and was inaugurated in 1965. Bomdila monastery is abode to Buddhist Monks and Lamas. It is believed to be the monastery here in Bomdila is exact replica of Tsona Gontse Monastery.<br />
<br />
Upon arrival at Dirang, check into the hotel. In the evening you are free to visit the hot water spring, regional sheep farm, Sangti and Yak Research Center. Overnight stay at 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 4:</b> Dirang - Tawang
								</p>
								<p class="aj">After an early breakfast we will leave for one of the most popular tourist destinations, Tawang. We will be driving through the beautiful valley of Dirang to reach Sela Pass (13703 ft). En-route bubbling river and colorful tribes will greet you. On reaching spend some time around the paradise lake, which is the land of the Monpa tribes and a major center of the Mahayana Buddhism. Later, we will continue our drive to Tawang. Upon arrival, check into a hotel. In the evening you can visit the Craft Center and traditional Monpa Village. Overnight stay 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 5:</b> Tawang
								</p>
								<p class="aj">Today we will have a full day excursion around Tawang. We will visit the famous Tawang Monastery, which was founded by Mera Lama Lodre Gyaltso. He was a contemporary of the fifth Dalai Lama and founded the Monestery during 17th century A.D. At present it accommodates over 500 monks and houses priceless Buddhist texts and scriptures.<br />
<br />
Later, we will go on a short trek to Bramdungchung Ani Gomap, which is the abode of nuns and the oldest Ani Gompa in Tawang. The Gompa is situated in the lap of a far off mountain laced with natural scenery and comes under the administration of Tawang Monastery.<br />
<br />
In the evening we will visit Urgelling Monastery, situated 5 km to the south of town. It was here in 1683 Tsangyang Gyatso, the sixth Dalai Lama was born. We will also visit the Monpa Village. Overnight stay at the hotel in 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 6:</b> Tawang – Zimthang
								</p>
								<p class="aj">Today we will start our day a little early for an excursion to Zemithang. We will visit the sky looming stupa which was constructed by Lama Prathar of Kharman village in 13th century AD. There are a number of devotees that visit it during Gorzam Kora festival.<br />
Later we will return back to Tawang for 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> Tawang - Bomdila
								</p>
								<p class="aj">Today after breakfast we will drive back to Bomdila. On the way we will stop to visit 1962 Indo-China War Memorial, which is dedicated to Rifleman Jaswant Singh Rawat, of the 4th Battalion of Garhwal Rifles Infantry Regiment. He showed his heroism by fighting and holding the attack of China back for 72 hours all alone. Singh remained at his post at an altitude of about 10,000 feet before succumbing to an enemy bullet during that bloody winter war. The memorial is located 25 km before Tawang and is surrounded by scenic terrain just below the Sela Pass.<br />
<br />
After visiting the war memorial, we will continue our drive to Bomdila. En-route enjoy the beauty of snow-clad peaks namely Kangto (7090 mt), Nyegi Kangsang (7050 mt), Gorichen (6488 mt).<br />
<br />
Upon arrival at Bomdila, check into the hotel. Enjoy evening at leisure, followed by overnight stay at 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 8:</b> Bomdila – Tipi – Tezpur
								</p>
								<p class="aj">Today after breakfast we will drive to Tezpur, en-route visit the Orchid Center at Tipi. Tipi houses over 7500 orchids. On display are some of the finest species like the Dainty Lady’s Slipper or the more formal sounding Dendrobium.<br />
<br />
Continue drive to Tezpur. Upon arrival, check into the hotel. Fresh-n-up and enjoy a sightseeing tour of Tezpur.<br />
<br />
The place is also known as ‘The City of Blood’. It is steeped in mythologies and legends. Situated on the north bank of Brahmaputra, this town of magnificent scenic beauty and exquisite archaeological ruins is the head quarter of Sonitpur District. Overnight stay at 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 9:</b> Departure
								</p>
								<p class="aj">After breakfast we will leave for Guwahati. Upon arrival we will transfer you to the airport/railway station for onward destinations.<br />
<br />
Tour and Services 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>
																		<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.grihapraveshtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tawang Excursion Tour Package - 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="118795"/>
						</form>
						</div>
						
						";i:1;s:68:"Book Tawang Excursion Tour Package - 8 Nights / 9 Days Tour Packages";i:2;s:161:"book tawang excursion tour package - 8 nights / 9 days tour packages, lakes & rivers tour packages, bomdila, guwahati, sonitpur, bhalukpong, tawang tour packages";i:3;s:213:"Book Tawang Excursion Tour Package - 8 Nights / 9 Days tour packages from Grihapravesh Travels - Get attractive 8 Nights / 9 Days Lakes & Rivers  tour packages for  Bomdila, Guwahati, Sonitpur, Bhalukpong, Tawang.";i:4;s:448:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bomdila, Guwahati, Sonitpur, Bhalukpong, Tawang"        
		                 },
		      "description": "",
		      "name": "Tawang Excursion Tour Package",
		      "telephone": "+91-9800718321"
		    }
		    </script>
			";i:5;N;}