a:6:{i:0;s:11935:"				<div class="h1"><h1>Best of Ladakh Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.kwik2travels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.kwik2travels.co.in/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Best of Ladakh Package</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, Pengong</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 18000 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.kwik2travels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of Ladakh 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="28742"/>
						</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/288293/57681.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288293/57681.jpg"  width="150" height="150"    alt="Best of Ladakh Package" title="Best of Ladakh Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Monument / sightseeing / inner line permit fees:<br />
1600 INR fees extra per person(Foreign)<br />
800 INR fees extra per person (Indian)<br />
Tour Guide (1500 INR fees per day and highly recommended for each day of the tour for all foreign clients)19-1131-03<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> Leh
								</p>
								<p class="aj">An early morning arrival at Leh airport, you will be greeted by your guide and transferred directly to your hotel. After check-in, spend the day taking rest and adapting to the high altitude of Ladakh. In the late afternoon visit the beautiful Shanti stupa and capture some magnificent photos at sunset. Overnight stay inLeh 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 - Shey - Stok - Thicksey - Hemis - Leh
								</p>
								<p class="aj">Start your morning with a picturesque drive to Shey Village and a visit to Shey Monastery and Palace (both built in 1655 as summer retreat spaces for the reigning King). Proceed to Stok Palace museum to learn about the royal kingdoms of Ladakh and have a chance to view many royal artefacts and paraphernalia dating back to the 11th century. Have lunch in the lama run restaurant in beautiful Thicksey monastery, then take an overland safari drive to Hemis Gompa before returning to Leh for your overnight 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 3:</b> Pangong Lake
								</p>
								<p class="aj">This morning you will take another scenic drive to the magnificent Pangong Lake - a must see destination for your time in Ladakh and made famous by the 'Three Idiots' movie. More than half of Pangong Lake separates Ladakh from China, and the appearance of the water changes color at every angle of the sun. This experience makes for some amazing photographs so don’t forget your camera! Return to Leh in the afternoon in time for souvenir shopping in the local bazaar. Overnight stay in Leh 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 4:</b> Nubra Valley - Disket - Hundar
								</p>
								<p class="aj">An early morning departure for ‘Nubra Valley’ - popularly known as the ‘valley of flowers’. Situated in the northern part of Ladakh(between the Karakoram and Ladakh Himalayan ranges), the journey between Leh and Nubra takes you over ‘Khardong-la-pass’ - the world's highest motor-able road located 18390 feet above sea level! A half day drive of breathtaking landscapes and spectacular scenery,this experience is sure to be once-in-a-lifetime and truly unforgettable! On arrival in the Valley, you will visit the Disket monastery to see the 100ft tall Buddha statue before settling in to your overnight stay in a luxury 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> Summor - Leh City tour
								</p>
								<p class="aj">In the morning you will visit Samstanling monastery in Sumoor before climbing aboard Sumoors resident double-humped camels and exploring the sand dunes with a camel safari! On completion, return to Lehfor a half day of city sightseeing including visiting the ancient Leh palace and Tso Mo Gompa. Overnight stay in Leh 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 6:</b> Leh - Alchi -  Magentic Hill - Leh
								</p>
								<p class="aj">You will begin the day with a visit to Alchi monastery to see the Kashmiri influenced architecture of the local area. You will take a road trip stop at the mysterious Magnetic Hill to watch reverse gravity in action and then proceed to the Sikh temple of Pathar Sahib. Stop for some magic photos at the intersection of the Zangskar and Indus river at Sangham before returning back to Lehin time to browse the markets before your overnight stay 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 7:</b> Leh - Tso Kar - Tso moriri
								</p>
								<p class="aj">An early departure for your overnight stay in Tsomoriri- located 14,000 ft. above sea level. The local area (known as ‘Changthang’) is a land of wilderness and magnificent landscapes and the lake itself is a breeding ground for numerous species of birds. Throughout your journey, you may be lucky enough to interact with the nomadic Changpa people who can often be seen moving from one place to another - grazing herds of goats, sheep and yaks to produce sellable materials such as ropes, clothes and shoes. Overnight stay in Tso moriri in luxury 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> Tso moriri - Leh
								</p>
								<p class="aj">In the morning you will visit Korzok village with its houses and its Gompa appearing like a mirage. The few barley fields at Korzok are among the highest cultivation in the world. One last chance for bird-watching, taking photos of the ever changing colors of the lake or just enjoying a few moments of peace and quiet before proceeding on to Leh for any last minute shopping or sightseeing.</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> Delhi
								</p>
								<p class="aj">An early morning flight back 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>Sightseeing</li>
																		<li>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Monument / sightseeing / inner line permit fees:</li><li>
1600 INR fees extra per person(Foreign)</li><li>
800 INR fees extra per person (Indian)</li><li>
Tour Guide (1500 INR fees per day and highly recommended for each day of the tour for all foreign clients)</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.kwik2travels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of Ladakh 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="28742"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Best of Ladakh Package - 8 Nights / 9 Days Tour Packages";i:2;s:118:"book best of ladakh package - 8 nights / 9 days tour packages, valley tour packages, leh ladakh, pengong tour packages";i:3;s:148:"Kwik2 Travels offers Best of Ladakh Package - 8 Nights / 9 Days tour package, budget Valley tour packages for Leh Ladakh, Pengong at exciting price.";i:4;s:660:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh, Pengong"        
		                 },
		      "description": "Monument / sightseeing / inner line permit fees:
1600 INR fees extra per person(Foreign)
800 INR fees extra per person (Indian)
Tour Guide (1500 INR fees per day and highly recommended for each day of the tour for all foreign clients)19-1131-03",
		      "name": "Best of Ladakh Package",
		      "telephone": "+91-9329116616"
		    }
		    </script>
			";i:5;N;}