a:6:{i:0;s:13852:"				<div class="h1"><h1>Lamayuru to Chilling Trek Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.nomadicsteps.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.nomadicsteps.co.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Lamayuru to Chilling 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">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">Leh Ladakh</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.nomadicsteps.co.in/enquiry-form-10003.htm">
						<input type="hidden" name="subject" value="Lamayuru to Chilling 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="87849"/>
						</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_16/466826/153251.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/466826/153251.jpg"  width="150" height="150"    alt="Lamayuru to Chilling Trek Tour" title="Lamayuru to Chilling Trek 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> Arrival In Leh
								</p>
								<p class="aj">Upon arrival at Leh Airport you will met by Mountain trails representative and Welcome in traditional Ladakhi style and transfer to our pre-arranged hotel, rest of the day at leisure to acclimatize. Overnight stay at hotel<br />
<br />
Leh City: The capital of Ladakh, at one time was a major stop on the Asian “Silk Route”. A stroll along the main bazar, observing the varied crowd and peering into the curio shops, is an entrancing experience. Chang Gali, behind the main bazar is less bustling but has intriguing little shops selling curios and jewelry like pearls, turquoise, coral, malachite, lapis and many other kinds of semi-precious stones, as well as curiously carved Yak-horn boxes, quaint brass locks, china or metal bowls etc.<br />
<br />
Evening we visit Shanti Stupa A magnificent white-domed structure, The Japanese for World Peace built the Shanti Stupa, at Changspa, on the hilltop, and was inaugurated by Dalai Lama in 1985. Its state of the art work attracts a lot of tourists to Ladakh and is spectacular to watch. From there one can see the nice spectacular view of Leh town. The stupa looks best at night, when it is beautifully illuminated with glittering lights. A large number of tourists come to Ladakh every year to visit this amazing stupa.</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 Shey, Thiksey, Hemis
								</p>
								<p class="aj">oday we proceed for Indus Valley monastery tour.<br />
We start with a visit to Shey the ancient capital of Ladakh. The monastery here has a huge gold-gilded statue of Buddha Sakyamuni with a large silver lamp burning in front of the statue, built in the memory of King Singee Namgyal by his son lDeldan Namgyal in 1633 A.D. It is the only kind of statue made of Gold, Gilt and copper in entire Ladakh.<br />
Then we visit Thiksey Gompa an impressive complex rising tier upon tier on a hill above the village. The monastery has a beautiful 30 m high gold-plated statue of Maitreya Buddha, the Buddha of the future is one of the most beautiful monasteries of Ladakh,.<br />
Drive further to visit the famous Hemis Gompa, This is the largest monastic foundation of Drukpa Kagyu Order of Tibetan Buddhism. Most of the other Drukpa monasteries are the branch monasteries of Hemis. It was built during early 17th century with the blessing of Lama Stagtsang Raspa (Shambunatha), by famous Namgyal dynasty king Singee Namgyal.<br />
The two-day festival of monastic dance in June-July has raised the reputation of Hemis particularly high. The festival is dedicated to Guru Padmasambhava, popularly known as second Buddha and responsible for spreading Buddhism in the Tibetan world.</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> Leh -Lamayuru (3-4Hrs Drive)- Wanla 3250 M (3-4 Hrs)We Drive From Leh In The Morning Toward
								</p>
								<p class="aj">We drive from Leh in the morning towards Lamayuru (3 hrs) along the Indus River through Sham valley. Lamayuru monastery was founded by Rinche Zangpo in the 10th century. This gompa is located amidst the massive mountains. The spectacular setting of this gompa and its renowned collection of carpets, thangkas and frescoes has been attracting many people over a long time. It is believed to be the oldest in central Ladakh.<br />
<br />
After visiting the Lamayuru Monastery, we pack our backpacks, watch the horses get ready and set off for our first day’s trek. After following the stream for sometime, we will gradually move up to the small Pass of Prinkti La (3750m). We will the walk down a narrow gorge to the small village of Shilla, and the last 3 km will take us to Wanla (3250m).</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> Wanla -Hinju 3720M (4-5 Hrs)
								</p>
								<p class="aj">Following a dusty road we will reach the small village of Phenjilla (3410 m) and the scattered village of Uri .We will then walk through a narrow gorge until we reach a traditional Rangthak (flour mill) at the far end of the village. The trail will then cut through the village of Hinju (3720 m) roughly 2 km below our campsite in a yak herder’s encampment.</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> Hinju -Sumda Doksa 4430M (5-6 Hrs)
								</p>
								<p class="aj">From the encampment we will continue along the trail and ascend the ridge below Kongskil La (4950m). If lucky we will get glimpses of some wild life. We will then climb gradually until we reach Kongskil La where we will be surrounded by dizzying views of the Karakoram and Stok ranges. The descent down the trail is quite steep with loose moraine causing the difficulty–so be careful! The trail then follows the left side of valley floor, passing a yak herders ‘ hut (4500m), before we reach our campsite. This valley is occupied mainly by the villagers of Sumda Chenmo.</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> Sumda Doksa – Dung Dung Chan La Base 4430M(4-5 Hrs)
								</p>
								<p class="aj">After a short walk and a few river crossings, we will reach the village of Sumda Chenmo. From there we head towards the true left side of the valley, which provides a beautiful view of the village with its lush greenery. Further on the trail cuts through the valley ‘s wild rose bushes and leads us to another river crossing (this stream originates from the high snow- capped peaks of Photoksar (5685m).Before making a steep challenging ascent over Lanak, we will see Edelweiss and some of the other rare wild flowers of Ladakh.<br />
From the campsite, there is a splendid view of Konskila.</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> Dung Dung Chan La Base – Chilling 3550M (5 Hrs) – Leh
								</p>
								<p class="aj">We will begin the day with a straightforward climb to Dungdung Chan La (4820m), which offers views of the beautiful vistas of the Stok Range in the east and the Zanskar Range in the south. From the pass the trail gradually descends down a ridge toward the valley continually tapering before reaching the village of Chilling.<br />
Chilling is the only village in Ladakh that has provided metalworks such as copper, bronze, tin, silver and iron to the Leh market through the centuries.<br />
From Chilling we will drive for about 3 hours along the Zanskar River .We will eventually reach its confluence with the Indus and the easy road back to Leh.</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> Leh
								</p>
								<p class="aj">Complete day at leisure to explore the beauty of leh city on your own and time free for last day shopping.<br />
Or<br />
one can take an optional excursion to KHARDUNG-LA-PASS (the highest motorable road in the world) at 18,390 ft, around 39kms from Leh.<br />
Or<br />
PANGONG LAKE, situated at 14,000 feet (4,267 m). A long narrow basin of inland drainage, hardly six to seven kilometer at its widest point and over 130km long, it is bisected by the international border between India and China.</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> Leh
								</p>
								<p class="aj">Tour concludes. Mountain Trails thank you for your patronage and ensure a punctual transfer to Domestic Airport to catch the flight for your onward Destination.</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">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.nomadicsteps.co.in/enquiry-form-10003.htm">
						<input type="hidden" name="subject" value="Lamayuru to Chilling 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="87849"/>
						</form>
						</div>
						
						";i:1;s:69:"Book Lamayuru to Chilling Trek Tour - 8 Nights / 9 Days Tour Packages";i:2;s:119:"book lamayuru to chilling trek tour - 8 nights / 9 days tour packages, trekking tour packages, leh ladakh tour packages";i:3;s:149:"Nomadic Steps offers Lamayuru to Chilling Trek Tour - 8 Nights / 9 Days tour package, budget Trekking tour packages for Leh Ladakh at exciting price.";i:4;s:412:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "",
		      "name": "Lamayuru to Chilling Trek Tour",
		      "telephone": "+91-9469261146"
		    }
		    </script>
			";i:5;N;}