a:6:{i:0;s:16828:"				<div class="h1"><h1>Lake and Pass of Ladakh Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.excellworldholidays.com/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Lake and Pass of Ladakh 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">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.excellworldholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Lake and Pass of Ladakh 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="15034"/>
						</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_1/27643/22313.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/27643/22313.jpg"  width="150" height="150"    alt="Lake and Pass of Ladakh Tour" title="Lake and Pass of Ladakh Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Airfares Train Fare.<br />
Any Monastery Entrance Fees, Any Joy Ride Or Rafting.<br />
Medical Expenses (Apart From First Aid) And Insurance Of Any Kind.<br />
Tips, Laundry, Liquors, Wines, Mineral Water, Telephone Charges, Camera Fee And Items Of Personal Nature.<br />
Transportation Is Not On Disposal Basis. It Is Strictly As Per The Programme, Any Extra Running Will Be Charges Extra.<br />
Any Expenses Arising Out Of Unforeseen Circumstances Like Flight Delay / Cancellation / Hike In Fare, Strike Or Any Other Natural Calamities Or Any Emergency Evacuation Expenses.<br />
Any Other Item Not Mentioned In The Cost Includes Section.<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 Leh
								</p>
								<p class="aj">Arrival Leh, Our representative will meet, greet, assist and transfer you to Hotel in Leh. Rest of the day free to acclimatize to the high altitude of Ladakh. In the evening take a walk to the local bazaar in Leh. Overnight at Hotel in 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 2:</b> Excursion to Sham Valley
								</p>
								<p class="aj">Morning after breakfast drive to Alchi. Enroute visit Magnetic Hill, Gurudwara Patthar Sahib, Confluence of Zanskar and Indus river. Visit Alchi Monastery and drive back to Leh. Just before reaching Leh visit Ladakh Hall of fame. Arrive hotel in Leh for dinner and overnight.<br />
<br />
MAGNETIC HILL : Defying the Law of gravity. This place is close to the Gurdwara Shri Patthar Sahib. It has been noticed that when a vehicle is parked on neutral gear on this metallic road the vehicle slides up-hill that's the Believe it or not of Ladakh.<br />
<br />
GURDWARA SHRI PATTHAR SAHIB: The Shrine known as Gurdwara Patthar sahib is situated about 25 kms. Short of Leh town on the Leh-Srinagar road. Built in the everlasting memory of Shri Guru Nanak Deve Ji the great prophet who sanctified the place by his sacred visit during the year 1517 while on his second missionary tour (2nd Udassi 1515-1518). The Guru reached here via Nepal, Sikkim, Tibet Yarkand and Leh after having spiritual discourses with the sidhas at Mount Sumer (Central Himalayas). On the hill features across the road, there used to live a wicked demon that terrorized the people of the area. Their miseries multiplied day by day. As their miseries became unbearable they prayed for divine help. It is said that the Great Guru heard their woes and came to their rescue. The Guru settled down on the bank of the river flowing nearby. The people sought for help and the Guru blessed the people and became very popular in the area. The locals called him as Nanak Lama. The Demon got enraged and started making plans to kill Guru Nanak. One morning, when the Guru was sitting in meditation, he rolled down a big boulder from the hilltop with the aim of killing the Guru. But on the very touch of Guru's body, the solid rock melted like wax and Guru's back got embedded on it like a cushion. The Guru kept on sitting in meditation undisturbed. Thinking that the Guru must have been killed, the demon came down but was taken aback on seeing the Guru in meditation, undisturbed. With a rage of anger he tried to push the rock with his right foot but the rock had already became like wax his foot also got embedded into it. On this, he realized his folly and powerlessness as compared to the spiritual power of the Great Guru. He fell on the feet of Guru and humbly prayed to be pardoned. The Guru advised him to get rid of his wickedness and lead the life of a nobel person, in the service of humanity. This changed the life style of demon and he started serving the people. The Guru there after continued his Holy journey towards Srinagar and Kashmir via Kargil.<br />
Powerlessness as compared to the spiritual power of the Great Guru. He fell on the feet of Guru and humbly prayed to be pardoned. The Guru advised him to get rid of his wickedness and lead the life of a nobel person, in the service of humanity. This changed the life style of demon and he started serving the people. The Guru there after continued his Holy journey towards Srinagar and Kashmir via Kargil.<br />
The boulder having imprint of the Guru's back is lying in the Gurdwara to this day.<br />
CONFLENCE OF THE ZANSKAR & INDUS : On way to Sham Valley before Nimu village one can have this magnificent view of two rivers in wed-lock! In seasons they have different colors and flow and wildness.<br />
ALCHI GOMPA: 70 Kms from Leh, on the banks of the Indus, is the Alchi Gompa dating a thousand years back. One of its walls features thousands of miniature sized pictures of the Buddha. Three large sized images made of clay and painted brightly are its focal attractions. No longer an active religious center, it is looked after by monks from the Liker monastery. This is the only monastery amongst 34 monasteries, which is not located on a hilltop.<br />
LADAKH HALL OF FAME : The Hall of Fame is a glorious museum constructed by the Indian Army. It is worth a visit for every citizen. You can see the memorabilia, eminent defense personalities with biographies, images and weapons used during the Kargil and other key strategic battles fought in Ladakh. And belongings of the enemy soldiers found at war site. All the martyr and the gallantry awards.<br />
Here's something that you will be proud of our defense personnel who sacrificed themselves so that we could live in peace.</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> Excursion to Pangong Lake
								</p>
								<p class="aj">Morning after breakfast drive to to Pangong Lake on the Indo China border. Evening back to hotel in Leh for dinner and overnight.<br />
THE PANGONG LAKE : This route takes the visitor past the picturesque villages of Shey and Thikse, and turns off the Indus valley by the side valley of Chemrey and Sakti. The Ladakh range is crossed by the Chang-la (18,000 feet / 5,475 M) which despite its great elevation is one of the easier passes, remaining open for much of the year even in winter, apart from periods of actual snowfall. Tangse, just beyond the foot of the pass, has an ancient temple.<br />
But the main attraction of this circuit is the Pangong Lake, situated at 14,000 feet (4,267 M). A long narrow basin of inland drainage, hardly six to seven kilometers at its widest point to which foreigners are permitted, is only some seven km along the southern shore from the head of the lake, but it affords spectacular views of the mountains of the Changchenmo range to the north, their reflection shimmering in the ever-changing blues and greens of the lakes brackish water. Above Spangmik are the glacier and snow-capped peaks of the Pangong range.<br />
the ever-changing blues and greens of the lakes brackish water. Above Spangmik are the glacier and snow-capped peaks of the Pangong range.</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> Excursion to Khardung la Pass
								</p>
								<p class="aj">After breakfast prepare yourself for the ultimate adventure of your life. We will drive upto the Khardung la Top to have a magnificent view of the surrounding valleys. After spending some time there come back to Hotel and relax. Dinner and overnight at the hotel in Leh.<br />
KHARDUNG LA PASS: The road journey to Nubra valley leads through Khardung La pass (The highest Motorable road in the world) 18,390 ft. around 39 Kms. Away from Leh. There are two checkpoints on the both sides of the pass. Khardong is the first village of Nubra valley at higher altitude than Deskit and other villages.</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> Monastery tour and Sindhu Darshan
								</p>
								<p class="aj">Morning after breakfast, drive to Thicksey village, visit Thicksey monastery and drive to Shey Village to visit Shey Palace and Gompa. Continue drive to Hemis monastery to visit one of the most famous monasteries of Ladakh. Later on the way back to Leh get down at the Sindhu Ghat for Sindhu Darshan and walk along the river. After spending some time at the river come back to Hotel and relax. Dinner and overnight at the hotel in Leh.<br />
THICKSEY GOMPA: 19 Kms from Leh, spectacularly sited, Thicksey is one of the largest and architecturally most impressive Gompa. There are several temples in this Gompa, containing images, stupas and wall paintings of Buddha, which are exquisite.<br />
SHEY PALACE AND GOMPA: Situated on a hillock 15 Kms upstream from Leh, it was once the residence of the royal family. According to tradition, it was the seat of power of the pre-Tibetan kinds. A 7.5 mts high copper statue of Buddha, plated with gold and the largest of its kind, is installed here.<br />
HEMIS GOMPA: 40 Kms from Leh, it is the wealthiest, best known and biggest Gompa of Ladakh. Its popularity stems from the major annual festival held here in summer. The festival is in honor of Guru Padma Sambhava's birth anniversary. It also has the largest Thanka in Ladakh which is unfurled once in 12 years Hemis was built in 1630 during the reign of Singge Namgyal, an illustrious ruler of Ladakh. It flourished under the Namgyal Dynasty for the royalty favored the Drugpa sect, which is managed the monastery. It is divided into two, the assembly hall on the right and the main temple on the left. The hall (Dukhang) is also used as "green room" by the dancers during the festival. The temple is known as Tshogkhang. The verandahs have a surfeit of frescoes, among them the Buddhist ?Wheel Of Life? (Kalachakra) and the lords of the four quarters, besides the prayer wheel.<br />
SINDHU GHAT: The Sindhu Ghat at Choglamsar village at the bank of River Indus has been inaugurated on the 1st of June 2001 by Hon'ble Minister for Home Shri L. K. Advani. Every year Sindhu festival is held on this bank of river, forges bonds of unity between communities. The festival is an ideal opportunity for travelers from all over the country and the world to visit this wonderful region and to savour its rugged beauty and charm.</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> Airport Departure
								</p>
								<p class="aj">Leave on time for Leh airport to board your flight to Delhi.</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>
																		<li>Transport</li>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfares Train Fare.</li><li>
Any Monastery Entrance Fees, Any Joy Ride Or Rafting.</li><li>
Medical Expenses (Apart From First Aid) And Insurance Of Any Kind.</li><li>
Tips, Laundry, Liquors, Wines, Mineral Water, Telephone Charges, Camera Fee And Items Of Personal Nature.</li><li>
Transportation Is Not On Disposal Basis. It Is Strictly As Per The Programme, Any Extra Running Will Be Charges Extra.</li><li>
Any Expenses Arising Out Of Unforeseen Circumstances Like Flight Delay / Cancellation / Hike In Fare, Strike Or Any Other Natural Calamities Or Any Emergency Evacuation Expenses.</li><li>
Any Other Item Not Mentioned In The Cost Includes Section.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Children Below 5 Years Of Age Are Allowed To Stay Free With Parents Without Extra Bed.</li>
	<li>Children Between 5 - 12 Years Have To Take An Extra Bed At The Prescribed Rate.</li>
	<li>02 Nd Child Between 5 - 12 Years Sharing Parent&#39;S Bed Have To Pay Extra For Meals Only.</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.excellworldholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Lake and Pass of Ladakh 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="15034"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Lake and Pass of Ladakh Tour - 5 Nights / 6 Days Tour Packages";i:2;s:115:"book lake and pass of ladakh tour - 5 nights / 6 days tour packages, valley tour packages, leh ladakh tour packages";i:3;s:152:"Excellworld Holidays offers Lake and Pass of Ladakh Tour - 5 Nights / 6 Days tour package, budget Valley tour packages for Leh Ladakh at exciting price.";i:4;s:1020:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "Airfares Train Fare.
Any Monastery Entrance Fees, Any Joy Ride Or Rafting.
Medical Expenses (Apart From First Aid) And Insurance Of Any Kind.
Tips, Laundry, Liquors, Wines, Mineral Water, Telephone Charges, Camera Fee And Items Of Personal Nature.
Transportation Is Not On Disposal Basis. It Is Strictly As Per The Programme, Any Extra Running Will Be Charges Extra.
Any Expenses Arising Out Of Unforeseen Circumstances Like Flight Delay / Cancellation / Hike In Fare, Strike Or Any Other Natural Calamities Or Any Emergency Evacuation Expenses.
Any Other Item Not Mentioned In The Cost Includes Section.",
		      "name": "Lake and Pass of Ladakh Tour",
		      "telephone": "+91-9881120349"
		    }
		    </script>
			";i:5;N;}