a:6:{i:0;s:12343:"				<div class="h1"><h1>Heavans Of The East - 8N/9D</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Heavans Of The East - 8N/9D</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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bomdila, Guwahati, Tezpur, Tawang, Shilong, Bhalupong, Dirang</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 23800 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Heavans Of The East - 8N/9D - 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="82781"/>
						</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_14/393874/146679.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/146679.jpg"  width="150" height="150"    alt="Heavans Of The East - 8N/9D" title="Heavans Of The East - 8N/9D" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Accommodation on twin Sharing Basis.<br />
Meal Plan - Breakfast only.<br />
Exclusive Non a/c vehicle for transfers & sightseeing. Please note that vehicle will not be at disposal it will be available to guest as per itinerary only (point to point basis).<br />
All permit fees & hotel taxes (as per itinerary).<br />
Rates are valid for INDIAN NATIONALS onlyAir Fare / Train fare.<br />
Personal Expenses such as Laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, rafting, rock climbing, paragliding, joy ride (Toy Train), porterage.<br />
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.<br />
Entrance Fees & Guide charges.<br />
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, which is directly payable on the spot).<br />
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.<br />
Room Heater Charges.<br />
Service Tax.<br />
Insurance.<br />
Anything which is not included in the inclusion.<br />
<br />
Mandatory Surcharge applicable between 01st May to 05th June 2015<br />
<br />
Note:The package cost is valid for min. 6 pax travelling together in Standard properties<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> Guwahati Airport / Rly Station – Shillong (100 kms / 03 hrs.)
								</p>
								<p class="aj">On arrival at Guwahati Airport / Railway Station & transfer to Shillong (4,900 ft.), called 'Scotland of the East". Enroute visit Umium Lake, a majestic placid lake with its surrounding sylvan hills. On arrival at Shillong, check in at your hotel. Overnight stay at Shillong.</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 to Cherrapunjee (60 kms / 2 hrs.)
								</p>
								<p class="aj">After early breakfast drive to Cherrapunjee (4,400 ft.), the wettest place in the world. You will see the beautiful waterfall known as Nohkalikai. You can also explore the caves known as Mawsmai. Evening return to Shillong, enroute visit Elephanta falls and Shillong peak for some breathtaking views. Overnight stay at Shillong.</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> Shillong Sightseeing – Tezpur/Bhalukpong (320 kms / 7 hrs.
								</p>
								<p class="aj">After breakfast visit Don Bosco Museum & Ward’s Lake. Later drive to Tezpur/Bhalukpong. On arrival check in to the hotel. Evening is free for leisure. Overnight stay at Tezpur/Bhalukpong.</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> Tezpur/Bhalukpong – Dirang (138 kms / 5 hrs.)
								</p>
								<p class="aj">After early breakfast drive to Dirang. On the way visit Tipi Orchidarium. On arrival check in to the hotel.Afternoon visit Apple & Kiwi Garden (depending upon season), Dirang Monastery and Kalachakra Monastery. Dirang is also famous for hot water springs where people take bath to cure skin ailments. Overnight stay at 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 5:</b> Dirang – Tawang (130 kms / 5 hrs.)
								</p>
								<p class="aj">After early breakfast proceed to Tawang. On the way enjoy the beauty Sela Pass, Sela Lake, Jaswantgarh War Memorial, and majesty of Nuranng Fall.  Arrive & check in to the hotel. Evening is free for leisure. Overnight stay 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 6:</b> Tawang Sightseeing
								</p>
								<p class="aj">After breakfast visit Tawang Monstery, Pankang Teng Tso Lake (PT Tso Lake), Urgeling Gompa (6th Dalai Lama birth place) & War Memorial.Evening free.Overnight stay 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 7:</b> Tawang – Bomdila (170 kms / 6 hrs.)
								</p>
								<p class="aj">After breakfast transfer to Bomdila (8,200 ft.) - the headquarter of West Kameng District of Arunachal Pradesh and also known for its Buddhist monasteries. It has a lot of attractions for the visitors for its cool climate. On arrival check in to the hotel.Evening visit Bomdila Monastery.Overnight stay 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 8:</b> Bomdila – Guwahati (307 kms / 7 hrs.)
								</p>
								<p class="aj">After Breakfast transfer to Guwahati. On arrival check in at your hotel.Evening free for individual activities.Overnight stay at Guwahati.</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> Hotel – Guwahati Airport / Rly Station
								</p>
								<p class="aj">After breakfast visit Kamakhya Temple, etc. Transfer to Guwahati Airport / Railway Station 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>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Air Fare / Train fare.</li><li>
Personal Expenses such as Laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, rafting, rock climbing, paragliding, joy ride (Toy Train), porterage.</li><li>
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.</li><li>
Entrance Fees & Guide charges.</li><li>
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, which is directly payable on the spot).</li><li>
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.</li><li>
Room Heater Charges.</li><li>
Service Tax.</li><li>
Insurance.</li><li>
Anything which is not included in the inclusion.</li><li>
Mandatory Surcharge applicable between 01st May to 05th June 2015</li><li>
Note:The package cost is valid for min. 6 pax travelling together in Standard properties</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Heavans Of The East - 8N/9D - 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="82781"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Heavans Of The East - 8N/9D - 8 Nights / 9 Days Tour Packages";i:2;s:173:"book heavans of the east - 8n/9d - 8 nights / 9 days tour packages, lakes & rivers tour packages, bomdila, guwahati, tezpur, tawang, shilong, bhalupong, dirang tour packages";i:3;s:209:"Sanskruti Vacations offers Heavans Of The East - 8N/9D - 8 Nights / 9 Days tour package, budget Lakes & Rivers tour packages for Bomdila, Guwahati, Tezpur, Tawang, Shilong, Bhalupong, Dirang at exciting price.";i:4;s:1722:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bomdila, Guwahati, Tezpur, Tawang, Shilong, Bhalupong, Dirang"        
		                 },
		      "description": "Accommodation on twin Sharing Basis.
Meal Plan - Breakfast only.
Exclusive Non a/c vehicle for transfers & sightseeing. Please note that vehicle will not be at disposal it will be available to guest as per itinerary only (point to point basis).
All permit fees & hotel taxes (as per itinerary).
Rates are valid for INDIAN NATIONALS onlyAir Fare / Train fare.
Personal Expenses such as Laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, rafting, rock climbing, paragliding, joy ride (Toy Train), porterage.
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.
Entrance Fees & Guide charges.
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, which is directly payable on the spot).
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.
Room Heater Charges.
Service Tax.
Insurance.
Anything which is not included in the inclusion.

Mandatory Surcharge applicable between 01st May to 05th June 2015

Note:The package cost is valid for min. 6 pax travelling together in Standard properties",
		      "name": "Heavans Of The East - 8N/9D",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}