a:6:{i:0;s:54536:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>ARUNACHAL PRADESH TOUR</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.greenhilltoursandtravels.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.greenhilltoursandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> ARUNACHAL PRADESH TOUR</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						9 Nights / 10 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Bomdila, Guwahati, Bhalukpong, Tawang</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.greenhilltoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="ARUNACHAL PRADESH 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="188157"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/500778/294501.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/500778/294501.jpg"  width="150" height="84"    alt="ARUNACHAL PRADESH TOUR" title="ARUNACHAL PRADESH TOUR" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Weather And Best Time To Visit Arunachal Pradesh Summer (April to June) Monsoon (July to September) Winter (October to March) MAXIMAM 8 DAY TOUR PACKAGES<br />
<br />
Get a heady dose of the magic of Northeast India with this epic drive<br />
<br />
With snow-covered passes,rolling meadows, frozen lakes, gushing rivers and a population made up of hospitable tribal communities, Arunachal Pradesh is an enchanting destination, albeit slightly off the tourist trail. This easternmost state of India is a paradise for botanists, a haven for the city-worn soul and a hotspot for musicians from across the world, thanks to the Ziro Festival held here every year. For years the state was embroiled in territorial disputes between India and China; even today an Inner Line Permit (ILP) is required for Indian citizens to visit Arunachal. This drive takes you from Guwahati, the gateway to the Northeast, through the Orang and Nameri national parks, to pristine Tawang.								</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">Route: Guwahati-Tezpur<br />
<br />
Distance: 164 km<br />
<br />
Time: 4 houRs<br />
<br />
Begin your drive from Guwahati early in the morning to avoid the heavy truck traffic on its fringes. Take the NH31 north out of the town. At the time of research, the bridge over the Brahmaputra, on the outskirts of Guwahati had been reduced to a one-lane overpass. Traffic is slow through the day and night; and though the traffic police directs vehicles on the bridge to prevent congestion, the crossing can take anywhere between an hour to three hours to negotiate. Make sure you have breakfast before you leave your hotel — you will find dhabas only a couple of kilometres down the road after crossing the bridge. A new bridge is presently under construction and is scheduled to open in the second quarter of 2015.<br />
<br />
Once across the bridge, follow the NH31 to Baihata. Here, turn right onto the NH15. This road will take you via Balugaon to Orang town, from where a 15-km long dirt track leads to the Orang National Park, located on the northern bank of the Brahmaputra.<br />
<br />
Covering a small area of 79 sq km, the national park is home to a huge population of the great Indian one-horned rhinoceros. The park’s terrain is similar to that of Kaziranga — swampy grasslands with landlocked beels (wet-lands). There are 12 beels in the park, some of which are homing grounds for thousands of migratory birds in the winter. Orang is also said to have a high density of the Royal Bengal tiger, Asiatic elephant, pygmy hog and hog deer. You can visit the park in a vehicle (4WD recommended) with a forest guide. Elephant rides can also be arranged. Park Entry Indians â‚¹50; Foreigners â‚¹500 Timings Sunrise-sunset Vehicle Entry â‚¹300 Guide The forest guards act as guides; do tip them. To visit, contact DFO, Darrang <br />
After exploring the national park, retrace your route to Orang town and head east on the NH15 towards Tezpur.<br />
<br />
A bustling commercial centre, Tezpur is a good place to spend the night. If time permits, take a leisurely walk along the Brahmaputra. The river here is calm and especially wide, with sweeps of sand along the banks. There are some beautifully landscaped parks around the town. The scenic Chitralekha Udyan near the Circuit House is worth a visit, with a pond, lawns and a cluster of ancient ruins.</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> Tezpur-Nameri National park
										</p>
										<p class="aj">Route: Tezpur-Nameri National park<br />
<br />
Distance: 37 km<br />
<br />
Time: 50 mins<br />
<br />
The next morning, after an early breakfast at the hotel, set off on the NH15. About 15 km from Tezpur, the highway veers off eastwards. At this junction, drive straight for about 14 km, before turning right onto the Nameri Eco Camp Road at Jogi Bosti.<br />
<br />
Declared a national park in 1998, Nameri is nestled in the foothills of the Eastern Himalaya, with the River Jia Bhoroli and its tributaries coursing through it. The park’s vegetation is mostly made up of cane and bamboo thickets and swaths of grasslands along the rivers. Nameri provides the ideal habitat to numerous endangered species like tiger leopards, sambar deer, gaur and white-winged wood duck. The park is, however, noted for its elephant population.<br />
<br />
On the west side of the river lies the Forest Office, located near the Eco Camp. Boats leave from here for tours of the thickly forested area on the eastern bank. Reach early in the morning, as there are limited number of boats. Hire a forest guard and row over to the other side of the river to the main park for a day’s worth of exploration. If you are staying at the Eco Camp, check with the hotel staff for sightseeing arrangements. Park Entry Indians â‚¹50; Foreigners â‚¹500 Timings Sunrise-sunset The forest guards also function as guides; tips are welcome<br />
<br />
Things to See & Do<br />
<br />
Rafting on the Jia Bhoroli river is the prime attraction in Nameri. Located on the edge of the park, Eco Camp organizes rafting excursions in inflatable rubber dinghies. The route usually begins 13 km upstream and takes about 3 hours to complete. Herds of elephants and monkeys as well as a variety of birds, including cormorants, hornbills, fishing eagles and brahminy ducks, can be easily spotted while rafting. You can also stop over for a picnic lunch on the banks of the river in between the trip.<br />
<br />
Trekking is also a popular activity in Nameri. The park can be explored only on foot, accompanied by an armed guard, after crossing the river by boat. Elephants, bison and Himalayan black bears can be commonly spotted during these expeditions. The duration of treks can range from a few hours to half-day or even full-day.<br />
<br />
The Jia Bhoroli river is famous for its abundant population of the golden mahaseer. Eco Camp organises catch and release angling on the river, as the mahaseer is an endangered species.<br />
<br />
You can also visit the Pygmy Hog Foundation, near the Eco Camp office, to learn about pygmy hogs, one of the world’s critically endangered mammals.<br />
<br />
A thick-knee, renowned for its enormous kneee joint, 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 3:</b> Tezpur-Nameri National park
										</p>
										<p class="aj">Route: Tezpur-Nameri National park<br />
<br />
Distance: 37 km<br />
<br />
Time: 50 mins<br />
<br />
The next morning, after an early breakfast at the hotel, set off on the NH15. About 15 km from Tezpur, the highway veers off eastwards. At this junction, drive straight for about 14 km, before turning right onto the Nameri Eco Camp Road at Jogi Bosti.<br />
<br />
Declared a national park in 1998, Nameri is nestled in the foothills of the Eastern Himalaya, with the River Jia Bhoroli and its tributaries coursing through it. The park’s vegetation is mostly made up of cane and bamboo thickets and swaths of grasslands along the rivers. Nameri provides the ideal habitat to numerous endangered species like tiger leopards, sambar deer, gaur and white-winged wood duck. The park is, however, noted for its elephant population.<br />
<br />
On the west side of the river lies the Forest Office, located near the Eco Camp. Boats leave from here for tours of the thickly forested area on the eastern bank. Reach early in the morning, as there are limited number of boats. Hire a forest guard and row over to the other side of the river to the main park for a day’s worth of exploration. If you are staying at the Eco Camp, check with the hotel staff for sightseeing arrangements. Park Entry Indians â‚¹50; Foreigners â‚¹500 Timings Sunrise-sunset The forest guards also function as guides; tips are welcome<br />
<br />
Things to See & Do<br />
<br />
Rafting on the Jia Bhoroli river is the prime attraction in Nameri. Located on the edge of the park, Eco Camp organizes rafting excursions in inflatable rubber dinghies. The route usually begins 13 km upstream and takes about 3 hours to complete. Herds of elephants and monkeys as well as a variety of birds, including cormorants, hornbills, fishing eagles and brahminy ducks, can be easily spotted while rafting. You can also stop over for a picnic lunch on the banks of the river in between the trip.<br />
<br />
Trekking is also a popular activity in Nameri. The park can be explored only on foot, accompanied by an armed guard, after crossing the river by boat. Elephants, bison and Himalayan black bears can be commonly spotted during these expeditions. The duration of treks can range from a few hours to half-day or even full-day.<br />
<br />
The Jia Bhoroli river is famous for its abundant population of the golden mahaseer. Eco Camp organises catch and release angling on the river, as the mahaseer is an endangered species.<br />
<br />
You can also visit the Pygmy Hog Foundation, near the Eco Camp office, to learn about pygmy hogs, one of the world’s critically endangered mammals.<br />
<br />
A thick-knee, renowned for its enormous kneee joint, 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 4:</b> Nameri National Park-Dirang
										</p>
										<p class="aj">Route: Nameri National Park-Dirang<br />
<br />
Distance: 158 km<br />
<br />
Time: 4 hours<br />
<br />
After spending two blissful days in Nameri National Park, retrace your route back to Jogi Bosti and drive northwest towards Bhalukpong, just an hour away from Nameri. This is where Assam ends and Arunachal Pradesh begins. The Jia Bhoroli river is locally known as Kameng here. It is mandatory for all visitors to have an Inner Line Permit to enter the border state. The permits are checked at the inter-state boundary, after which the uphill climb begins.<br />
<br />
In Arunachal, the road is usually a series of hairpin bends, at times running along the river, then rising up into the mountains and back down again. The drive winds past unspoiled tropical rainforests with umbrella-shaped canopies that allow little sunlight to filter through to the dense undergrowth. Further into Arunachal, army presence increases and the road broadens out, merging with the NH229. You can stop at the town of Rupa, about 2 hours from Bhalukpong. Originally named Tukpan, the scenic town is located at 1,407 m and is surrounded by mountains. The centuries old gompa here is a colourful wooden structure typical of Himalayan or Tibetan Buddhism.<br />
<br />
As you drive northwards from Rupa, the air becomes a lot cooler. About 16 km from Rupa lies the town of Bomdila. Spread over the southern face of the Bomdila Ridge, the town marks the entry into the region of Tibetan Buddhism. At the end of the ‘bazaar line’ stands Lower Gompa, a pretty two-storeyed monastery built in traditional Tibetan style. High above the town, perched on the ridge, is the Gaden Rabgyeling Monastery, better known as the Upper Gompa. Further ahead, you will cross the first pass on this route, the 2,479-m Bomdila, and go down a forest road to the town of Dirang.<br />
<br />
Scenic views en route to Dirang<br />
<br />
Perfect Pitstop<br />
<br />
A charming little hill station, Dirang is the perfect place for a relaxed holiday. The settlement comprises an old village and a new town, which are located 5 km apart. The new town is situated along the highway from Assam to Tawang and has a bunch of shops. The main attraction in Dirang is the old hilltop fort that offers some of the most breathtaking views of the Kameng Valley below. Other attractions around the new town area include an orchid centre, apple orchards and kiwi farms.<br />
<br />
Things to See & Do<br />
<br />
A 400-year old, three-storeyed, fortified structure, the Dirang Dzong was built for administrative purposes by the monastic Buddhist rulers of the region. Made of stone and wood, the fort offers sweeping views of the valley below. Located about 3 km from the new town, the Dirang Gompa is the newer monastery.<br />
<br />
Wake up at the crack of dawn to drive to Sangti Valley, about 7 km from Dirang. Surrounded by lofty ranges of the Eastern Himalaya, the lush valley stretches along the Sangti river, a tributary of the Kameng. In winter, you can catch sight of black-necked cranes that migrate to the valley from China.</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> Dirang-Tawang
										</p>
										<p class="aj">Route: Dirang-Tawang<br />
<br />
Distance: 137 km<br />
<br />
Time: 6 hours<br />
<br />
Leave early the next morning to have enough time in hand to drive to the nearby Sangti Valley for spotting black-necked cranes (in winter), and then for negotiating the Se La mountain pass. A few kilometres out of Dirang, at a height of 2,846 m, you will see snow on the rooftops of buildings that comprise the hamlet of Dzongri La. Visibility here is less than 100 m, the trees are covered with snow, and the road is a white field with track marks of wheels. Another 20 km from this village lies the 4,215-m high Se La, the highest and toughest motorable pass in the Northeast. The frozen Se La Lake is located near the pass. From here, Tawang is around 70 km away.<br />
<br />
Tawang is situated in the northwestern corner of Arunachal, close to the borders of Tibet and Bhutan. The town occupies a hill at 3,048 m against a backdrop of snow-clad mountains. A monk named Merak Lama came to Tawang in the 17th century — a period of harsh rivalry between various Buddhist sects— and built a fortress here to protect the monks of the Gelugpa sect. Today, the fort is known as Tawang Monastery and is said to be the biggest Buddhist monastery in India. In 1959, when the present Dalai Lama fled from Tibet, he crossed over into India and spent a few days in this monastery, before reaching Assam.<br />
<br />
An ongoing game of volley ball at Tawang Monastery<br />
<br />
Things to See & Do<br />
<br />
The main draw here is the Tawang Monastery, dominating the skyline like a mighty medieval fortress. Constructed in the mid-16th century, the monastery houses a 26-ft high brass statue of the Buddha. The central court is made of stone and is surrounded by a group of buildings. The most imposing of these is the three-storeyed dukhang (main prayer hall), with a richly gilded Buddha statue.<br />
<br />
Interiors of Urgeling monastery<br />
<br />
There are many other monasteries in Tawang, the most famous being the comparatively smaller Urgeling Gompa, the birthplace of the 6th Dalai Lama. The Sange Ryabgelling shrine is located at a short distance from Urgeling. A few kilometres from town is the Khinme Monastery, which belongs to the Nyingmapa sect. Not far from the fork on the Tawang-Bumla Road is the Singshur nunnery. About a half-anhour drive from Tawang lies Taktsang Gompa, one of the holiest Buddhist shrines in Arunachal Pradesh.</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">Route: Dirang-Tawang<br />
<br />
Distance: 137 km<br />
<br />
Time: 6 hours<br />
<br />
Leave early the next morning to have enough time in hand to drive to the nearby Sangti Valley for spotting black-necked cranes (in winter), and then for negotiating the Se La mountain pass. A few kilometres out of Dirang, at a height of 2,846 m, you will see snow on the rooftops of buildings that comprise the hamlet of Dzongri La. Visibility here is less than 100 m, the trees are covered with snow, and the road is a white field with track marks of wheels. Another 20 km from this village lies the 4,215-m high Se La, the highest and toughest motorable pass in the Northeast. The frozen Se La Lake is located near the pass. From here, Tawang is around 70 km away.<br />
<br />
Tawang is situated in the northwestern corner of Arunachal, close to the borders of Tibet and Bhutan. The town occupies a hill at 3,048 m against a backdrop of snow-clad mountains. A monk named Merak Lama came to Tawang in the 17th century — a period of harsh rivalry between various Buddhist sects— and built a fortress here to protect the monks of the Gelugpa sect. Today, the fort is known as Tawang Monastery and is said to be the biggest Buddhist monastery in India. In 1959, when the present Dalai Lama fled from Tibet, he crossed over into India and spent a few days in this monastery, before reaching Assam.<br />
<br />
An ongoing game of volley ball at Tawang Monastery<br />
<br />
Things to See & Do<br />
<br />
The main draw here is the Tawang Monastery, dominating the skyline like a mighty medieval fortress. Constructed in the mid-16th century, the monastery houses a 26-ft high brass statue of the Buddha. The central court is made of stone and is surrounded by a group of buildings. The most imposing of these is the three-storeyed dukhang (main prayer hall), with a richly gilded Buddha statue.<br />
<br />
Interiors of Urgeling monastery<br />
<br />
There are many other monasteries in Tawang, the most famous being the comparatively smaller Urgeling Gompa, the birthplace of the 6th Dalai Lama. The Sange Ryabgelling shrine is located at a short distance from Urgeling. A few kilometres from town is the Khinme Monastery, which belongs to the Nyingmapa sect. Not far from the fork on the Tawang-Bumla Road is the Singshur nunnery. About a half-anhour drive from Tawang lies Taktsang Gompa, one of the holiest Buddhist shrines in Arunachal Pradesh.</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> Dirang-Tawang
										</p>
										<p class="aj">Route: Dirang-Tawang<br />
<br />
Distance: 137 km<br />
<br />
Time: 6 hours<br />
<br />
Leave early the next morning to have enough time in hand to drive to the nearby Sangti Valley for spotting black-necked cranes (in winter), and then for negotiating the Se La mountain pass. A few kilometres out of Dirang, at a height of 2,846 m, you will see snow on the rooftops of buildings that comprise the hamlet of Dzongri La. Visibility here is less than 100 m, the trees are covered with snow, and the road is a white field with track marks of wheels. Another 20 km from this village lies the 4,215-m high Se La, the highest and toughest motorable pass in the Northeast. The frozen Se La Lake is located near the pass. From here, Tawang is around 70 km away.<br />
<br />
Tawang is situated in the northwestern corner of Arunachal, close to the borders of Tibet and Bhutan. The town occupies a hill at 3,048 m against a backdrop of snow-clad mountains. A monk named Merak Lama came to Tawang in the 17th century — a period of harsh rivalry between various Buddhist sects— and built a fortress here to protect the monks of the Gelugpa sect. Today, the fort is known as Tawang Monastery and is said to be the biggest Buddhist monastery in India. In 1959, when the present Dalai Lama fled from Tibet, he crossed over into India and spent a few days in this monastery, before reaching Assam.<br />
<br />
An ongoing game of volley ball at Tawang Monastery<br />
<br />
Things to See & Do<br />
<br />
The main draw here is the Tawang Monastery, dominating the skyline like a mighty medieval fortress. Constructed in the mid-16th century, the monastery houses a 26-ft high brass statue of the Buddha. The central court is made of stone and is surrounded by a group of buildings. The most imposing of these is the three-storeyed dukhang (main prayer hall), with a richly gilded Buddha statue.<br />
<br />
Interiors of Urgeling monastery<br />
<br />
There are many other monasteries in Tawang, the most famous being the comparatively smaller Urgeling Gompa, the birthplace of the 6th Dalai Lama. The Sange Ryabgelling shrine is located at a short distance from Urgeling. A few kilometres from town is the Khinme Monastery, which belongs to the Nyingmapa sect. Not far from the fork on the Tawang-Bumla Road is the Singshur nunnery. About a half-anhour drive from Tawang lies Taktsang Gompa, one of the holiest Buddhist shrines in Arunachal Pradesh.</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-Dirang-Tezpur-Guwahati
										</p>
										<p class="aj">Distance: 137 km, 191 km, 164 km<br />
<br />
Time: 6 hours, 5 hours, 4 hours<br />
<br />
After spending three restful nights in Tawang, leave early to retrace your route back to Guwahati. On the way, stop for a night each in the towns of Dirang and Tezpur.<br />
<br />
The Route<br />
<br />
The first leg of the drive is mostly on the NH31 and NH15. From Guwahati to Balipara via Tezpur, it is a smooth two-lane road. The NH15 ends at Balipara and soon after crossing the town of Charduar, forested areas and hills begin to appear in the distance. A few kilometres from here is the town of Bhalukpong on the Assam-Arunachal Pradesh border. This is where the uphill climb begins. About 14 km from Bhalukpong, you join the NH229. This route is prone to landslides, hence the roads are often strewn with debris consisting of boulders and mud. However, the debris is usually cleared up quickly. On the whole, it’s a comfortable drive.<br />
<br />
Tips and Tricks<br />
<br />
Arunachal Pradesh is a Protected Area and all visitors are required to obtain a permit to enter the state. Domestic tourists need to get an ILP and foreign tourists, a Protected Area Permit (PAP). An ILP can be secured from the Arunachal Pradesh Resident Commissioner’s office or the liaison offices located in New Delhi, Kolkata, Guwahati, Shillong, Dibrugarh, Tezpur, North Lakhimpur and Jorhat. A PAP can be obtained from all Indian missions abroad, and the Foreigners’ Regional Registration Offices (FRROs) in Delhi, Mumbai and Kolkata. You will need two passport-size photographs while applying. For more details, visit arunachalpradesh.nic.in.<br />
<br />
The road from Guwahati to Tawang is not lit up, and it starts getting dark early in these parts — as early as 4.30 pm in winters, and 6.00 pm in summers. Hill roads are deserted at night; it is advisable to begin early in the morning.<br />
<br />
Petrol pumps, puncture-repair shops and mechanics are available only at the few towns that fall en route: Charduar, Bhalukpong, Tenga, Bomdila, Dirang and Tawang. You will also find roadside dhabas in these towns; be sure to stock up on food and water here. It is best to tank up in Bhalukpong, because the towns ahead — Bomdila and Dirang —have only one petrol pump each.<br />
<br />
Stopovers<br />
<br />
A comfortable room in the KRC Palace, Tezpur<br />
<br />
Tezpur<br />
<br />
Where to Stay & Eat<br />
<br />
KRC Palace ; Tariff: ‚¹2,400-7,000) is perhaps the best hotel in town, with a bar, coffee shop and salon. Run by the Directorate of Tourism, Prashanti Tourist Lodge ; Tariff: ‚¹850-950) is suitable for those on a budget. The ASTC bus stand is a short walk from the lodge.<br />
<br />
Located on the highway, on the outskirts of Tezpur, the swanky KF ; Tariff: ‚¹2,700-4,700) offers stylish rooms and suites. The hotel has a multicuisine restaurant, cake shop, sweet shop and lounge bar.<br />
<br />
The Fern Residency ; Tariff: ‚¹4,300-7,000) is a new property offering plenty of facilities such as a spa, gym, kids’ play zone, restaurant and even a beauty salon.<br />
<br />
In the main market, Oasis and Flora serve tasty Indian and Chinese cuisine. Several dhabas around town offer south Indian meals.<br />
<br />
Nameri National Park<br />
<br />
Where to Stay & Eat<br />
<br />
Eco Camp ; Tariff: ‚¹1,800, on the west side of the river, offers well-appointed tents with attached bathrooms, and bamboo. Meals are served in a common dining hall. Jia Bhorelli Wild Resort ; Tariff: ‚¹2,000 has a restaurant. The resort also organizes activities such as river rafting, jungle trails and tribal village visits.<br />
<br />
There is also Assam Tourism’s well-located Prashanti Lodge (; Tariff: ‚¹1,385-2,070), about 30 km further up at Bhalukpong. They also organise rafting trips.<br />
<br />
Dirang<br />
<br />
Where to Stay & Eat<br />
<br />
Situated on the highway just ahead of the town, Hotel Pemaling ( Tariff: ‚¹2,200-5,000) and the Tourist Lodge ( Tariff: ‚¹1,500) afford lovely views of the Sangti Valley. The hotel-restaurants serve delicious Indian as well as Chinese fare.<br />
<br />
Awoo Resort ( Tariff: ‚¹1,250-5,000) is a high-end accommodation option on the outskirts of Dirang, with 16 well-equipped rooms.<br />
<br />
Tawang<br />
<br />
Where to Stay & Eat<br />
<br />
The best hotels in Tawang are located in the main bazaar and mostly come with very basic facilities such as hot water, a heater and TV. Hotel Alpine; Tariff: ‚¹1,000-1,350), Hotel Shambhala ; Tariff: ‚¹650-1,500), Hotel Nefa ; Tariff: ‚¹800-1,800) and Tawang Inn Tariff: ‚¹800-1,800) are good options. You could also try Hotel Gorichen Tariff: ‚¹800-1,800), Hotel Buddha Tariff: ‚¹1,000-1,500) and Tourist Lodge Tariff: ‚¹600-2,000). All these hotels serve simple meals as well as snacks to the residents.<br />
<br />
There are a few small restaurants in the market that offer simple Indian and Chinese food. Cash is the most widely accepted mode of payment.<br />
<br />
Driving Options<br />
<br />
The shortest trip you can do on this route is one with a single stopover at Bomdila, which will take four days. It will mean not stopping at places such as Orang and Nameri, and not taking any detours. If you would like a longer trip, you could spend more time at Tawang, Nameri and Dirang. You can also stop at both Bomdila and Dirang. Another option is to include the well-known Kaziranga National Park (80 km from Tezpur) in your itinerary. From Kaziranga, take the NH37 via Aniguri, Jakhalabandha and Silghat to Tezpur.</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> Tawang-Dirang-Tezpur-Guwahati
										</p>
										<p class="aj">Distance: 137 km, 191 km, 164 km<br />
<br />
Time: 6 hours, 5 hours, 4 hours<br />
<br />
After spending three restful nights in Tawang, leave early to retrace your route back to Guwahati. On the way, stop for a night each in the towns of Dirang and Tezpur.<br />
<br />
The Route<br />
<br />
The first leg of the drive is mostly on the NH31 and NH15. From Guwahati to Balipara via Tezpur, it is a smooth two-lane road. The NH15 ends at Balipara and soon after crossing the town of Charduar, forested areas and hills begin to appear in the distance. A few kilometres from here is the town of Bhalukpong on the Assam-Arunachal Pradesh border. This is where the uphill climb begins. About 14 km from Bhalukpong, you join the NH229. This route is prone to landslides, hence the roads are often strewn with debris consisting of boulders and mud. However, the debris is usually cleared up quickly. On the whole, it’s a comfortable drive.<br />
<br />
Tips and Tricks<br />
<br />
Arunachal Pradesh is a Protected Area and all visitors are required to obtain a permit to enter the state. Domestic tourists need to get an ILP and foreign tourists, a Protected Area Permit (PAP). An ILP can be secured from the Arunachal Pradesh Resident Commissioner’s office or the liaison offices located in New Delhi, Kolkata, Guwahati, Shillong, Dibrugarh, Tezpur, North Lakhimpur and Jorhat. A PAP can be obtained from all Indian missions abroad, and the Foreigners’ Regional Registration Offices (FRROs) in Delhi, Mumbai and Kolkata. You will need two passport-size photographs while applying. For more details, visit arunachalpradesh.nic.in.<br />
<br />
The road from Guwahati to Tawang is not lit up, and it starts getting dark early in these parts — as early as 4.30 pm in winters, and 6.00 pm in summers. Hill roads are deserted at night; it is advisable to begin early in the morning.<br />
<br />
Petrol pumps, puncture-repair shops and mechanics are available only at the few towns that fall en route: Charduar, Bhalukpong, Tenga, Bomdila, Dirang and Tawang. You will also find roadside dhabas in these towns; be sure to stock up on food and water here. It is best to tank up in Bhalukpong, because the towns ahead — Bomdila and Dirang —have only one petrol pump each.<br />
<br />
Stopovers<br />
<br />
A comfortable room in the KRC Palace, Tezpur<br />
<br />
Tezpur<br />
<br />
Where to Stay & Eat<br />
<br />
KRC Palace (Tariff: ‚¹2,400-7,000) is perhaps the best hotel in town, with a bar, coffee shop and salon. Run by the Directorate of Tourism, Prashanti Tourist Lodge ( Tariff: ‚¹850-950) is suitable for those on a budget. The ASTC bus stand is a short walk from the lodge.<br />
<br />
Located on the highway, on the outskirts of Tezpur, the swanky KF ( Tariff: ‚¹2,700-4,700) offers stylish rooms and suites. The hotel has a multicuisine restaurant, cake shop, sweet shop and lounge bar.<br />
<br />
The Fern Residency ( Tariff: ‚¹4,300-7,000) is a new property offering plenty of facilities such as a spa, gym, kids’ play zone, restaurant and even a beauty salon.<br />
<br />
In the main market, Oasis and Flora serve tasty Indian and Chinese cuisine. Several dhabas around town offer south Indian meals.<br />
<br />
Nameri National Park<br />
<br />
Where to Stay & Eat<br />
<br />
Eco Camp ( Tariff: ‚¹1,800), on the west side of the river, offers well-appointed tents with attached bathrooms, and bamboo. Meals are served in a common dining hall. Jia Bhorelli Wild Resort (2,000) has a restaurant. The resort also organizes activities such as river rafting, jungle trails and tribal village visits.<br />
<br />
There is also Assam Tourism’s well-located Prashanti Lodge (Tariff: ‚¹1,385-2,070), about 30 km further up at Bhalukpong. They also organise rafting trips.<br />
<br />
Dirang<br />
<br />
Where to Stay & Eat<br />
<br />
Situated on the highway just ahead of the town, Hotel Pemaling ( Tariff: ‚¹2,200-5,000) and the Tourist Lodge ( Tariff: ‚¹1,500) afford lovely views of the Sangti Valley. The hotel-restaurants serve delicious Indian as well as Chinese fare.<br />
<br />
Awoo Resort (Tariff: ‚¹1,250-5,000) is a high-end accommodation option on the outskirts of Dirang, with 16 well-equipped rooms.<br />
<br />
Tawang<br />
<br />
Where to Stay & Eat<br />
<br />
The best hotels in Tawang are located in the main bazaar and mostly come with very basic facilities such as hot water, a heater and TV. Hotel Alpine ( Tariff: ‚¹1,000-1,350), Hotel Shambhala ( Tariff: ‚¹650-1,500), Hotel Nefa (Tariff: ‚¹800-1,800) and Tawang Inn ( Tariff: ‚¹800-1,800) are good options. You could also try Hotel Gorichen ( Tariff: ‚¹800-1,800), Hotel Buddha ( Tariff: ‚¹1,000-1,500) and Tourist Lodge ( Tariff: ‚¹600-2,000). All these hotels serve simple meals as well as snacks to the residents.<br />
<br />
There are a few small restaurants in the market that offer simple Indian and Chinese food. Cash is the most widely accepted mode of payment.<br />
<br />
Driving Options<br />
<br />
The shortest trip you can do on this route is one with a single stopover at Bomdila, which will take four days. It will mean not stopping at places such as Orang and Nameri, and not taking any detours. If you would like a longer trip, you could spend more time at Tawang, Nameri and Dirang. You can also stop at both Bomdila and Dirang. Another option is to include the well-known Kaziranga National Park (80 km from Tezpur) in your itinerary. From Kaziranga, take the NH37 via Aniguri, Jakhalabandha and Silghat to Tezpur.</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> Tawang-Dirang-Tezpur-Guwahati
										</p>
										<p class="aj">Distance: 137 km, 191 km, 164 km<br />
<br />
Time: 6 hours, 5 hours, 4 hours<br />
<br />
After spending three restful nights in Tawang, leave early to retrace your route back to Guwahati. On the way, stop for a night each in the towns of Dirang and Tezpur.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																				<li>All conveyance by</li><li>
Green Hill Tours and Travels</li><li>
Air-Conditioned Sedan & SUV Cabs Etc</li><li>
Sightseeing and Transportation</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>GST</li><li>
Entry fees for visiting different places</li><li>
Lunch throughout the fare</li><li>
Personal Drinks, laundry, camera fees etc.</li><li>
Things which are not included above</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Once we receive the payment you will receive an acknowledgment email from us showing receipt and confirmation of payment</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>25% of total package cost if cancelled 30 days before the starting date of the trip.</li><li>
50% of total package cost if cancelled 15-30 days before the starting date of the trip.</li><li>
100% of total package cost if cancelled 0-15 days before the starting date of the trip.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.greenhilltoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="188157"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/shillong-tour-packages.htm" title="Shillong Tour Packages">Shillong</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/tawang-tour-packages.htm" title="Tawang Tour Packages">Tawang</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/golaghat-tour-packages.htm" title="Golaghat Tour Packages">Golaghat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/bomdila-tour-packages.htm" title="Bomdila Tour Packages">Bomdila</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/kaziranga-tour-packages.htm" title="Kaziranga Tour Packages">Kaziranga</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/bhalukpong-tour-packages.htm" title="Bhalukpong Tour Packages">Bhalukpong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/cherrapunji-tour-packages.htm" title="Cherrapunji Tour Packages">Cherrapunji</a> <b class="alpha50 bn small">(1)</b></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/river-rafting-holidays-catid.htm" title="River Rafting Packages">River Rafting</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/angling-holidays-catid.htm" title="Angling Packages">Angling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.greenhilltoursandtravels.com/group-holidays-catid.htm" title="Group Packages">Group</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/luxury-holidays-catid.htm" title="Luxury Packages">Luxury</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/road-trip-holidays-catid.htm" title="Road Trip Packages">Road Trip</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/boating-holidays-catid.htm" title="Boating Packages">Boating</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/jeep-safari-holidays-catid.htm" title="Jeep Safari Packages">Jeep Safari</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/elephant-safari-holidays-catid.htm" title="Elephant Safari Packages">Elephant Safari</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/caving-holidays-catid.htm" title="Caving Packages">Caving</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/boat-cruise-holidays-catid.htm" title="Boat Cruise Packages">Boat Cruise</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/shopping-holidays-catid.htm" title="Shopping Packages">Shopping</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/scuba-diving-holidays-catid.htm" title="Scuba Diving Packages">Scuba Diving</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.greenhilltoursandtravels.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Bomdila, Guwahati, Bhalukpong, Tawang</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.greenhilltoursandtravels.com/holiday-packages/day-tours-guwahati-local-sightseeing.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/500778/294433.jpg"  alt="Day Tours Guwahati Local Sightseeing" title="Day Tours Guwahati Local Sightseeing"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.greenhilltoursandtravels.com/holiday-packages/day-tours-guwahati-local-sightseeing.htm" title="Day Tours Guwahati Local Sightseeing"><h3>Day Tours Guwahati Local Sightseeing</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								1 Day 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Guwahati</p>
															<div class="mt10px small">
							<form name="pkg_188158" id="pkg_188158" method="post" action="http://www.greenhilltoursandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.greenhilltoursandtravels.com/holiday-packages/day-tours-guwahati-local-sightseeing.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Day Tours Guwahati Local Sightseeing - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188158"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.greenhilltoursandtravels.com/holiday-packages/7n8d-guwahati-shillong-kaziranga-tour-packages.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/500778/295066.jpg"  alt="7N 8D Guwahati Shillong Kaziranga Tour Packages" title="7N 8D Guwahati Shillong Kaziranga Tour Packages"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.greenhilltoursandtravels.com/holiday-packages/7n8d-guwahati-shillong-kaziranga-tour-packages.htm" title="7N 8D Guwahati Shillong Kaziranga Tour Packages"><h3>7n 8d Guwahati Shillong Kaziranga Tour Pac..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Guwahati, Shillong, Golaghat</p>
															<div class="mt10px small">
							<form name="pkg_188493" id="pkg_188493" method="post" action="http://www.greenhilltoursandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.greenhilltoursandtravels.com/holiday-packages/7n8d-guwahati-shillong-kaziranga-tour-packages.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="7N 8D Guwahati Shillong Kaziranga Tour Packages - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188493"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:62:"Book ARUNACHAL PRADESH TOUR - 9 Nights / 10 Days Tour Packages";i:2;s:143:"book arunachal pradesh tour - 9 nights / 10 days tour packages, hill station tour packages, bomdila, guwahati, bhalukpong, tawang tour packages";i:3;s:205:"Book ARUNACHAL PRADESH TOUR - 9 Nights / 10 Days tour packages from Green Hills Tours and Travels - Get attractive 9 Nights / 10 Days Hill Station  tour packages for  Bomdila, Guwahati, Bhalukpong, Tawang.";i:4;s:1374:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bomdila, Guwahati, Bhalukpong, Tawang"        
		                 },
		      "description": "Weather And Best Time To Visit Arunachal Pradesh Summer (April to June) Monsoon (July to September) Winter (October to March) MAXIMAM 8 DAY TOUR PACKAGES

Get a heady dose of the magic of Northeast India with this epic drive

With snow-covered passes,rolling meadows, frozen lakes, gushing rivers and a population made up of hospitable tribal communities, Arunachal Pradesh is an enchanting destination, albeit slightly off the tourist trail. This easternmost state of India is a paradise for botanists, a haven for the city-worn soul and a hotspot for musicians from across the world, thanks to the Ziro Festival held here every year. For years the state was embroiled in territorial disputes between India and China; even today an Inner Line Permit (ILP) is required for Indian citizens to visit Arunachal. This drive takes you from Guwahati, the gateway to the Northeast, through the Orang and Nameri national parks, to pristine Tawang.",
		      "name": "ARUNACHAL PRADESH TOUR",
		      "telephone": "+91-7005499309"
		    }
		    </script>
			";i:5;N;}