a:6:{i:0;s:32586:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Assam Meghalaya Arunachal Pradesh Tour Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.arunachalexplorer.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.arunachalexplorer.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Assam Meghalaya Arunachal Pradesh Tour Package</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> 
						11 Nights / 12 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Guwahati, Shillong, Tawang, Kaziranga</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.arunachalexplorer.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Assam Meghalaya Arunachal Pradesh Tour Package - 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="192390"/>
						</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_22/655664/303475.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/655664/303475.jpg"  width="150" height="100"    alt="Assam Meghalaya Arunachal Pradesh Tour Package" title="Assam Meghalaya Arunachal Pradesh Tour Package" /></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>
													
								Route: Airport pickup at Guwahati hold for a night, Guwahati to Shillong sightseeing towards Dawki and one night hold in Shillong, Shillong to Kaziranga sightseeing and one night hold, Kaziranga sightseeing & safaris one night hold, Kaziranga to Dirang sightseeing and one night hold, Dirang to Tawang sightseeing one night hold in Tawang, Tawang & Bum La sightseeing one night hold in Tawang, Tawang to Bomdila sightseeing one night hold in Bomdila, Bomdila to Guwahati sightseeing, drop at Guwahati.<br />
<br />
We the Variant Arunachal Explorer is a Government affiliated tour operator bearing registration no. BGA/TL-BDL/2017/001 and our Main office is located at Bomdila, near forest check gate, West Kameng Dist. Arunachal Pradesh. Our Tour Guides and Tour Agents are highly trained and equipped in basics as well as advance training in this field with finest knowledge about the terrains. We have hand picked some of the leading names in this department as our associates and partners, because travelling is more then sight seeing: it is a change that goes on, deep and permanent, in the ideals of living. We also have a team for research and analysis on route finding and adventure tour trip in order to make your trip a memorable one, we design and plan our route for you to see from your perspective and enjoy even the smallest detail, in short we don’t limit our trip only what you came to see but we focus on more than that. The foundation of our Travel Agency is to build trust and good rapport so you are never alone in your trip and everyone needs a good friend to trust on. As a local saying goes, “a good trip to a new place, changes a man for good” and it does motivate our team for the toilsome deliberation we put on to make your trip an adventure, and we know that many a times our heart needs more then what our mind knows.<br />
<br />
And the Team Variant Arunachal Explorer wishes you to have a memorable experience with us.								</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> (Places: pickup from Airport (24 Kms), sightseeing Guwahati, Guwahati Hold)
										</p>
										<p class="aj">Pickup from airport, Guwahati sightseeing-Balaji temple, Sightseeing of The Mightiest River in The Northeast “Bhramaputra”, if time permits Kamakhya Temple and other tourist destinations in Guwahati. And one night hold</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> (Places: Guwahati to Shillong (99.2 Kms), Shillong to Dawki (81.7 kms), sightseeing Dawki, Shillong
										</p>
										<p class="aj">Guwahati to Shillong sightseeing among the vastness of natural beauty and terrains of mountains and 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”. And after that we will move on towards Dawki to witness living root bridges which are created entirely by manipulating the roots of the ficus elastica tree by hand, and without the aid of a scaffolding or any other natural or man made materials, and enjoy the magnificent scenic beauty of nature in Dawki especially Crystal clear River- Umngot River. Then we will return back to Shillong and hold for a night.</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> (Places: Shillong to Mawsynram (60.09 Kms), sight seeing on the way, and return at shilong tohold ni
										</p>
										<p class="aj">Mawsynram is the wettest place on the Earth.On the way to MAwsynram,we will cover Shilong Peak,Elephant Fall and the famous tourist spot like Nohkalikai Waterfalls,Mawsmai Caves, Seven sister falls, Eco Park, Thangkharang Park Etc After the full day of exitment we will back to our Hotel At Shilong</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> (Places: Shillong to Kagiranga (252.9 Kms), sight seeing on the way, Kagiranga Hold)
										</p>
										<p class="aj">After breakfast, we will move to Kagiranga from Shillong. Kagiranga is a national park in the Golaghat and Nagaon Districts of the state of Assam, The sanctuary, which hosts two-third of the world’s great one-horned rhinoceroses, Kaziranga is also home to the highest density of tigers among protected areas in the world, also a large breeding population of elephants, wild water buffalo and swamp deer. If time permits we will sight see Kagiranga and hold for the night.</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> (Places: Kagiranga sightseeing, night hold in Kagiranga.)
										</p>
										<p class="aj">Early morning we will take you to Elephant Safari feel the gratifying pleasure in the early morning elephant safari across National Park. Meet the pride of India, the great Asian one-horned Rhinos with wild Buffalo, Tiger, Elephant, variety of Deer, Python and if our luck supports we will be seeing some variety of migratory birds, water birds, predators, scavengers and game birds etc. After breakfast, we will show you the local places around Kaziranga like the national orchid park, the ethnic village, model Assamese village, tea gardens, etc. This would be followed by a Jeep Safari at the national park, after lunch. After a complete day of enjoyment, you will be taken to your hotel for the night's 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> (Places: Kagiranga to Nameri (58 Kms), Nameri Sightseeing, hold at Nameri.)
										</p>
										<p class="aj">we will move towards Nameri, which offers some pristine patches of forest where you can explore on foot, old giant trees, a beautiful Himalayan river, Jia Bhoroli, and a resident population of elephants. After travelling through these beautiful roads for about 5 hours, we will check in at the hotel/resort in Nameri for a peaceful night's stay amidst the serene forest areas. You can go out for an optional trekking in the forest in the next morning.</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> (Places: Nameri to Dirang (164.4 Kms), Dirang Sightseeing, hold at Dirang.)
										</p>
										<p class="aj">After Breakfast we will move to the land of rising sun “Arunachal Pradesh” which is also known for its variant culture and diverse flora and faunas, on the way we will witness many breathtaking waterfalls near the highway itself, if time permits we will sightsee Bhalukpong, visit Orchidarium in Tippi which holds the title of being the third largest Orchidarium in the world. On the way we will witness the different faces of nature. After reaching Dirang we will visit few tourist places only if the time permits and hold for a night 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 8:</b> (Places: Dirang area sightseeing, Dirang to Tawang (128 Kms), hold at Tawang.)
										</p>
										<p class="aj">After Breakfast we will visit Dirang and near by tourist destinations, Dirang Monestary, Hot spring Dirang which is rich in sulphur content and praised for its curative powers, Dirang Dzong which is a architecture of tribal colony and hold houses some of which are over 500 years old. Sangti Valley is an unexplored tourist destination, worthy enough to visit with its sheep farm and vivacious natural beauty. After lunch we will head towards Tawang and sightsee on the way, and stay the night at Tawang.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 9:</b> (Place: Tawang to Bumla (22 kms), return to Tawang, stay the night at Tawang.)
										</p>
										<p class="aj">After breakfast we will head towards Bumla Pass, which is near to china border 15,200 ft above the sea level, the majestic himalayan mountain ranges which criss-crosses the entire area is the next best thing to see once in a lifetime, on the way we will encounter many mesmerising lakes & streams one among the lakes being the famous Sangetsar Lake, many small Buddhist monasteries hidden amidst rocky mountains and breathtaking view of the tropical area. And we will return back to Tawang and hold our night.</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> (Place: Tawang, sightseeing, night stay Tawang.)
										</p>
										<p class="aj">After breakfast we will explore Tawang, famous for its Tawang Monestary also known as Galden Namgey Lhatse The monastery is three stories high. It is enclosed by a 925 feet (282 m) long compound wall. Within the complex there are 65 residential buildings. The library of the monastery has valuable old scriptures, a well restored museum and visit Nun Monastery located near Tawang. The Great War memorial of the martyr who lost their lives in 1962 Sino -Indian War, Emporium & Craft centre; Tawang is also famous for its artistry and craft making in all its aspects, the emporium and Craft Centre of Tawang hold many of such amazing Artistry of the area as well as the collection from various parts of the State of Arunachal Pradesh. We will also visit local market in the Town and surrounding area which holds and gives meaning to the place itself. After all the sightseeing we will hold the night at Tawang.</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> (Place: Tawang to Bomdila (171.2 Kms), Night saty at Bomdila.)
											</p>
											<p class="aj">After breakfast we will head towards Bomdila. On the way we will visit the spectacular Nuranang waterfall also know as Jang waterfall. Jaswantgarh war memorial: The exemplary bravery shown by Jaswant Rawat was honored by building a memorial at the post where he fought the Chinese army and another honor bestowed upon him is that he continues in the service even after death, he has been awarded promotions as if he is still serving the Nation. We will also see the Sela Pass which is 13,680 ft above the sea level and witness the panoramic view of sun floating above clouds. After the exciting journey we will stay the night 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 12:</b> (Place: Bomdila sightseeing, Bomdila to Guwahati (338 Kms), drop at Guwahati.)
											</p>
											<p class="aj">After breakfast we will Visit the Bomdila Monestary also known as Gontse Gaden Rabgyaling Monastery. We will also be sightseeing some parts of Bomdila and visit local market and thus move on towards Guwahati. On the way we will relive the memories of the 10 days journey, on the way will cross Rupa, Shergaon Apple Farm, TenzinGaon, and it is near by the Kingdom of Dragon, “Bhutan”. The humid climate of the area on the way gives a beautiful touch of nature’s creation to engrave it forever in the memories. And hold the night at Guwahati. Bid adieu to you and hope there you were never alone during the journey and hope that we had made your tour pleasant in all aspect possible.</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 />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																				<li>Accommodation as mentioned sharing basis and mentioned meal plan.</li><li>
Breakfast,Lunch and Dinner</li><li>
Cost mentioned is inclusive of all taxes.</li><li>
1 Jeep safari with dedicated Jeep in Kaziranga national park is included in the package.</li><li>
1 Elephant safari in Kaziranga national park is included in the package.</li><li>
Inner Line Permit fees and processing fees cost is included.</li><li>
All transportation will be organized by us through the above mentioned vehicle with a professional driver.</li><li>
Pickup from Guwahati Airport / Railway station/Bus station.</li><li>
All sightseeing, land transfer & inter hotel transfer.</li><li>
Driver allowance, Toll, Parking, Road Tax, Fuel charge, night halt, Interstate charges, Kaziranga Forest toll and forest guard welfare fees are included.</li><li>
Bum La Pass (Indo-China border) permit and Taxi fare for Tawang Bum La (optional)</li><li>
VAE</li><li>
9</li><li>
sightseeing (mandatory local taxi required) is included.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>All personal expenses including all other activities not mentioned in the itinerary.</li><li>
Meals those not available in the itinerary.</li><li>
Entry fees to the sightseeing spots, camera fees, and optional activity (subjected to package) costs like Rafting, Boating, Trekking, Brahmaputra river cruise, Rope way fares etc are not included in the package</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.arunachalexplorer.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Assam Meghalaya Arunachal Pradesh 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="192390"/>
						</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.arunachalexplorer.in/tawang-tour-packages.htm" title="Tawang Tour Packages">Tawang</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/bomdila-tour-packages.htm" title="Bomdila Tour Packages">Bomdila</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/mandla-tour-packages.htm" title="Mandla Tour Packages">Mandla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/lachung-tour-packages.htm" title="Lachung Tour Packages">Lachung</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/shillong-tour-packages.htm" title="Shillong Tour Packages">Shillong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/umaria-tour-packages.htm" title="Umaria Tour Packages">Umaria</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/dimapur-tour-packages.htm" title="Dimapur Tour Packages">Dimapur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/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.arunachalexplorer.in/gangtok-tour-packages.htm" title="Gangtok Tour Packages">Gangtok</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.arunachalexplorer.in/pelling-tour-packages.htm" title="Pelling Tour Packages">Pelling</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.arunachalexplorer.in/kohima-tour-packages.htm" title="Kohima Tour Packages">Kohima</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.arunachalexplorer.in/lachen-tour-packages.htm" title="Lachen Tour Packages">Lachen</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.arunachalexplorer.in/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</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 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.arunachalexplorer.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.arunachalexplorer.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></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 Guwahati, Shillong, Tawang, Kaziranga</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.arunachalexplorer.in/holiday-packages/arunachal-pradesh-tour-package9-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/655664/303477.jpg"  alt="Arunachal Pradesh Tour Package 9 Days" title="Arunachal Pradesh Tour Package 9 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.arunachalexplorer.in/holiday-packages/arunachal-pradesh-tour-package9-days.htm" title="Arunachal Pradesh Tour Package 9 Days"><h3>Arunachal Pradesh Tour Package 9 Days</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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bomdila, Guwahati, Tawang, Mandla, Umari..</p>
															<div class="mt10px small">
							<form name="pkg_192392" id="pkg_192392" method="post" action="http://www.arunachalexplorer.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.arunachalexplorer.in/holiday-packages/arunachal-pradesh-tour-package9-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Arunachal Pradesh Tour Package 9 Days - 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="192392"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.arunachalexplorer.in/holiday-packages/assam-arunachal-pradesh-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/655664/303474.jpg"  alt="Assam Arunachal Pradesh Tour Package" title="Assam Arunachal Pradesh Tour Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.arunachalexplorer.in/holiday-packages/assam-arunachal-pradesh-tour-package.htm" title="Assam Arunachal Pradesh Tour Package"><h3>Assam Arunachal Pradesh Tour Package</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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bomdila, Guwahati, Tawang, Mandla</p>
															<div class="mt10px small">
							<form name="pkg_192389" id="pkg_192389" method="post" action="http://www.arunachalexplorer.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.arunachalexplorer.in/holiday-packages/assam-arunachal-pradesh-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Assam Arunachal Pradesh Tour Package - 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="192389"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.arunachalexplorer.in/holiday-packages/arunachal-pradesh-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/655664/303476.jpg"  alt="Arunachal Pradesh Tour Package" title="Arunachal Pradesh Tour Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.arunachalexplorer.in/holiday-packages/arunachal-pradesh-tour-package.htm" title="Arunachal Pradesh Tour Package"><h3>Arunachal Pradesh Tour Package</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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Bomdila, Guwahati, Tawang, Mandla</p>
															<div class="mt10px small">
							<form name="pkg_192391" id="pkg_192391" method="post" action="http://www.arunachalexplorer.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.arunachalexplorer.in/holiday-packages/arunachal-pradesh-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Arunachal Pradesh Tour Package - 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="192391"/>
							</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:87:"Book Assam Meghalaya Arunachal Pradesh Tour Package - 11 Nights / 12 Days Tour Packages";i:2;s:168:"book assam meghalaya arunachal pradesh tour package - 11 nights / 12 days tour packages, hill station tour packages, guwahati, shillong, tawang, kaziranga tour packages";i:3;s:211:"Varient arunachal explorer offers Assam Meghalaya Arunachal Pradesh Tour Package - 11 Nights / 12 Days tour package, budget Hill Station tour packages for Guwahati, Shillong, Tawang, Kaziranga at exciting price.";i:4;s:2391:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Guwahati, Shillong, Tawang, Kaziranga"        
		                 },
		      "description": "Route: Airport pickup at Guwahati hold for a night, Guwahati to Shillong sightseeing towards Dawki and one night hold in Shillong, Shillong to Kaziranga sightseeing and one night hold, Kaziranga sightseeing & safaris one night hold, Kaziranga to Dirang sightseeing and one night hold, Dirang to Tawang sightseeing one night hold in Tawang, Tawang & Bum La sightseeing one night hold in Tawang, Tawang to Bomdila sightseeing one night hold in Bomdila, Bomdila to Guwahati sightseeing, drop at Guwahati.

We the Variant Arunachal Explorer is a Government affiliated tour operator bearing registration no. BGA/TL-BDL/2017/001 and our Main office is located at Bomdila, near forest check gate, West Kameng Dist. Arunachal Pradesh. Our Tour Guides and Tour Agents are highly trained and equipped in basics as well as advance training in this field with finest knowledge about the terrains. We have hand picked some of the leading names in this department as our associates and partners, because travelling is more then sight seeing: it is a change that goes on, deep and permanent, in the ideals of living. We also have a team for research and analysis on route finding and adventure tour trip in order to make your trip a memorable one, we design and plan our route for you to see from your perspective and enjoy even the smallest detail, in short we don’t limit our trip only what you came to see but we focus on more than that. The foundation of our Travel Agency is to build trust and good rapport so you are never alone in your trip and everyone needs a good friend to trust on. As a local saying goes, “a good trip to a new place, changes a man for good” and it does motivate our team for the toilsome deliberation we put on to make your trip an adventure, and we know that many a times our heart needs more then what our mind knows.

And the Team Variant Arunachal Explorer wishes you to have a memorable experience with us.",
		      "name": "Assam Meghalaya Arunachal Pradesh Tour Package",
		      "telephone": "+91-8259030353"
		    }
		    </script>
			";i:5;N;}