a:7:{i:0;s:10238:"				<div class="h1"><h1>Ladakh Lakes, Wildlife and Passes Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.heavensgroup.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.heavensgroup.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Ladakh Lakes, Wildlife and Passes 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, Leh Palace, Pangong Lake</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price </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="https://www.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Ladakh Lakes, Wildlife and Passes 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="45225"/>
						</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_10/278544/89416.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/278544/89416.jpg"  height="150"  width="150"    alt="Ladakh Lakes, Wildlife and Passes Tour" title="Ladakh Lakes, Wildlife and Passes Tour" loading="lazy"></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> Delhi - Leh
								</p>
								<p class="aj">Upon arrival at the Kushok Bakula airport, move to the hotel. The rest of the day is free to get acclimatized with the weather. The evening is free to enjoy a walking tour in and around Leh Bazaar. Stay overnight in 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> Leh
								</p>
								<p class="aj">Today, take a road trip towards the west of Leh. The places you will visit include Alchi Monastery, a Tibetan Buddhist monastery, dating back to 990 AD, famous for its miniature paintings. On the way, visit the Magnetic Hill and see the confluence of Indus and Zanskar river. While returning back to Leh, visit the Military Hall of Fame en-route. Stay overnight at the 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 3:</b> Leh - Tsomoriri Lake
								</p>
								<p class="aj">Early morning, take a road trip along the Indus River to Rushpu Valley. Later, drive towards Tso Moriri Lake, located east of Leh. By noon, arrive at Tsomoriri Lake. It plays host to several migratory birds The evening is free to relax and shoot the lake at will. Stay overnight at the Tented Camp at Korzok village.</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> Tso Moriri Lake
								</p>
								<p class="aj">The day 4 is scheduled to explore the Lake area. We suggest you to stroll around the lake shores. By lunch, return back to the camp. Thereafter, visit the bucolic Korzok village and its small monastery. Don’t forget to carry your binoculars as they will helpful in bird watching at Tso Moriri Lake. Stay overnight in the Camp. </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> Tso Moriri - Leh
								</p>
								<p class="aj">In the morning, return back to Leh. On the way, visit Chumathang Hot Sulfur Springs and the famous Thiksey monastery ( it is a Tibetan Buddhist monastery owned by Yellow Hat Sect). The evening is free to explore the local bazaars. After that, return back to the hotel for night 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 6:</b> Leh - Khardongla pass
								</p>
								<p class="aj">Post breakfast in the morning, proceed on a road trip to Khardongla Pass, nestled at 5,600 meters. It is the highest motorable  pass in the world. By noon, return back to the hotel. In the evening, around 4:30 PM, visit the famous Shanti Stupa ( It is a white-domed Stupa built by Japanese Buddhist Bhikshu Gyomyo Nakamura) and Leh Palace (Built by King Sengge Namgyal in the 17th century, it is a nine-storied building built to accommodate the royal family).  By evening, return back to the hotel for night 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 7:</b> Leh - Pangong Lake
								</p>
								<p class="aj">Early morning, enjoy a full day trip to Pangong Lake. En route, you will come across Changla Pass (17,500 feet) and the villages of Durbuk and Tangste villages. The Pangong Lake changes its color 4 to 5 times a day. In the afternoon, enjoy a romantic walk around the lake where you may get the chance to see a great variety of local and migratory birds including Brahmini ducks and Bar-headed goose etc. The evening is booked to visit the tiny nomadic village nearby. Stay overnight at the Tented Camp.</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> Pangong - Leh
								</p>
								<p class="aj">Early morning, shoot the surrounding area at will. Thereafter, have breakfast and drive back to Leh. The afternoon is free to indulge for the last minute shopping in the Leh markets. Stay overnight in 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 9:</b> Leh - Delhi (flight)
								</p>
								<p class="aj">Following a light snack in the morning, drive to the Kushok Bakula airport to board 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>
															</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="https://www.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Ladakh Lakes, Wildlife and Passes 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="45225"/>
						</form>
						</div>
						
						";i:1;s:77:"Book Ladakh Lakes, Wildlife and Passes Tour - 8 Nights / 9 Days Tour Packages";i:2;s:159:"book ladakh lakes, wildlife and passes tour - 8 nights / 9 days tour packages, lakes & rivers tour packages, leh ladakh, leh palace, pangong lake tour packages";i:3;s:189:"Heavens Group offers Ladakh Lakes, Wildlife and Passes Tour - 8 Nights / 9 Days tour package, budget Lakes & Rivers tour packages for Leh Ladakh, Leh Palace, Pangong Lake at exciting price.";i:4;s:432:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh, Leh Palace, Pangong Lake"        
		                 },
		      "description": "",
		      "name": "Ladakh Lakes, Wildlife and Passes Tour",
		      "telephone": "+91-9034015552"
		    }
		    </script>
			";i:5;N;i:6;N;}