a:6:{i:0;s:25875:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Ladakh Best Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.shangrilatourtravel.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="https://www.shangrilatourtravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Ladakh Best Package</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Leh,Nubra,Pangong,Sham valley,</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 26999 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.shangrilatourtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ladakh Best Package - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="195856"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310734.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310734.jpg"  width="150" height="92"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310735.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310735.jpg"  width="150" height="92"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310736.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310736.jpg"  width="150" height="92"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310737.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310737.jpg"  width="150" height="92"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310738.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310738.jpg"  width="150" height="89"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310739.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310739.jpg"  width="150" height="92"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								The names Leh and Ladakh often bring forth to the imagination land that is still untouched by the hand of commercialisation and urban culture. 6 Days Leh Ladakh Tour Package gives you that perfect adventure outing that you have been waiting for. Nestled within the protective covers of the Himalayas and adorned with magnificent landscapes, Leh-Ladakh is a belt that must be explored!<br />
Leh is a comprehensive town jotted with a number of religious and aesthetic attractions. Nature has been kind to the Nubra Valley and the Pangong Lake. The former seems like a carpet of exotic flowers while the latter is a sight to behold in all its glory. The Khardungla Pass and Chang La Pass offer panoramic views of such beauty and mystique that they have thus far, only been imagined!<br />
About the Tour:<br />
-Start your tour after arriving at Leh and meet the tour representative, they will transfer you to your hotel.<br />
-Ride along the exotic routes with diverse landscapes, always make for a dream journey that is unmatchable and unique its own ways.<br />
-Enjoy the thrill of riding at otherwise unimaginable heights. Imagine looking down and staring into a deep gorge on one side and being flanked by massive mountain ranges on the other!<br />
-Be amazed by natural blessings like the Lamayuru or Moonland, Pangong Lake <br />
and the Khardung La Pass.<br />
-Learn of the region’s history and religion with visits to prominent monasteries and temples.<br />
-Interact with the locals to acquaint yourself with the local lifestyle and culture.<br />
-Conclude this tour after 6 days and head back home with lots of memories.								</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 | Local Sightseeing in Leh city
										</p>
										<p class="aj">Arrive in Leh and get transported to the hotel where you will be welcomed traditionally.<br />
Then, relax in the day for acclimatization.<br />
Witness the tour briefing by the road captain and get introduced to the bikes in the evening.<br />
Visit Shanti Stupa and gaze at the beautiful sunset with a pictorial view of Leh.<br />
Later, visit Leh's market and explore it completely.<br />
Enjoy the Dinner and overnight stay at Hotel/guesthouse.</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 to Sham valley | Magnetic hill, Confluence of Indus - Zanskar river,
										</p>
										<p class="aj">Morning, after delicious breakfast advance towards the confluence of the Zanskar- Indus Rivers.<br />
Experience the world-famous hall of fame.<br />
Witness the holy Gurudwara Pathar Sahib and proceed towards the next destination.<br />
Visit the Magnetic Hill, where you can witness the unusual phenomenon of vehicles sliding uphill on neutral gear.<br />
Enjoy River rafting at World's Highest River rafting point<br />
Later, enjoy dinner and overnight stay at hotel/guesthouse</p>
										</td>
											<td class="p10px vat imgWidth200 w200px lh0">
											<div class="demo-wrap">
											<ul class="lsn m0px p0px" >
														<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310736.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310736.jpg"  width="150" height="92"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
											</ul>
											</div>
											</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 to Nubra valley via Khardungla Pass | Highest All-Season Motorable road in the world
										</p>
										<p class="aj">After breakfast, equip yourself for the ultimate adventure of your life and travel through magnificent Nubra valley.<br />
Experience the trip on the highest motorable road in the world.<br />
Visit the white sand dunes in Hunder and enjoy a ride of the exotic double-humped camel.<br />
Check in at your camp and if time permits, visit Diskit monastery in the evening.<br />
Dinner with accompanied by a discussion session<br />
Overnight in Nubra Valley camps under the starlit sky.</p>
										</td>
											<td class="p10px vat imgWidth200 w200px lh0">
											<div class="demo-wrap">
											<ul class="lsn m0px p0px" >
														<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310737.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310737.jpg"  width="150" height="92"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
											</ul>
											</div>
											</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> Nubra valley To Pangong Lake via Shyok
										</p>
										<p class="aj">This morning after breakfast. drive to Pangong Lake on the Indo China border.<br />
The route takes the visitor past the striking villages of Shey and Thiksey and turns off the Indus valley by the side valley of Chimney and Shakti.<br />
Later, cover the Chang-la (17,586feet / 5,360 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.<br />
Dinner and overnight stay at camps</p>
										</td>
											<td class="p10px vat imgWidth200 w200px lh0">
											<div class="demo-wrap">
											<ul class="lsn m0px p0px" >
														<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310738.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310738.jpg"  width="150" height="89"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
											</ul>
											</div>
											</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> Pangong Lake to Leh via Chang-la pass
										</p>
										<p class="aj">After breakfast, embark your journey back to Leh.<br />
Ride back through the same route passing Chang La pass and visit Thiksey Gompa, Shey Gompa, and palace in-route.<br />
Thiksey is one of the largest and architecturally most impressive Gompas in Ladakh and is inspired by Potala palace in Lhasa.<br />
Rest for a while and later savor a lip-smacking dinner.<br />
Overnight at Leh hotel/guesthouse</p>
										</td>
											<td class="p10px vat imgWidth200 w200px lh0">
											<div class="demo-wrap">
											<ul class="lsn m0px p0px" >
														<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_22/635207/310739.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/635207/310739.jpg"  width="150" height="92"    alt="Ladakh Best Package" title="Ladakh Best Package" /></a></p></div></li>
											</ul>
											</div>
											</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> Departure from Leh.
										</p>
										<p class="aj">Post breakfast, depart from Leh for your onward journey.<br />
We will drop you to the airport.<br />
End your Leh trip with a bag full of memories.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																						<li>Transport</li>
																						<li>Airport Pickup-Drop</li>
																						<li>Veg & Non Veg Meals</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Inner Line permit </li><li>
Extra requirements of meal, drinks</li><li>
Enter fee on historical places</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>20% Advance Percentage of total booking amount</li><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.shangrilatourtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ladakh Best Package - 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="195856"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(21)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(20)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(20)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/chandigarh-city-tour-packages.htm" title="Chandigarh City Tour Packages">Chandigarh City</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/khajjiar-tour-packages.htm" title="Khajjiar Tour Packages">Khajjiar</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/gulmarg-tour-packages.htm" title="Gulmarg Tour Packages">Gulmarg</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/kargil-tour-packages.htm" title="Kargil Tour Packages">Kargil</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/jispa-tour-packages.htm" title="Jispa Tour Packages">Jispa</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/tabo-tour-packages.htm" title="Tabo Tour Packages">Tabo</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/mandi-tour-packages.htm" title="Mandi Tour Packages">Mandi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/kullu-tour-packages.htm" title="Kullu Tour Packages">Kullu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/agra-tour-packages.htm" title="Agra Tour Packages">Agra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(43)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.shangrilatourtravel.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/adventure-sports-holidays-catid.htm" title="Adventure Sports Packages">Adventure Sports</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/motor-bike-holidays-catid.htm" title="Motor Bike Packages">Motor Bike</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.shangrilatourtravel.in/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:58:"Book Ladakh Best Package - 5 Nights / 6 Days Tour Packages";i:2;s:129:"book ladakh best package - 5 nights / 6 days tour packages, adventure tour packages, leh,nubra,pangong,sham valley, tour packages";i:3;s:185:"Book Ladakh Best Package - 5 Nights / 6 Days tour packages from Shangrila tour & travels - Get attractive 5 Nights / 6 Days Adventure  tour packages for  Leh,Nubra,Pangong,Sham valley,.";i:4;s:2008:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh,Nubra,Pangong,Sham valley,"        
		                 },
		      "description": "The names Leh and Ladakh often bring forth to the imagination land that is still untouched by the hand of commercialisation and urban culture. 6 Days Leh Ladakh Tour Package gives you that perfect adventure outing that you have been waiting for. Nestled within the protective covers of the Himalayas and adorned with magnificent landscapes, Leh-Ladakh is a belt that must be explored!
Leh is a comprehensive town jotted with a number of religious and aesthetic attractions. Nature has been kind to the Nubra Valley and the Pangong Lake. The former seems like a carpet of exotic flowers while the latter is a sight to behold in all its glory. The Khardungla Pass and Chang La Pass offer panoramic views of such beauty and mystique that they have thus far, only been imagined!
About the Tour:
-Start your tour after arriving at Leh and meet the tour representative, they will transfer you to your hotel.
-Ride along the exotic routes with diverse landscapes, always make for a dream journey that is unmatchable and unique its own ways.
-Enjoy the thrill of riding at otherwise unimaginable heights. Imagine looking down and staring into a deep gorge on one side and being flanked by massive mountain ranges on the other!
-Be amazed by natural blessings like the Lamayuru or Moonland, Pangong Lake 
and the Khardung La Pass.
-Learn of the region’s history and religion with visits to prominent monasteries and temples.
-Interact with the locals to acquaint yourself with the local lifestyle and culture.
-Conclude this tour after 6 days and head back home with lots of memories.",
		      "name": "Ladakh Best Package",
		      "telephone": "+91-9797921697"
		    }
		    </script>
			";i:5;N;}