a:6:{i:0;s:13575:"				<div class="h1"><h1>Mon Majuli Zero Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travvelextent.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travvelextent.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Mon Majuli Zero 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">
						11 Nights / 12 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Dibrugarh, Guwahati, Tezpur, Majuli</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.travvelextent.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mon Majuli Zero 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="109014"/>
						</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_10/274422/180258.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/274422/180258.jpg"  width="150" height="150"    alt="Mon Majuli Zero Tour" title="Mon Majuli Zero 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 Dibrugarh
								</p>
								<p class="aj">Arrive Dibrugarh airport. On arrival, you will be met by our representative and transferred to the hotel. Dibrugarh, situated on the banks of mighty river Brahmaputra, is the main tea town of Upper Assam and a main commercial place with historic importance. Day at leisure. Dinner and overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Dibrugarh - Sivasagar
								</p>
								<p class="aj">Today drive to Sivasagar.. On the way visit Sivasagar, the ancient capital town of the Ahom kingdom, who ruled Assam at a stretch of 600 years before the reign of British. The ancient temples and monuments like Ranghar, Talatalghar, Siva Dol can be seen. Overnight stay at Sivasagar.</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> Sivasagar- Mon
								</p>
								<p class="aj">After breakfast proceed to Mon On arrival, check-in at the hotel. Evening visit the local Market.  Dinner and overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Mon - Longwa - Mon
								</p>
								<p class="aj">After having breakfast depart for Longwa (42 Km/ 3 hrs). Enroute stop at the bank of river Tapi / Taphi. The beautiful Longwa village is ranked among the biggest villages in Mon. As the village straddles the international boundary line, one half of the Angh's house falls within<br />
the Indian territory and the other half in Myanmar . Here, literally, the totem pillar that juts out above the roof divides the house into two countries and the Angh takes his meals in India and sleeps in Myanmar. The angh and the village council chairman administer the whole village. The village has also become a major trade point between India and Myanmar. Thereafter drive back to Mon. On the way, visit some other villages. Dinner and overnight at the guest house.</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> Mon - Shangnyu - Chui - Mon
								</p>
								<p class="aj">This morning drive to Shangnyu village, which is ruled by the Chief  Angh and is a prominent village in Mon district. There is a wonderful wooden monument measuring 8 feet in height and 12 feet in breadth- believed to be constructed by heavenly angels. Human beings and other creatures are carved on this monument. Memorial stones are also found in front of the Angh's Palace. History records that good and friendly relationship existed between the Shangnyu and the Ahom Kings of Assam. Shangnyu Angh use to collect taxes from all the villages under his domain-extending from Sibsagar in Assam to the Wanchos in Arunachal. Post lunch drive to Chui village situated about 8kms from the district headquarters of Mon. Drive back to Mon. Dinner and overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Mon - Majuli
								</p>
								<p class="aj">After an early breakfast drive to Neemati Ghat for your ferry ride to Majuli, one of the biggest inhabited river islands in the world. Another 02 hours downstream boat cruise will take you to Majuli nestled between Subansiri and Brahmaputra River, famous for the Assamese Vaishnavite satras or monasteries, the Mishing tribals and also for the migratory birds that come here from different parts of the world. On arrival check-in at the traditional Bamboo Mishing Chang. Dinner and overnight at the Mishing Chang.</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> Majuli
								</p>
								<p class="aj">This morning after breakfast visit the famous Satras (monastery) of Majuli. These monasteries where set up by Srimanta Shankerdev, the leader of the Vaishnavite revivalism in the 16th century. These monasteries nurture the traditional dance of 'Satriya', (which is a national dance of India), music, and crafts such as mask making besides religious teachings. Dinner and overnight at the Mishing Chang.</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> Majuli
								</p>
								<p class="aj">Today visit a Mishing tribal village with Mishing tribal houses that are typified by being built on stilts and their 'long house' style of design. Explore the villages. Dinner and overnight at the Mishing Chang.</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> Majuli - Ziro
								</p>
								<p class="aj">After breakfast, proceed to Ziro. On the way cross the mighty River Brahmaputra by a ferry. Ziro is a small town of Arunachal Pradesh famous for Apatani Tribe, which is found in this region. On arrival check-in at the hotel. Evening walk around local market. Dinner and overnight at the hotel</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 10:</b> Ziro
								</p>
								<p class="aj">Today explore the tribal villages inhabited by Apatani tribal people the main inhabitant of Ziro area. The uniqueness of Apatani tribe is tooting on women face and its nose plug. Apatani, like other tribes of the state also believe in sun and the moon as a god and have traditional altar in there home made up of Bamboo and Cane. Dinner and overnight at the 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> Ziro - Tezpur
									</p>
									<p class="aj">Drive to the ancient city of Tezpur (8 hrs). Tezpur is a very old historic town of Assam then known as Sonitpur.  Historical ruins of 8th-9th century dot the surrounding areas of the town. The ruins of Bamuni Hills among them are the most famous. They bear resemblance to the Gupta period art. Accordingly there are plenty of myths as well. The ruins of Da Parbatia is a shining example of the architecture around the 4th Century AD. Modern Tezpur was founded by the British colonial administration in 1835 as the headquarters of Darrang district. On arrival, check-in at the hotel. Afternoon, visit Agnigarh, Mahabhairab temple and Chitralekha Udyan(if time permits). Dinner and overnight at the hotel.</p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 12:</b> Tezpur - Guwahati - Depart
									</p>
									<p class="aj">Morning after breakfast drive to Guwahati (04 - 05 hours) and transfer to Guwahati airport for your onward journey.<br />
***End of Tour**</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>
															</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.travvelextent.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mon Majuli Zero 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="109014"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Mon Majuli Zero Tour - 11 Nights / 12 Days Tour Packages";i:2;s:136:"book mon majuli zero tour - 11 nights / 12 days tour packages, heritage tour packages, dibrugarh, guwahati, tezpur, majuli tour packages";i:3;s:184:"Book Mon Majuli Zero Tour - 11 Nights / 12 Days tour packages from Travvel Extent - Get attractive 11 Nights / 12 Days Heritage  tour packages for  Dibrugarh, Guwahati, Tezpur, Majuli.";i:4;s:427:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dibrugarh, Guwahati, Tezpur, Majuli"        
		                 },
		      "description": "",
		      "name": "Mon Majuli Zero Tour",
		      "telephone": "+91-9706071620"
		    }
		    </script>
			";i:5;N;}