a:6:{i:0;s:22539:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Majestic Ladakh Trip</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.goldenwingsholidays.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.goldenwingsholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Majestic Ladakh Trip</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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Leh Ladakh</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.goldenwingsholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Majestic Ladakh Trip - 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="195913"/>
						</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_20/578576/310800.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/578576/310800.jpg"  width="150" height="84"    alt="Majestic Ladakh Trip" title="Majestic Ladakh Trip" /></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_20/578576/310798.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/578576/310798.jpg"  width="150" height="72"    alt="Majestic Ladakh Trip" title="Majestic Ladakh Trip" /></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_20/578576/310799.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/578576/310799.jpg"  width="150" height="100"    alt="Majestic Ladakh Trip" title="Majestic Ladakh Trip" /></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_20/578576/310801.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/578576/310801.jpg"  width="150" height="112"    alt="Majestic Ladakh Trip" title="Majestic Ladakh Trip" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Leh Ladakh Trip provides numerous trekking trails, valleys and picturesque lakes. It covers destination of  Leh, Hemis, Pangong, Khardongla, Sham. It offers different panorama than any other destination in India can offer. The exquisite monasteries, suptas, magnetic hills and palaces will captivate your attention.								</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
										</p>
										<p class="aj">On arrival at Leh airport meet our representative who will transfer you to your hotel in Leh. Upon arrival, proceed for check-in at your hotel.<br />
<br />
Remainder of the day will be for rest, to acclimatize.<br />
<br />
Since you are reaching an altitude of 4000 mtrs approximately from 200 mtrs in just one hour’s time, you may be excited and would want to explore everything on your very first day. However, it is your body which needs to get acclimatized to such height and climate. We sincerely suggest that you rest on the first day for body acclimatization.<br />
<br />
Dinner and overnight stay at the hotel.</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_20/578576/310801.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/578576/310801.jpg"  width="150" height="112"    alt="Majestic Ladakh Trip" title="Majestic Ladakh Trip" /></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 2:</b> Visit Sangam, Gurudwara pathar sahib, Hall of Fame, Magnetic hill
										</p>
										<p class="aj">In the morning, after breakfast, drive to Sangam (Confluence). En route visit Magnetic Hill and Gurudwara Patthar Sahib. Visit Confluence of Zanskar and Indus River.<br />
<br />
The Sangam (Confluence): Confluence of the Indus and Zanskar Rivers lies in Ladakh at Nimu. The Indus runs through Ladakh all along by your side serving as a constant companion and you feel a sense of respect for this ifeline of the people of Ladakh, especially since Ladakh experiences rainfall of only 2 to 3 inches throughout the year. Both Indus and Zanskar Rivers merge with each other as if they had flown all along just for that purpose. From this point on, beyond this Confluence of the two, the waters are regarded as the Indus River.<br />
<br />
Magnetic Hill: Can anyone ever imagine the movement of a vehicle up a steep mountain with its engines off? Reach Magnetic Hill to experience this phenomenon which sounds unbelievable.<br />
<br />
Gurudwara Pathhar Sahib: Gurudwara Pathar Sahib is a beautiful Gurudwara constructed in the memory of Guru Nanak, about 25 miles away from Leh, on the Leh-Kargil road, 12000 ft above sea level. The Gurudwara was built in 1517 to commemorate the visit to the Ladakh region of Guru Nanak Dev, the founder Guru of the Sikh faith.<br />
<br />
On your way back, visit Ladakh Hall of fame.<br />
<br />
Hall of Fame: Hall of Fame in Leh is a must visit for every individual of India. This is constructed by the Indian Army. You will find memorabilia, eminent defence personalities’ biographies, images and weapons used during Kargil war and belongings of enemy soldiers found at war site.</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 to Nubra Valley Via Khardungla Pass: 140Km / 5 -6 Hours
										</p>
										<p class="aj">Early morning proceed to Nubra Valley via the World’s Highest Motorable road (5602 Mts) Khardungla pass. <br />
<br />
Khardung la Pass (18,380ft above sea level): It is not very often that one gets to drive on a road at an altitude of 18,380 feet. That is where Khardungla Pass, meaning the ‘Pass of Lower Castle,’ is located on the way from Leh to the Nubra Valley in Ladakh. It is the highest motorable road in the world as signs put up by the Border Roads Organization proudly proclaim.<br />
<br />
Arrive Nubra Valley and proceed for a visit to the White Sand Dunes at Hunder. You can also enjoy a camel ride here (Camel ride on direct payment basis).<br />
<br />
Nubra Valley: Popularly called the orchard of Ladakh, Nubra valley offers a graceful view of yellow and pink wild roses in summer and a carpet of wild lavender in the post-monsoon season. You will definitely be overwhelmed to see the Bactrian Camels (Shaggy double hump Camel) around sand dunes.<br />
<br />
Thereafter, check in at comfortable Camp or Hotel.<br />
<br />
Evening at leisure. Dinner & overnight stay at the camp or 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 to Leh  140 Kms / 5 – 6 Hours
										</p>
										<p class="aj">Morning after Breakfast proceed for Diskit Monastery.<br />
<br />
Post the Diskit Monastery, proceed for backward journey to Leh, once again driving via Khardungla pass the World Highest Motorable road.<br />
<br />
Evening explore Leh bazaar for souvenir and some shopping on your own. Dinner & overnight stay at 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 5:</b> Leh – Pangong Lake (approx. 140kms one way)
										</p>
										<p class="aj">Morning after breakfast drive to Pangong Lake on the Indo China border. Enroute you will cross Changla Pass, the third highest motorable road in the world.<br />
<br />
Pangong Lake: The picturesque lake is one of the major draws of the Leh-Ladakh valley. a location of several film shootings and known for its pristine waters surrounded by awe-inspiring mountains, Pangong Lake is a prime tourist attraction. The long and narrow lake lies in the neighbourhood of the famous Chushul Mountains. The mirror-calm water is cold, clear and extremely salty. The lake is a breeding ground for a variety of birds.<br />
<br />
In the evening check in at your camps in Pangong<br />
<br />
Dinner and overnight stay at the camps.</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> Pangong Lake to Leh (approx. 140kms one way)
										</p>
										<p class="aj">In the morning have breakfast at your camps in Pangong. Thereafter, proceed for your journey back to Leh.<br />
<br />
Upon your arrival in Leh, you may enjoy the evening at leisure.<br />
<br />
Dinner and overnight stay at 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> Departure
										</p>
										<p class="aj">Leave on time for Leh airport to board your flight to Delhi.</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>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Airfare, Train Charges</li><li>
Any Personnel shopping done during the tour.</li><li>
Oxygen Cylinder/Heater charges.</li><li>
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc. (to be borne by the client, who is directly payable on the spot).</li><li>
Monastery Fees, Tips, Laundry, any eatable other than the meals provided in the tour.</li><li>
Anything that is not mentioned in the tour cost included please consider it out of the package.</li><li>
Mineral Water, food during train journey.</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><li>
Refund will be made within 15 working days from the date of receipt of the cancellation.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.goldenwingsholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Majestic Ladakh Trip - 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="195913"/>
						</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="http://www.goldenwingsholidays.com/gulmarg-tour-packages.htm" title="Gulmarg Tour Packages">Gulmarg</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/sonamarg-tour-packages.htm" title="Sonamarg Tour Packages">Sonamarg</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/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 "><a class="dif" href="http://www.goldenwingsholidays.com/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 "><a class="dif" href="http://www.goldenwingsholidays.com/jispa-tour-packages.htm" title="Jispa Tour Packages">Jispa</a> <b class="alpha50 bn small">(1)</b></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="http://www.goldenwingsholidays.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.goldenwingsholidays.com/motor-bike-holidays-catid.htm" title="Motor Bike Packages">Motor Bike</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Leh Ladakh</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.goldenwingsholidays.com/holiday-packages/bike-trip-manali-ladakh.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/578576/312676.jpg"  alt="Bike Trip Manali & Ladakh" title="Bike Trip Manali & Ladakh"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.goldenwingsholidays.com/holiday-packages/bike-trip-manali-ladakh.htm" title="Bike Trip Manali & Ladakh"><h3>Bike Trip Manali & Ladakh</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kullu, Leh Ladakh, Jispa, Tabo</p>
															<div class="mt10px small">
							<form name="pkg_196704" id="pkg_196704" method="post" action="http://www.goldenwingsholidays.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.goldenwingsholidays.com/holiday-packages/bike-trip-manali-ladakh.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Bike Trip Manali & Ladakh - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="196704"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:59:"Book Majestic Ladakh Trip - 6 Nights / 7 Days Tour Packages";i:2;s:113:"book majestic ladakh trip - 6 nights / 7 days tour packages, hill station tour packages, leh ladakh tour packages";i:3;s:168:"Golden Wings Holidays Tour and Travels offers Majestic Ladakh Trip - 6 Nights / 7 Days tour package, budget Hill Station tour packages for Leh Ladakh at exciting price.";i:4;s:717:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "Leh Ladakh Trip provides numerous trekking trails, valleys and picturesque lakes. It covers destination of  Leh, Hemis, Pangong, Khardongla, Sham. It offers different panorama than any other destination in India can offer. The exquisite monasteries, suptas, magnetic hills and palaces will captivate your attention.",
		      "name": "Majestic Ladakh Trip",
		      "telephone": "+91-9622445795"
		    }
		    </script>
			";i:5;N;}