a:7:{i:0;s:12514:"				<div class="h1"><h1>Panoramic Ladakh 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>Panoramic 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">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Manali, Srinagar, Leh Ladakh, Lahaul & Spiti, Leh Palace, Rohtang Pass, 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="Panoramic 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="43835"/>
						</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/86834.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/278544/86834.jpg"  height="150"  width="150"    alt="Panoramic Ladakh Tour" title="Panoramic Ladakh 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> Manali - Keylong (117 kms)
								</p>
								<p class="aj"> Begin your tour by driving towards Keylong from Manali, crossing the Rohtang Pass (3978 meters). Later, drive through Marhi, Koksar, Sissu and Tandi villages. On arriving in Keylong, complete the check-in formalities at your hotel. Leave for exploring Keylong town that may include Guru Ghantal Gompa, Shashur Monastery, Gemur Monastery etc. Stay overnight.</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> Keylong – Sarchu (106 kms)
								</p>
								<p class="aj"> After morning breakfast on day 2, hit the road to Sarchu, crossing Bara-lacha pass (4890 meters). This road journey is going to be amazing because of the surrounding natural beauty of the majestic Himalayas. Move to your camps after reaching the Sarchu plains. The rest of the day is free- explore the surroundings on foot, admire the picturesque location, indulge in activities of your interest etc. This area is quite popular amongst trekking enthusiasts because of its rugged terrain. Overnight camping.</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> Sarchu – Leh (251 kms)
								</p>
								<p class="aj"> Have breakfast and begin driving towards Leh through Taglang La (5328 meters). Cross the great plains of Moree. After arriving in Leh, complete the check-in formalities at your hotel. The evening is free at leisure-take a stroll around the city center, interact with the locals, visit the local bazaar etc. Stay overnight.</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>  Leh
								</p>
								<p class="aj"> The morning of day 4 after breakfast is free. In the afternoon, proceed for sightseeing visiting the Shanti Stupa – a white-domed Buddhist chorten that is not only highly revered as a religious spot but is also well-known for the panoramic views it offers, Sankar Monastery- a Buddhist Gompa, home to around 20 monks. Later, visit the now ruined Leh Palace – the former residence of the royal family, built during the 17th century. The evening is for exploring the local market. Stay overnight.</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> Leh - Nubra
								</p>
								<p class="aj"> Today, get transported by road to Nubra valley through the Khardungla pass (17582 feet). After reaching, in the afternoon, check-in the Camp/hotel. Later, visit the popular Sand Dunes where you can see double-humped camels wandering and thorny bushes scattered all over the dunes. The day’s last visit is Diskit (Deskit) Monastery- the oldest and the largest Buddhist Gompa of Nubra. Stay overnight.</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> Nubra - Leh
								</p>
								<p class="aj">Nubra - Leh<br />
<br />
On day 6 after breakfast, return to Leh. On arrival, check-in your hotel. The afternoon is free for leisure activities- explore the nearby area, interact with the locals, treat your eyes to the mesmerizing view etc. Stay overnight.</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
								</p>
								<p class="aj"> After breakfast, enjoy excursions to Phyang and Spituk Monasteries. Phyang is a Buddhist monastery housing a 900-yr old museum. Spituk is a Buddhist monastery which is home to around 100 monks and also houses a huge statue of Goddess Kali. Have lunch at your hotel. Post lunch, visit the Hall of Fame- a museum built by the Indian army in the memory of soldiers who died in the Indo-Pak wars. The other visits are the Tibetan Handicrafts Center and the market of Leh. Stay overnight.</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 - Pangong 
								</p>
								<p class="aj"> Have an early morning breakfast and leave for a day trip to the Pangong Lake- a beautiful lake with blue waters bounded by snow-clad Himalayan Mountains. Enjoy a leisure walk, admire the surrounding beauty. Have lunch here, explore the lake area. Return to Leh for an 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 9:</b> Leh - Lamayuru
								</p>
								<p class="aj"> After breakfast on day 9, begin driving to Lamayuru. On the way, halt to visit the confluence of the rivers Indus and Zanskar, Alchi Monastery- a well-known ancient Buddhist monastery that is one of the best preserved ancient Gompas as well and the ruins of the 15th century Basgo Castle. After arriving in Lamayuru, complete the check-in formalities at your hotel for an 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 10:</b> Lamayuru - Kargil
								</p>
								<p class="aj"> In the morning, visit the lunar landscapes and the Lamayuru monastery- also known as Yuru Gompa, an ancient Tibetan Buddhist Monastery that is home to around 150 monks. Afterwards, proceed to Kargil. En-route visit the well-known monolithic rock -cut statue of Maitreya Buddha in Mulbekh village. This 8 m high statue dates back to 1st century B C. On arriving in Kargil by evening, check-in your hotel for staying overnight.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Kargil - Srinagar
									</p>
									<p class="aj"> Today is the last day of the tour.  After an early morning breakfast, begin driving to Srinagar. En-route, visit Drass- known as the second coldest place on earth, often called ‘the Gateway to Ladakh’. Drive past Zojila pass and Sonamarg. After arriving in Srinagar, get transported to the airport. </p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>Transfers</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="Panoramic 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="43835"/>
						</form>
						</div>
						
						";i:1;s:51:"Book Panoramic Ladakh Tour - 111 Days Tour Packages";i:2;s:190:"book panoramic ladakh tour - 111 days tour packages, hill stations & valleys tour packages, manali, srinagar, leh ladakh, lahaul & spiti, leh palace, rohtang pass, pangong lake tour packages";i:3;s:220:"Heavens Group offers Panoramic Ladakh Tour - 111 Days tour package, budget Hill Stations & Valleys tour packages for Manali, Srinagar, Leh Ladakh, Lahaul & Spiti, Leh Palace, Rohtang Pass, Pangong Lake at exciting price.";i:4;s:463:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Manali, Srinagar, Leh Ladakh, Lahaul & Spiti, Leh Palace, Rohtang Pass, Pangong Lake"        
		                 },
		      "description": "",
		      "name": "Panoramic Ladakh Tour",
		      "telephone": "+91-9034015552"
		    }
		    </script>
			";i:5;N;i:6;N;}