a:6:{i:0;s:10834:"				<div class="h1"><h1>Memorable Ladakh Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.pptt.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.pptt.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Memorable 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">Srinagar, Leh Ladakh, Kargil, Baramulla, Ganderbal</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </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="http://www.pptt.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Memorable 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="62412"/>
						</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_8/228917/116480.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/228917/116480.jpg"  width="150" height="150"    alt="Memorable Ladakh Package" title="Memorable Ladakh Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Monument entrance fee / Camera fees.<br />
Any personal expensive - laundry, shopping, tip etc.<br />
Air fare / Train fare<br />
Any adventure activity skiing, Paragliding etc<br />
Meal other than specified<br />
Horse Riding charge extra.<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> Srinagar Local Sight seen
								</p>
								<p class="aj">Today morning Pick up from Srinagar Airport by cab & proceed towards Srinagar. On arrival Check into houseboat.After taking some rest, Take a tour of Srinagar Local sightseeing covering Dal Lake, Mughal Gardens, Shalimar Bagh, Nishat Bagh, Jamia Masjid, Pari Mahal/Shankaracharya temple. Later in the evening return to the houseboat. Dinner and overnight stay at houseboat</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> Srinagar - Sonmarg - Kargil
								</p>
								<p class="aj">After breakfast, Check out from the houseboat and drive to transfer to Kargil en root over Sonmarg. On arrival at Kargil Check into hotel. Dinner & overnight stay at hotel in Kargil.</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> Kargil - Leh
								</p>
								<p class="aj">Today morning after breakfast check out from hotel & drive towards Leh ,Covering enroute Lamayuru the Moonland, on arrival check into hotel .Dinner & Overnight stay at hotel in Leh.</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 Near By Sight Seen
								</p>
								<p class="aj">Today morning after breakfast get ready for Full day excursion Shey, Thicksey & hamis Monestry, 3 idiot school, sindhu ghat sightseeing, and also visit Hall of Fame, Shanti Stupa, Leh Palace & Leh Market area,evening back to hotel, Dinner & overnight stay at hotel in Leh.</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 - Leh
								</p>
								<p class="aj">Full day excursion to Pangong Lake (approx. 300 kms round trip, located on the Indo-China Border), en root crossing the Chang-la pass (alt: 17370 ft.). After sightseeing around the lake, proceed back to Leh City via Changa-la Pass. On arrival at Leh , check into hotel , Dinner & overnight stay at hotel in Leh.</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 - Nubra Vellay - Leh
								</p>
								<p class="aj">After breakfast depart for Nubra - stop over at Khardung la - 2nd highest motor able Road @ height of 18,380 ft. Watch Shayok View Point. After crossing the pass, you can have a view of Khardong village, Khalser and Deskit (the main villages of Nubra valley). Arrive at Nubra (Diskit Town) - Nubra Valley Known as Ldumra (the valley of flowers) is situated in the north of Leh. The average altitude of the valley is about 10,000 ft. above the sea level. And also visit the main attraction of the area i.e. the Bactrian camel (Shaggy double hump Camel) around sand dunes, Deskit and Samstanling monasteries, and Hot Water Springs. Arrive at Leh and check in to your Hotel.<br />
Overnight stay at the hotel in Leh.</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 - Srinagar
								</p>
								<p class="aj">This day after breakfast check out from the hotel and proceed towards Srinagar.On arrival check into the hotel.Dinner & overnight stay at hotel in Srinagar.</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> Srinagar - Gulmarg
								</p>
								<p class="aj">After breakfast check out from the hotel & drive to Gulmarg and proceed towards the sightseeing of Gulmarg.Gulmarg ("Meadow of Flowers") is a town, a Hill Station, popular skiing destination and have Gondola ride from Gulmarg to Khilanmarg(AT YOUR OWN COST) have a real natural beauty of summer & full snow view in winter. Evening back to Srinagar. Dinner & overnight stay at 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 9:</b> Srinagar Drop
								</p>
								<p class="aj">This day morning after breakfast check out from the hotel then proceed towards Srinagar Airport by cab.</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>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Monument entrance fee / Camera fees.</li><li>
Any personal expensive - laundry, shopping, tip etc.</li><li>
Air fare / Train fare</li><li>
Any adventure activity skiing, Paragliding etc</li><li>
Meal other than specified</li><li>
Horse Riding charge extra.</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.pptt.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Memorable 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="62412"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Memorable Ladakh Package - 8 Nights / 9 Days Tour Packages";i:2;s:151:"book memorable ladakh package - 8 nights / 9 days tour packages, valley tour packages, srinagar, leh ladakh, kargil, baramulla, ganderbal tour packages";i:3;s:196:"Pretty Planet Tour & Travels offers Memorable Ladakh Package - 8 Nights / 9 Days tour package, budget Valley tour packages for Srinagar, Leh Ladakh, Kargil, Baramulla, Ganderbal at exciting price.";i:4;s:662:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Leh Ladakh, Kargil, Baramulla, Ganderbal"        
		                 },
		      "description": "Monument entrance fee / Camera fees.
Any personal expensive - laundry, shopping, tip etc.
Air fare / Train fare
Any adventure activity skiing, Paragliding etc
Meal other than specified
Horse Riding charge extra.",
		      "name": "Memorable Ladakh Package",
		      "telephone": "+91-9906543070"
		    }
		    </script>
			";i:5;N;}