a:6:{i:0;s:11429:"				<div class="h1"><h1>5 Nights 6 Days / Dibrugarh - DibruSaikhowa - Mayodiya - Parasuram 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>5 Nights 6 Days / Dibrugarh - DibruSaikhowa - Mayodiya - Parasuram 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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Dibrugarh, Tinsukia</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="5 Nights 6 Days / Dibrugarh - DibruSaikhowa - Mayodiya - Parasuram 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="109005"/>
						</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/180249.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/274422/180249.jpg"  width="150" height="150"    alt="5 Nights 6 Days / Dibrugarh - DibruSaikhowa - Mayodiya - Parasuram Tour" title="5 Nights 6 Days / Dibrugarh - DibruSaikhowa - Mayodiya - Parasuram Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Hotel:<br />
Tinsukia (Camp)	Wave Eco Camp<br />
Mayodiya		IB/ Guest House <br />
Roing			Misimi Cottage<br />
<br />
<b>THE COST INCLUDES<br />
COST BASED ON(valid for Indian National only)<br />
Twin Sharing Per Person <br />
Extra Person / Child With Bed (CWB) sharing the Room on mattress <br />
02 – 03 Pax - All Transfer & Sightseeing by 01 NON AC Indica / Wagon r / Similar <br />
04 – 06Pax - All Transfer & Sightseeing by 01 NON AC Tata Sumo / Similar <br />
Meet & Greet upon arrival at Airport / Guwahati Station <br />
Hotel Accommodation as per the name mentioned in the Category for duration as mentioned in the itinerary.<br />
All applicable Transfers & Sightseeing by Specified vehicle which will not be at disposal and will be exclusively used for the guest as per the itinerary onlyCost for supplementary service, optional Tours, Up-gradation Charges, Guide, Sightseeing entrance fees. <br />
Cost for Airfare, Train fare, Insurance Premiums, Rafting Charges.<br />
Cost for service provided on a personal request. <br />
Cost for personal expenses such as laundry, bottled water, soft drinks, incidentals, porter charges, tips etc.<br />
Cost for any other service not mentioned under the “Cost Includes” head.<br />
Difference in cost arising due to change in Taxes by the Government which will have to be collected directly ON ARRIVAL.<br />
Difference in cost arising due to extra usage of vehicle, other than scheduled & mentioned in the itinerary.<br />
Difference in cost arising due to mishaps, political unrest, natural calamities like - landslides, road blockage, etc. In such case extra will have to be paid on the spot by the guest directly.<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> Dibrugarh Airport to DibruSaikhowa(Wave Eco Camp)
								</p>
								<p class="aj">Arrived New Tinsukia Railway Station / Dibrugarh Airport and transfer to Wave Eco Camp. Check in. Evening sightseeing local village and tea garden. Campfire with attractive complimentary by Wave Eco Camp. Overnight stay in the Houseboat/Camp.</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> DibruSaikhowa
								</p>
								<p class="aj">Early morning tour to SurkeySapori in northern sight of  Dibru Saikhowa National Park. It is 5hrs continuous boat tour on the River Brahmaputtra, Dibang and Siang rivers. Enjoy lunch on the way in an island. We have expertise cook dedicated to this tour.  After seeing back to Wave Eco Camp. Overnight stay in the Camp/Houseboat.</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> DibruSaikhowa to Mayodiya
								</p>
								<p class="aj">Early morning transfer to Mayodiya. Sightseeing, breakfast and lunch on the way. Overnight stay in the hotel at Mayodiya.</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> Mayodiya to Roing
								</p>
								<p class="aj">After breakfast sightseeing and village tour. Later proceed to Roing. Overnight stay in the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Roing to Parasuramkund to Tinsukia
								</p>
								<p class="aj">Early morning transfer to Parasuram Kund. ParasuramKund is the beginning of the Brahmaputra River. It is a holly place. Drive to Tinsukia. Overnight stay at hotel / Wave Eco Camp.</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> Check out
								</p>
								<p class="aj">In the early morning tour to see Hoollock Gibbon in Barekuri village. It is a 2 hrs tour. Back to Wave Eco Camp. After breakfast transfer to Tinsukia Railway Station / Dibrugarh Airport for your onward journey.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Cost for supplementary service, optional Tours, Up-gradation Charges, Guide, Sightseeing entrance fees. </li><li>
Cost for Airfare, Train fare, Insurance Premiums, Rafting Charges.</li><li>
Cost for service provided on a personal request. </li><li>
Cost for personal expenses such as laundry, bottled water, soft drinks, incidentals, porter charges, tips etc.</li><li>
Cost for any other service not mentioned under the “Cost Includes” head.</li><li>
Difference in cost arising due to change in Taxes by the Government which will have to be collected directly ON ARRIVAL.</li><li>
Difference in cost arising due to extra usage of vehicle, other than scheduled & mentioned in the itinerary.</li><li>
Difference in cost arising due to mishaps, political unrest, natural calamities like - landslides, road blockage, etc. In such case extra will have to be paid on the spot by the guest directly.</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. ~^#^~						
    	<p class="h dif xlarge b mb5px">COST based in C.P. basis in standard package</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Per Person Cost</td>
			</tr>
			<tr>
				<td class="data p5px">2 Pax</td>
				<td class="data p5px">22760</td>
			</tr>
			<tr>
				<td class="data p5px">4 Pax</td>
				<td class="data p5px">13760</td>
			</tr>
			<tr>
				<td class="data p5px">6 Pax</td>
				<td class="data p5px">10844</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Person</td>
				<td class="data p5px">3460</td>
			</tr>
		</table></div><br>						</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="5 Nights 6 Days / Dibrugarh - DibruSaikhowa - Mayodiya - Parasuram 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="109005"/>
						</form>
						</div>
						
						";i:1;s:110:"Book 5 Nights 6 Days / Dibrugarh - DibruSaikhowa - Mayodiya - Parasuram Tour - 5 Nights / 6 Days Tour Packages";i:2;s:169:"book 5 nights 6 days / dibrugarh - dibrusaikhowa - mayodiya - parasuram tour - 5 nights / 6 days tour packages, heritage tour packages, dibrugarh, tinsukia tour packages";i:3;s:215:"Book 5 Nights 6 Days / Dibrugarh - DibruSaikhowa - Mayodiya - Parasuram Tour - 5 Nights / 6 Days tour packages from Travvel Extent - Get attractive 5 Nights / 6 Days Heritage  tour packages for  Dibrugarh, Tinsukia.";i:4;s:2043:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dibrugarh, Tinsukia"        
		                 },
		      "description": "Hotel:
Tinsukia (Camp)	Wave Eco Camp
Mayodiya		IB/ Guest House 
Roing			Misimi Cottage

<b>THE COST INCLUDES
COST BASED ON(valid for Indian National only)
Twin Sharing Per Person 
Extra Person / Child With Bed (CWB) sharing the Room on mattress 
02 – 03 Pax - All Transfer & Sightseeing by 01 NON AC Indica / Wagon r / Similar 
04 – 06Pax - All Transfer & Sightseeing by 01 NON AC Tata Sumo / Similar 
Meet & Greet upon arrival at Airport / Guwahati Station 
Hotel Accommodation as per the name mentioned in the Category for duration as mentioned in the itinerary.
All applicable Transfers & Sightseeing by Specified vehicle which will not be at disposal and will be exclusively used for the guest as per the itinerary onlyCost for supplementary service, optional Tours, Up-gradation Charges, Guide, Sightseeing entrance fees. 
Cost for Airfare, Train fare, Insurance Premiums, Rafting Charges.
Cost for service provided on a personal request. 
Cost for personal expenses such as laundry, bottled water, soft drinks, incidentals, porter charges, tips etc.
Cost for any other service not mentioned under the “Cost Includes” head.
Difference in cost arising due to change in Taxes by the Government which will have to be collected directly ON ARRIVAL.
Difference in cost arising due to extra usage of vehicle, other than scheduled & mentioned in the itinerary.
Difference in cost arising due to mishaps, political unrest, natural calamities like - landslides, road blockage, etc. In such case extra will have to be paid on the spot by the guest directly.",
		      "name": "5 Nights 6 Days / Dibrugarh - DibruSaikhowa - Mayodiya - Parasuram Tour",
		      "telephone": "+91-9706071620"
		    }
		    </script>
			";i:5;N;}