a:6:{i:0;s:18349:"				<div class="h1"><h1>Assam & Arunachal Pradesh Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.softprotravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.softprotravels.co.in/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Assam & Arunachal Pradesh 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">
						15 Nights / 16 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Itanagar, Guwahati, Golaghat, Tawang, West Kameng, Bomdila -Tezpur</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.softprotravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Assam & Arunachal Pradesh 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="102737"/>
						</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_17/484941/171934.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/484941/171934.jpg"  width="150" height="150"    alt="Assam & Arunachal Pradesh Tour" title="Assam & Arunachal Pradesh 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> Arrive Guwahati
								</p>
								<p class="aj">On arrival at Guwahati airport/railway station, meet our representative and transfer to the hotel. In the evening visit Kamakhya Devi Temple and in the evening enjoy a sunset cruise in the mighty Brahmaputra. 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 2:</b> Guwahati - Kaziranga
								</p>
								<p class="aj">Today after breakfast in Guwahati we will leave for Kaziranga, the Rhinos country. The drive from Guwahati will take a minimum 05 hrs. Upon arrival at Kaziranga, we will check into a wildlife resort.<br />
<br />
Fresh-n-up and then you can go on a guided tour of the forest near your accommodation or along the river bank. You can also visit the tea garden and rubber plantation. Later, return to the resort 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> Kaziranga
								</p>
								<p class="aj">Get up early for a wildlife safari in Kaziranga. Our representative will take you to the riding point by jeeps. The wildlife safari is best mean for viewing wildlife as the wild animals are not afraid of the themselves and possible we can have the glance of them from the very close.<br />
<br />
Return to the resort for breakfast. After breakfast, we will go for Jeep safari. Later return to the resort for fresh-n-up and spent the time till lunch. After lunch we will go on our second jeep safari of the day, this time we will visit the Western zone of the national park. One can also spent some time at the Donga view point, situated in western zone. Later return to the resort 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 4:</b> Kaziranga – Bhalukpong
								</p>
								<p class="aj">In the morning enjoy jeep safari to the national park for wildlife viewing. Later return to the hotel for freshening up. After breakfast we will leave for Bhalukpong (Arunachal Pradesh). This is the perfect place for wildlife enthusiasts, nature lovers, and even adventurers as it serves as an ideal destination for hikers, rafters and anglers. Bhalukpong, Arunachal Pradesh is a little town on the Kameng River and lies along the dense forests that form the border of the Pakhui Wildlife Sanctuary. The Nyethidow festival celebrated in the month of March is a must visit occasions for the tourists to Arunachal Pradesh Bhalukpong. On arrival, check into a hotel.<br />
<br />
Later, we will make a visit to Tippi Orchidarium and local market. Overnight stay in the hotel of Bhalukpong.</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> Bhalukpong – Dirang
								</p>
								<p class="aj">After breakfast drive to Dirang, bye-passing Bomdila, an ideal getaway in West Kameng district with beautiful apple orchards and sheep breeding farms. Nearby are hot-springs, where people go for holy dips, and Kalachakra Gompa. On arrival, check into a 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 6:</b> Dirang – Tawang
								</p>
								<p class="aj">In the morning after breakfast drive to Tawang, en-route Sella Pass at 13,700 ft. Tawang is located at an altitude of 3500 m above the sea level and was at part of the Kingdom of Tibet during the medieval times. It was ruled by the local tribal rulers from time to time. It was declared as the off-limits area in 1873 AD. The area around Tawang was the reason of disagreement between India and China after the Independence of India in 1947. Tawang was invaded by the Chinese army in 1962 but they later withdrew.<br />
<br />
There are various other tourist hotspots like the Beautiful Land of Monpas, the Hidden Paradise and the land of Dawn-lit Mountains. On arrival, check into a 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 7:</b> Tawang
								</p>
								<p class="aj">This day is dedicated for hiking around Tawang, visit the famous Tawang Monastery, Penga Ten Tso (PTTso) Lake, craft centre and local market. Later return to the hotel. Overnight stay 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 8:</b> Tawang – Bomdila
								</p>
								<p class="aj">In the morning drive to Bomdila that is situated at an altitude of 8000 ft. From here one can see the brilliant landscape and snow-clad mountains of the Himalayan Range.<br />
<br />
Upon arrival, check into a hotel. Relax for some time and then we will visit the Buddhist monastery of Bomdila, which is the repository of culture and is among primary attractions of the place. Further, Bomdila is having a number of tourists attractions like apple orchards, snow-capped Himalayan peaks and Buddhist Gompas. On arrival, check into a hotel. 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 9:</b> Bomdila – Tezpur
								</p>
								<p class="aj">Post 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 Dendrobium.<br />
<br />
Upon arrival, check into the hotel and later we will take you for a sightseeing tour of Tezpur. Also known, as ‘The City of Blood’, Tezpur is a place steeped in mythology, legend and folklore. Situated on the north bank of Brahmaputra, this is a town of magnificent scenic beauty and exquisite archaeological ruins. 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 10:</b> Tezpur – Itanagar
								</p>
								<p class="aj">After breakfast drive to Itanagar. It is the capital of Arunachal Pradesh, also known as 'the Land of the Dawn Lit Mountains'. Nestled on top of low flat hills, amidst beautiful and booming surroundings with a pampering climate, Itanagar offers a lovely and lively atmosphere to the tourist. Remnants of an old palace and other such monuments boast of the glorious past of the city to the visitors from all around. Some historians identify Itanagar as the ancient 11th century BC capital of Mayapur, under the Jitari dynasty. Itanagar today is divided into two parts; each is 10 km apart from the other, and the older one is named Naharlagun. On arrival, check into a hotel.</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> Itanagar – Ziro
									</p>
									<p class="aj">After breakfast drive to Ziro. En-route visit Nishi Tribal Villages. On reaching, check into a hotel.<br />
<br />
Ziro is the headquarter of Lower Sabansiri district of Arunachal Pradesh, located at an altitude of 1560 m. It is a plateau surrounded by Apatani Tribal Villages, Dibbo- Hija- Bulla- Hari and Hong Village. Hong is the second biggest and most organized tribal village in Asia. Further, the uniqueness of Apatani tribe is tattoo on women & men and a nose plug in women.</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> Ziro – Daporijo
									</p>
									<p class="aj">After breakfast, we will leave for Daporijo. It is the headquarter of upper Subansri district of Arunachal Pradesh. Daparijo is situated at an altitude of 600 m and is an abode Tagin tribes. En-route to Daparijo, we will visit to Hillmiri tribal villages. These are the major tribes of Arunachal from mongoloid racial stock inhabiting lower and upper Sunbasiri districts. These are also called as Abotani tribes and are famous for their rich traditional knowledge relating to the use of plant products for curing a number of diseases and ailments. The people of Hillmari live in perfect harmony with nature and derive their minimum daily requirement from their natural surroundings<br />
<br />
Continue drive to Daparijo. Open arrival, check into a hotel. In the evening go for hiking around the place visiting the Meghna Cave temple, dedicated to lord Shiva. Later return to the hotel. Overnight stay in Daporijo.</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> Daporijo – Along
									</p>
									<p class="aj">Drive to Along in the morning. Located at an altitude of 300 m, it is the headquarter of West Saing district of Arunachal Pradesh. Upon arrival, check into a hotel.<br />
After freshening up, head off for an excursion around the villages and meet the inhabitants of Adi tribes. We will also visit the Kamki Hydropower Dam, Mithun and Jersey cross breeding farm. 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 14:</b> Along – Pasighat, 120 km
									</p>
									<p class="aj">Post breakfast we will leave for Pasighat. It is the headquarter of East Saing District. On the way to Pasighat, we will stop at Adi (minyong) tribal village and will interact with the people. Upon arrival, check into the hotel.<br />
<br />
In the afternoon we will visit the Daying Ering Memorial Wildlife Sanctuary. The sanctuary has an area of 190 sq km. 75% of the sanctuary is the alluvial grasslands and 15% is the wooded areas and rest is water. It is a series of river islands. The extraordinary ecosystem of water bodies is home to thousands of migratory birds from Siberia and Mongolia.<br />
Return to 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 15:</b> Pasighat – Dibrugarh
									</p>
									<p class="aj">This morning we will leave for Dibrugarh via Ferry Ghat (boat point). During our river cruise, we will cross the mighty Brahamaputra River and enjoy the country made ferry. The 5 hours long ferry will take to us to Dibrugarh. The river Brahamaputra is the confluence of the Saing and Lohit river of Arunachal Pradesh. The ferry service Pasighat to Dibrugarh is a lifeline for these tribes.<br />
Upon arrival, check into a 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 16:</b> Departure
									</p>
									<p class="aj">In the morning, transfer to the Dibrugarh airport to board the flight for onward destination.<br />
<br />
Tour and Services ends</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.softprotravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Assam & Arunachal Pradesh 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="102737"/>
						</form>
						</div>
						
						";i:1;s:71:"Book Assam & Arunachal Pradesh Tour - 15 Nights / 16 Days Tour Packages";i:2;s:175:"book assam & arunachal pradesh tour - 15 nights / 16 days tour packages, valley tour packages, itanagar, guwahati, golaghat, tawang, west kameng, bomdila -tezpur tour packages";i:3;s:213:"Softpro Tour & Travel offers Assam & Arunachal Pradesh Tour - 15 Nights / 16 Days tour package, budget Valley tour packages for Itanagar, Guwahati, Golaghat, Tawang, West Kameng, Bomdila -Tezpur at exciting price.";i:4;s:468:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Itanagar, Guwahati, Golaghat, Tawang, West Kameng, Bomdila -Tezpur"        
		                 },
		      "description": "",
		      "name": "Assam & Arunachal Pradesh Tour",
		      "telephone": "+91-7896768942"
		    }
		    </script>
			";i:5;N;}