a:6:{i:0;s:23971:"				<div class="h1"><h1>Jomolhari Laya Gasa Trek Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.exoticvacationsbhutan.biz/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.exoticvacationsbhutan.biz/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Jomolhari Laya Gasa Trek 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">Tour Code </td>
						<td class="p5px pl0px vat">06</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						18 Nights / 19 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Thimphu, Paro</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						USD 6375 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">15% discount  will be offered to those who contact directly</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.exoticvacationsbhutan.biz/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Jomolhari Laya Gasa Trek 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="126847"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
										</tr>
					</table>
					</div>
					<br />
					
					15% discount  will be offered to those who contact directlyAir Tickets<br />
Guide And Driver Tips And Personal Expenses13-0431-12<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 PARO INTERNATIONAL AIRPORT
								</p>
								<p class="aj">Upon arrival at Paro International airport, you will be welcomed by our company representative and the tour guide will receive and escort you to designated Hotels in Paro. In the afternoon drive to the ruins of the 17th Century Drukgyel Dzong, an historic monument built by the Zhabdrung to commemorate his victory against invading Tibetans in 1644. In fine weather the towering peak of the sacred Mount Jomolhari (7314m) appears as a stunning backdrop. On the return drive to Paro, visit 7th Century Kyichu Lhakhang, one of the 108 temples constructed by the Tibetan king Songtsen Gampo. Overnight at Paro.</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> HIKE TO PARO TAKTSHANG
								</p>
								<p class="aj">Hike to Tiger's Nest, one of the most sacred Taktshang monasteries in Bhutan. It is perched on the cliff where Guru Rinpoche is said to have flown to the site riding on a tigress. He subsequently meditated here for three months. You can have lunch at the Taktshang cafeteria from where you get a spectacular view of the monastery.<br />
<br />
In the afternoon drive to the ruins of the 17th Century Drukgyel Dzong, an historic monument built by the Zhabdrung to commemorate his victory against invading Tibetans in 1644. In fine weather the towering peak of the sacred Mount Jomolhari (7314m) appears as a stunning backdrop. On the return drive to Paro, visit 7th Century Kyichu Lhakhang, one of the 108 temples constructed by the Tibetan king Songtsen Gampo. Overnight at Paro.</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> GUNITSAWA VILLAGE - SHARNA ZAMPA
								</p>
								<p class="aj">This trek begins at Gunitsawa Village were you pass the army post. At the army checkpost your trek permit (provided by your tour operator) will be checked and endorsed. The campsite is on the opposite side of the river, not far from Gunitsawa.</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> SHARNA ZAMPA - THANGTHANGKHA
								</p>
								<p class="aj">On this long day, the trail continues with lots of small ups and downs. After going uphill through the river valley the valley finally narrows gradually to a mere path which descends to a meadow where a camp will be set up. From here, if weather permits, you will have the first great view of Mt. Jomolhari.</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> THANGTHANGKHA - JANGOTHANG
								</p>
								<p class="aj">If you did not see Mt. Jomolhari the previous evening, you will still have a chance to get a great view early this morning. This morning the trek continues up the Paro Chhu valley which widens into patches of alpine meadow and scanty growths of forest. You will cross an army checkpoint along the way and enjoy a spectacular view of high mountain ridges and snow - capped peaks. In this area yaks and their herder's homes become a regular feature of the landscape. Passing the villages Soe, Takethang and Dangochang is another asset on this day. After reaching Jangothang, one of the most beautiful campsites of the Himalayas, you will again have a spectacular view of Mount Jomolhari.</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> JANGOTHANG HALT
								</p>
								<p class="aj">The rest day in Jangothang provides plenty of possibilities for day hikes with great views of lakes and snow capped mountains such as Jomolhari and Jichu Drake. There are good chances to spot some blue sheep on the upper slopes of the valley. Jangothang is a perfect environment for your acclimatization. You can also trek up to Tosoh or hike around the area. There are good short hiking trails in three directions. Jomolhari and its subsidiary mountain chains lie directly west, Jichu Drake to the north and there are a number of unclimbed peaks to the east.</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> JANGOTHANG - LINGSHI
								</p>
								<p class="aj">This is one of the longest days of the trek. A short distance from the camp the trail begins climbing rapidly for about half an hour and then becomes a gradual ascent to the Nyilila pass at 4,870m. While on the climb enjoy the surroundings. You might see herds of blue sheep grazing on the slopes of the mountains. From the pass you will have spectacular views of Mt. Jomolhari, Jichu Drake and Tsherimgang, all of them rising above 7,000m. It's a gradual descent to the camp where you will pass by some of the yak herder's tents, made from yak wool. The herders use these tents while travelling tovarious pastures for their yaks. As you come down into the Lingshi basin, a beautiful U - shaped valley, you get a wonderful view of Lingshi Dzong on clear days. Tserimgang and its glaciers rise up at the north end of the valley. The campsite is next to a stone hut you reach just before Lingshi Dzong.</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> LINGSHI - CHEBISA
								</p>
								<p class="aj">Today is the shortest walking day, and you can really take it easy. Shortly after starting you will reach a chorten below Lingshi Dzong. Here, you have the choice of staying on the main trail or taking a detour up to the Lingshi Dzong (4,220m), which sits right atop a high ridge. This Dzong is under reconstruction from a 2011 earthquake which damaged its central building. In addition to a very special atmosphere of mystic tranquility, Lingshi Dzong provides a great view over the valley. After Lingshi Dzong you will be passing the villages of Lingshi and Goyul. In Goyul, the stone houses are clustered together to form a small compact village that is unusual in Bhutan where settlements are usually scattered. On reaching the campsite at Chebisa you will have plenty of time to visit the village houses if you feel up to it. There is also a beautiful waterfall located behind the village that is worth visiting.</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> CHEBISA - SHOMUTHANG
								</p>
								<p class="aj">The morning starts with a long ascent behind Chebisa Village (2 - 3 hours) through a wide pastureland towards Gobu La (pass). On the way, you will see a few people herding yaks. There is also a great chance to spot large herds of blue sheep above the trail. After crossing Gobu La (4,410m), you descend into the valley, then climb again a little bit, before descending again to Shakshepasa (3,980), a large U - shaped valley. Climbing from here you will finally reach the campsite at Shomuthang, above a river, which is a tributary of the Nochu river.</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> SHOMUTHANG - ROBLUTHANG
								</p>
								<p class="aj">You begin by climbing up the valley to view Kang Bum (6,526 m) and some edelweiss. After two hours of climbing you will reach Jhari La (4,750m), from where you catch the first glimpse of Sinche La, the pass you will have to cross the day after. The big snow peak in the north is Gangchhenta 6,840 m, better known as the Great Tiger Mountain. If weather is clear, Tserim Kang and the top of Jomolhari will be visible. The camp by the river is called Tsheri Jathang located in a beautiful wide and remote valley. Herds of takin, the Bhutanese National Animal, migrate to this valley in summer and remain for about four months. The valley has been declared a takin sanctuary. Climb up a little bit and you will reach the campsite at Robluthang in a rocky meadow.</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> ROBLUTHANG - LIMITHANG
									</p>
									<p class="aj">The trek starts out with an initial 40 - 60mins ascent before gradually raising for another 1.5 hours through a boulder field. It is then a 1 hour steep ascent before reaching Sinche La (5,005m) - the final and highest pass on the trek if you don't intend to continue the Snowman trek from Laya onwards. As you descend the far side of the passyou will see an impressive terminal moraine and a glacial lake at the foot of the valley. You can see classic examples of lateral moraines where the glacier has pushed rocks up both sides of the valley. Below the moraine, you cross the Kango Chhu and soon reach the Limithang campsite. The peak of Gangchhenta towers over the campsite even though it's quite a distance away.</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> LIMITHANG - LAYA
									</p>
									<p class="aj">Today, you walk downhill all the way along a narrow, winding river valley. After a long time, the trail takes you through densely forested region. The trail leads you to the west side of Laya village. From the west of the village you will have spectacular views of Mt. Gangchhenta and catch Mt. Masagang. In the village centre is a community school and a basic health unit with a telephone connection. The campsite is located below the school</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 13:</b> LAYA - KOINA
									</p>
									<p class="aj">The trail winds up and down along the river valley of Mo Chhu avoiding natural obstacles and affording breath - taking views of the raging river, feeder streams and waterfalls. Lots of ups and downs will lead you to Kohi Lapcha at 3.300 m. The trek then drops down to the large stream of Koina Chhu, where you will find the campsite of Koina.</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 14:</b> KOINA - GASA
									</p>
									<p class="aj">Today you will have the last major climb of the Laya Gasa Trek. You will cross Bari La (3,740m), after which the trail descends all the way until you reach Gasa village (2,770m), where you will find the first restaurants since you started from Drukgyel Dzong. There also is a campsite close to Gasa Dzong. You will have to decide whether you want to stay in Gasa village or descend for another hour to the Gasa Tsachu (hot springs) and relax in the rejuvenating mineral waters. The Gasa Tsachu is one of the most popular hot springs in Bhutan.</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 15:</b> GASA TSHACHU
									</p>
									<p class="aj">After a long trek, this is the place to relax! Enjoy a hot bath and try some of the local beer.</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 16:</b> GASA TSHACHU - PUNAKHA
									</p>
									<p class="aj">Drive through scenic mountains from Gasa to Punakha (3 - 4 hrs). Punakha was the ancient capital of Bhutan. Afternoon Visit Punakha Dzong, built in 1637 by the Shabdrung, the 'Unifier of Bhutan'. It is situated at the confluence of the Mo Chu and Pho Chu (Mother and Father Rivers) and is the winter headquarters of the Je Khenpo. Overnight at your hotel in Punakha.</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 17:</b> PUNAKHA - THIMPHU
									</p>
									<p class="aj">Drive to Bhutan's capital, Thimphu via the Dochu - La pass (3,100 meters), which on a clear day offers an incredible view of Himalayan peaks (about 3 hrs total driving time). The drive through the countryside affords a glimpse of everyday life in this most remote of Himalayan kingdoms. In the Dochu - La area there are vast Rhododendron forests that grow to tree size and bloom in late April/early May covering the mountains in a riot of glorious spring colour. After lunch, enjoy the afternoon at leisure. Overnight at your hotel in Thimphu.</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 18:</b> THIMPHU SIGHTSEEING
									</p>
									<p class="aj">We will start our sightseeing tour visiting Memorial Chorten built in memory of the 3rd King Jigme Dorji Wangchuck who reigned the Kingdom from 1952 - 1972. Visit the National Library where ancient manuscripts are preserved. Further, we will visit the Zorig Chusum - 13 Arts & Crafts Institute where traditional arts and crafts are still kept alive. The visitors can see students of different trades at work like: Sculpting, Thanka Painting, Wood Carving and other skills. Afternoon we will drive Paro. In the evening free for a leisure walk to explore Paro districts to experience the Bhutanese way of life.</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 19:</b> DEPART PARO
									</p>
									<p class="aj">The guests will be Seen Off by a Representative of our company and the Tour Guide at the Exit Gate. Wish Bon Voyage!!!</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>
																		<li>2 Star Hotel</li>
																		<li>3 Star Hotel</li>
																		<li>4 Star Hotel</li>
																		<li>5 Star Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Private Cab</li>
																		<li>Private Guides</li>
																		<li>Entry Tickets</li>
																		<li>Sim Card</li>
																		<li>Complimentary Drinks</li>
																		<li>Bus Transfer</li>
																		<li>Cab Transfer</li>
																		<li>Stay Included</li>
																		<li>Non Veg Meals</li>
																		<li>Veg Meals</li>
																		<li>Veg & Non Veg Meals</li>
																		<li>Pickup-Drop</li>
																<li>Service Included Above</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Air Tickets</li><li>
Guide And Driver Tips And Personal Expenses</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>All Seasons awaits<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p><strong>Cancellation Policy</strong>

<p><strong>Tour programs booked and subsequently cancelled shall be subject to cancellation charges as follows:</strong>

<table border="0" cellpadding="0" cellspacing="0" style="width: 805px;" width="805">
	<tbody>
		<tr>
			<td>
			<p>1
			</td>
			<td>
			<p>Within 45 days of the start of the tour program
			</td>
			<td>
			<p>15% of the total tour cost
			</td>
		</tr>
		<tr>
			<td>
			<p>2
			</td>
			<td>
			<p>Within 30 days
			</td>
			<td>
			<p>25% of the total tour cost
			</td>
		</tr>
		<tr>
			<td>
			<p>3
			</td>
			<td>
			<p>Within 21 days
			</td>
			<td>
			<p>30% of the total tour cost
			</td>
		</tr>
		<tr>
			<td>
			<p>4
			</td>
			<td>
			<p>Within 15 days
			</td>
			<td>
			<p>50% of the total tour cost
			</td>
		</tr>
		<tr>
			<td>
			<p>5
			</td>
			<td>
			<p>Less than 7 days
			</td>
			<td>
			<p>100% of the total tour cost
			</td>
		</tr>
	</tbody>
</table>

<p><strong>DELAYED ARRIVAL/DEPARTURE</strong>

<ul>
	<li>There shall be no fixed charge for the number of days of delay in arrival of visitors due to weather conditions, Druk - air problems or road blocks except for minimum charge on hotel cancellation, transport and guide.</li>
	<li>There shall be no charge for the number of days of delay in departure of visitors due to weather conditions, Druk - Air problems or roadblocks. They will be charged only the actual expenses on accommodation, food, transport, guide and any other services required.</li>
</ul>

<p><strong>DRUK AIR CANCELLATION POLICY:<br />
Tickets issued and cancelled shall be subject to cancellation charges as follows:</strong>

<ul>
	<li>Within 45 days of the start of travel: no charges except documentation fees</li>
	<li>Within 30 days of the start of travel: 50% of the fare</li>
	<li>Within 15 days of the start of travel: 100% (No refund)</li>
	<li>Name Change: USD 25 per ticket</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.exoticvacationsbhutan.biz/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Jomolhari Laya Gasa Trek 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="126847"/>
						</form>
						</div>
						
						";i:1;s:70:"Book Jomolhari Laya Gasa Trek Tour - 18 Nights / 19 Days Tour Packages";i:2;s:127:"book jomolhari laya gasa trek tour - 18 nights / 19 days tour packages, hill station tour packages, thimphu, paro tour packages";i:3;s:167:"Exotic Vacations Bhutan offers Jomolhari Laya Gasa Trek Tour - 18 Nights / 19 Days tour package, budget Hill Station tour packages for Thimphu, Paro at exciting price.";i:4;s:538:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thimphu, Paro"        
		                 },
		      "description": "15% discount  will be offered to those who contact directlyAir Tickets
Guide And Driver Tips And Personal Expenses13-0431-12",
		      "name": "Jomolhari Laya Gasa Trek Tour",
		      "telephone": "+975-77685791"
		    }
		    </script>
			";i:5;N;}