a:6:{i:0;s:22822:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Assam Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.globalworldtravels.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.globalworldtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Assam Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Dibrugarh, Jorhat, Tinsukia</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 16499 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.globalworldtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Assam 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="186179"/>
						</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_19/567090/289001.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/567090/289001.jpg"  width="150" height="112"    alt="Assam Tour" title="Assam Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								With this pocket friendly tour package, Global World welcomes you to explore spectacular destinations of Assam. The dynamic, vibrant and amazing aura of this stunning destination makes the holidaying experience memorable. Moreover, tourists visiting Assam can also explore the marvelous attractions, culture and cuisine. So, what are you waiting for? Book this package now and enjoy the holidays.								</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 at Dibrugarh
										</p>
										<p class="aj">Meet our representative on arrival at Dibrugarh Airport and get transferred to the hotel. Check-in and relax. Evening is free to spend at leisure. Stay 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> Excursion Trip to Digboi
										</p>
										<p class="aj">Enjoy an early morning breakfast and proceed for excursion trip to Digboi - the first oil town of South Asia. Here, you can visit the oil refinery, the Oil Museum and the Second World War Allied Forces Cemetery (where 200 graves are maintained by the Commonwealth War Graves Commission). Later, get driven back to Dibrugarh for overnight stay.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Maguri Beel,River Cruise On Brahmaputra
										</p>
										<p class="aj">After taking breakfast, check-out and get transfer to Tinsukia. On arrival at Tinsukia, check-in at the hotel and relax. Later, visit Maguri Beel in a country boat (without motor). Spend some quite time here and return to Tinsukia. Post lunch (on direct payment basis), proceed for a river cruise on Brahmaputra. If you get lucky, you might spot river dolphins with spectacular view of the sunset. Overnight stay will be 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> Driven to Jorhat
										</p>
										<p class="aj">Enjoy breakfast at leisure, check-out from hotel and get driven to Jorhat. On arrival at Jorhat, check-in at the hotel. Stay overnight at 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> Nimatighat to Board Public Ferry to Arrive At Majuli
										</p>
										<p class="aj">Post breakfast, drive to Nimatighat to board public ferry to arrive at Majuli. On arrival, check-in at the pre-booked camp. Freshen up and proceed for sightseeing tour to Sattras (Hindu monasteries). Return to the camp to spend peaceful night amidst nature.</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> Return to Nimatighat
										</p>
										<p class="aj">Return to Nimatighat<br />
Enjoy breakfast and return to Nimatighat by ferry. Get driven back to Jorhat and check-in at the hotel on arrival. Spend some time at leisure. Overnight stay will be 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 7:</b> Departure
										</p>
										<p class="aj">After having breakfast, get transferred to Jorhat Airport to board flight for onward destination.</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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>2 nights' stay in Dibrugarh, 1 night's stay in Tinsukia, 2 nights' stay in Jorhat and 1 night's stay in Majuli</li><li>
All appropriate transfers and sightseeing as per decided itinerary in a non-air-conditioned vehicle (probably Tata Sumo but not at disposal)</li><li>
Meals: 2 breakfasts in Dibrugarh, 1 breakfast in Tinsukia, 2 breakfasts in Jorhat and 1 breakfast in Majuli</li><li>
Complimentary boat cruise to Dibru saikhuwa</li><li>
Public ferry charges to and from Majuli</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>GST 5 %</li><li>
Extra Meals (Additional food charge) or Drinks & meal supplement for children like:- Milk and cornflakes</li><li>
Any sightseeing, which is not mention in Tour Programme such as water sports, water activities, drinks etc</li><li>
Any expenses of personal nature</li><li>
Surcharges as applicable</li><li>
Anything not mentioned in the inclusions.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Airport transfers will be provided by Car</li><li>
Sightseeing tour will be provided by car as per mentioned itinerary Given prices are on Per person basis on Double Occupancy (two persons sharing a room)</li><li>
Maximum 3 adults are allowed in a room at extra bed cost</li><li>
All the rates and services are subject to availability and may be changed without any prior notice</li><li>
All transfers and sightseeing are provided on SIC (Seat in Coach) basis, unless private transportation is not mentioned in inclusions</li><li>
There may be certain surcharges applicable at the time of booking of the tour packages</li><li>
As of now, we are not holding confirmed airline tickets and hotel rooms</li><li>
We generally provide indoor outdoor tickets on the same day, but for special occasions we might give these tickets on different days (depend on the itinerary)</li><li>
No Transfers are given for dinner unless pre-booked and paid above the holiday cost</li><li>
For any complimentary in the package, no compensation will be given under any circumstances</li><li>
Any delay or cancellation of program due to nature or other reasons will not provide any refund</li><li>
Always follow the timings given by the driver and guide for all the services and transfers. In case you fail to it, driver may leave and you will receive no refund on it</li><li>
Hotels suggested in the itinerary may change and will be equivalent or better in terms of services</li><li>
Some departures can have essential gala dinner on some special dates depending on the policy of the hotel which is over and above the cost of the holiday</li><li>
Flight details are mostly fixed but may change mostly in the case of date change</li><li>
If airline denies from any changes asked by passenger, we look for an alternate option that may take an additional cost from the client</li><li>
The hotel will provide rooms on double or twin sharing basis as per the availability. We can’t commit for it in advance. It is completely between the client and the hotel (bed type availability)</li><li>
We book a certain type of room and any kind of upgrade or downgrade given to the client is a subject to dispute between the hotel and client. If any facility and service is not provided by the hotel airline, it will be a dispute between the hotel airline and the client</li><li>
Please note that if the holiday is a fixed package then we don’t provide any alteration or changes for the same. The change may be requested in rare circumstances that may be granted on subject to availabilityThe tour includes lots of physical activities and excursions. It is requested from all the clients to take a full medical check-up and post approval of doctors, go for the journey. If client is facing any medical problem, it is highly recommended to be cured before going on a trip</li><li>
Take care of the visa processing time. We will not be responsible for any kind of delays or refusal of visa from the concerned department and the cancellation policy of the holiday will be applied</li><li>
Any kind of delays in flight due to any reason is not our responsibility and any kind of hotel cancellations and no shows will be the responsibility of the client</li><li>
Over and above our cancellation policy, if there is any extra or additional cancellation policy of airline, cruise, hotels etc, the client will have to pay the same. There are some tickets, which are non-refundable that has to be taken care by the client</li><li>
We understand that the client accepts our terms and conditions before confirming the above tour package.</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>* 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="https://www.globalworldtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Assam 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="186179"/>
						</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="https://www.globalworldtravels.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/packages-in-kaziranga.htm" title="Packages in Kaziranga">Kaziranga</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/packages-in-dibrugarh.htm" title="Packages in Dibrugarh">Dibrugarh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/packages-in-katra.htm" title="Packages in Katra">Katra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.globalworldtravels.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.globalworldtravels.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.globalworldtravels.com/packages-in-tinsukia.htm" title="Packages in Tinsukia">Tinsukia</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.globalworldtravels.com/packages-in-jorhat.htm" title="Packages in Jorhat">Jorhat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.globalworldtravels.com/packages-in-port-louis.htm" title="Packages in Port Louis">Port Louis</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.globalworldtravels.com/packages-in-guwahati.htm" title="Packages in Guwahati">Guwahati</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="https://www.globalworldtravels.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/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="https://www.globalworldtravels.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/affordable-budget-holidays-catid.htm" title="Affordable & Budget Packages">Affordable & Budget</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.globalworldtravels.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.globalworldtravels.com/mountaineering-holidays-catid.htm" title="Mountaineering Packages">Mountaineering</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>
				
								
				</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:49:"Book Assam Tour - 6 Nights / 7 Days Tour Packages";i:2;s:122:"book assam tour - 6 nights / 7 days tour packages, lakes & rivers tour packages, dibrugarh, jorhat, tinsukia tour packages";i:3;s:151:"Global World offers Assam Tour - 6 Nights / 7 Days tour package, budget Lakes & Rivers tour packages for Dibrugarh, Jorhat, Tinsukia at exciting price.";i:4;s:805:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dibrugarh, Jorhat, Tinsukia"        
		                 },
		      "description": "With this pocket friendly tour package, Global World welcomes you to explore spectacular destinations of Assam. The dynamic, vibrant and amazing aura of this stunning destination makes the holidaying experience memorable. Moreover, tourists visiting Assam can also explore the marvelous attractions, culture and cuisine. So, what are you waiting for? Book this package now and enjoy the holidays.",
		      "name": "Assam Tour",
		      "telephone": "+91-9828715556"
		    }
		    </script>
			";i:5;N;}