a:6:{i:0;s:7057:"				<div class="h1"><h1>Leh Ladakh - 5 Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.heavensgroup.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.heavensgroup.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Leh Ladakh - 5 Days 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">Tour Code </td>
						<td class="p5px pl0px vat">118</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Leh Ladakh</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 22900 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Leh Ladakh - 5 Days 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="151812"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
										</tr>
					</table>
					</div>
					<br />
					
					Day 1 : Arrive  Leh <br />
on Your Arrival At Leh, Our Representative Will Meet, Greet, Assist and Transfer You to Your Hotel in Leh.<br />
since You are Arriving At 11000 Ft, We Strongly Recommend to Take Complete Rest On the First Day Where You Should Not Indulge Yourself in Any Strenuous Activity. Rest of the Day is Free to Acclimatize to the High Altitude of Ladakh. After a Delicious Meal, Stay Overnight At Hotel in Leh.<br />
day 2: Leh Local - Monastery Tour and Sightseeing<br />
after Breakfast this Morning, Drive to Thiksey Monastery. After This, Drive to Shey Palace,.. Later Visit Sindhu Ghaat. Arrive At Leh and You Will Be Dropped At Leh Market / Hotel for Lunch (on Your Own). After Lunch, You Will Leave for Sightseeing to Shanti Stupa and Leh Palace. Return to Your Hotel for a Warm Dinner and a Comfortable Overnight Stay.<br />
day 3: Leh to  Khardungla Pass: (40 Kms in Approximately 2-3 Hours)<br />
today ,After Breakfast , Proceed to  Khardungla Top – 40kms from Leh - the Highest Motorable Road in the World At 18390 Ft. , Enjoy the Views from the Top and Come for Lunch Around Noon  in the Evening, Explore Leh Market and Stay At Leh Hotel <br />
day 4: Excursion to Pangong Lake (280 Kms Round Trip)<br />
morning After Breakfast Drive to Pangong Lake On the Indo China Border. Pangong Lake is Situated in the Northeast of Leh, 4,350 Meters Above Sea Level. the Famous Chushul Mountains. Pangong, Which Means Extensive Concavity. the Mirror-calm Water is Cold, Clear, and Extremely Salty. By the Evening, Come Back to Your Hotel in Leh for Dinner and Overnight Sleep.<br />
day 5 : Fly Back from Ladakh - Dropping Day <br />
leave On Time for Leh Airport to Board Your Flight to Your DestinationBoating, Rafting and any type of Adventurous Rides etc.<br />
Any type of Natural Crises, Road Blocking and Flight Delay Charges.<br />
Extra meals above Itinerary, Laundry, Telephone Charges, Room service, Extra Beds.<br />
Mediclaim and Insurance.<br />
Flight ticket.<br />
Any Kind of Drinks (Alcoholic, Mineral, Aerated).<br />
Any Kind of Personal Expenses, Optional Tours, Extra Meals Ordered.<br />
Anything not specified under the head "Prices included".15-815-11<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>Meals- 4 Breakfast </li><li>
Pick-Up & Drop from Leh Airport.</li><li>
1- Room on Double Sharing </li><li>
All sightseeing which is part of Tour Itinerary will be done by INNOVA / XYLO</li><li>
Inner line Permit for Pangong Lake </li><li>
Environmental fee.</li><li>
All taxes.</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Boating, Rafting and any type of Adventurous Rides etc.</li><li>
Any type of Natural Crises, Road Blocking and Flight Delay Charges.</li><li>
Extra meals above Itinerary, Laundry, Telephone Charges, Room service, Extra Beds.</li><li>
Mediclaim and Insurance.</li><li>
Flight ticket.</li><li>
Any Kind of Drinks (Alcoholic, Mineral, Aerated).</li><li>
Any Kind of Personal Expenses, Optional Tours, Extra Meals Ordered.</li><li>
Anything not specified under the head "Prices included".</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.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Leh Ladakh - 5 Days 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="151812"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Leh Ladakh - 5 Days Tour - 4 Nights / 5 Days Tour Packages";i:2;s:114:"book leh ladakh - 5 days tour - 4 nights / 5 days tour packages, adventure tour packages, leh ladakh tour packages";i:3;s:159:"Book Leh Ladakh - 5 Days Tour - 4 Nights / 5 Days tour packages from Heavens Group - Get attractive 4 Nights / 5 Days Adventure  tour packages for  Leh Ladakh.";i:4;s:2520:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "Day 1 : Arrive  Leh 
on Your Arrival At Leh, Our Representative Will Meet, Greet, Assist and Transfer You to Your Hotel in Leh.
since You are Arriving At 11000 Ft, We Strongly Recommend to Take Complete Rest On the First Day Where You Should Not Indulge Yourself in Any Strenuous Activity. Rest of the Day is Free to Acclimatize to the High Altitude of Ladakh. After a Delicious Meal, Stay Overnight At Hotel in Leh.
day 2: Leh Local - Monastery Tour and Sightseeing
after Breakfast this Morning, Drive to Thiksey Monastery. After This, Drive to Shey Palace,.. Later Visit Sindhu Ghaat. Arrive At Leh and You Will Be Dropped At Leh Market / Hotel for Lunch (on Your Own). After Lunch, You Will Leave for Sightseeing to Shanti Stupa and Leh Palace. Return to Your Hotel for a Warm Dinner and a Comfortable Overnight Stay.
day 3: Leh to  Khardungla Pass: (40 Kms in Approximately 2-3 Hours)
today ,After Breakfast , Proceed to  Khardungla Top – 40kms from Leh - the Highest Motorable Road in the World At 18390 Ft. , Enjoy the Views from the Top and Come for Lunch Around Noon  in the Evening, Explore Leh Market and Stay At Leh Hotel 
day 4: Excursion to Pangong Lake (280 Kms Round Trip)
morning After Breakfast Drive to Pangong Lake On the Indo China Border. Pangong Lake is Situated in the Northeast of Leh, 4,350 Meters Above Sea Level. the Famous Chushul Mountains. Pangong, Which Means Extensive Concavity. the Mirror-calm Water is Cold, Clear, and Extremely Salty. By the Evening, Come Back to Your Hotel in Leh for Dinner and Overnight Sleep.
day 5 : Fly Back from Ladakh - Dropping Day 
leave On Time for Leh Airport to Board Your Flight to Your DestinationBoating, Rafting and any type of Adventurous Rides etc.
Any type of Natural Crises, Road Blocking and Flight Delay Charges.
Extra meals above Itinerary, Laundry, Telephone Charges, Room service, Extra Beds.
Mediclaim and Insurance.
Flight ticket.
Any Kind of Drinks (Alcoholic, Mineral, Aerated).
Any Kind of Personal Expenses, Optional Tours, Extra Meals Ordered.
Anything not specified under the head "Prices included".15-815-11",
		      "name": "Leh Ladakh - 5 Days Tour",
		      "telephone": "+91-9034015553"
		    }
		    </script>
			";i:5;N;}