a:6:{i:0;s:24444:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Ladakh Tour 4 Days</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.browseladakh.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.browseladakh.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Ladakh Tour 4 Days</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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> 
						3 Nights / 4 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.browseladakh.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ladakh Tour 4 Days - 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="194978"/>
						</form>
						
												</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_24/691677/308824.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_24/691677/308824.jpg"  height="150"  width="150"    alt="Ladakh Tour 4 Days" title="Ladakh Tour 4 Days" /></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>
													
								Highlights : Magnetic Hill, Gurudwara, Leh surroundings and Jeep safari to Pangong Lake on Indo-China border.								</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 Leh
										</p>
										<p class="aj">Arrival Leh, Browse Ladakh representative will meet, greet, assist and transfer you to Hotel in Leh. Rest of the day free to acclimatize to the high altitude of Ladakh. In the evening take a walk to the local bazaar in Leh. Overnight 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 2:</b> Sightseeing around Leh (90 Kms round trip)
										</p>
										<p class="aj">Day 02 : Sightseeing around Leh (90 Kms round trip)<br />
Morning after breakfast visit Hall of Fame, Spituk Monastery and Kali Mata Temple, Magnetic Hill, Gurudwara Patthar Sahib and Confluence of Zanskar - Indus rivers. Return to Leh for lunch (on own). In the evening visit Leh Palace, Donkey Sanctuary and Shanti Stupa for beautiful sunset view. Dinner and overnight stay at the hotel in Leh.<br />
Ladakh Hall of Fame : The Hall of Fame is a glorious museum constructed by the Indian Army. It is worth a visit for every citizen. You can see the memorabilia, eminent defense personalities with biographies, images and weapons used during the Kargil and other key strategic battles fought in Ladakh. And belongings of the enemy soldiers found at war site. All the martyr and the gallantry awards. Here’s something that you will be proud of our defense personnel who sacrificed themselves so that we could live in peace.<br />
Spituk Gompa : 8 Kms from Leh, it stands prominently on the top of hillock commanding a panoramic view of the Indus Valley for miles. Many icons of Buddha and fine Thankas are to be found in this 15th century Gompa. The Gompa also houses a collection of ancient masks, antique arms, and an awe-inspiring image of Mahakaal. The face of the Kali image is kept covered and is revealed only at the annual function at January every year.<br />
Magnetic Hill : Defying the Law of gravity. This place is close to the Gurdwara Shri Patthar Sahib. It has been noticed that when a vehicle is parked on neutral gear on this metallic road the vehicle slides up-hill that’s the Believe it or not of Ladakh!<br />
Gurdwara Shri Patthar Sahib : Situated 25 miles from Leh, Gurudwara Pathar Sahib stands at the place where Guru Nanak, the founder of Sikh religion and the first guru, is believed to have vanquished a demon. According to legend, during his sojourn in Ladakh, Guru Nanak was attacked by a demon. The demon threw a large boulder on the guru as he sat at the base of a hill meditating. However, the rock became soft like molten wax and failed to cause any harm to the Sikh guru. The demon was in for a surprise when he found the Sikh guru unscathed. Bristling with fury, the demon tried to crush Guru Nanak by kicking the boulder with all his might. To his surprise, the demon’s foot caused a deep impression in the boulder which had turned soft. Realizing that the man in front of him was no mortal soul, the demon underwent a transformation and stopped harassing the people. The boulder with the imprints of Guru Nanak Dev Ji and the foot of daemon still rests there. The gurudwara is maintained today by the Indian Army. It is a tradition for vehicles to stop and pay obeisance at the temple.<br />
Conflence Of The Zanskar & Indus : On way to Sham Valley before Nimu village one can have this magnificent view of two rivers in wed-lock! In seasons they have different colors and flow and wildness.<br />
Donkey Sanctuary : The sanctuary is situated just off the road leading to Khardungla Pass. The public is encouraged to visit the sanctuary and friendly signs will direct you to the sanctuary from the center of Leh. Once at the sanctuary, the artistic surprise awaiting you is well worth the effort. It is open to the public throughout the day and donations and juicy carrots are most welcome and used exclusively for improving the lives and welfare of these wonderful animals.<br />
Leh Place : The Palace overlooks Leh town and is modeled on the Potala Palace in Lhasa, Tibet. The palace was built by King Sengge Namgyal in the 17th century, but was later abandoned when Dogra forces took control of Ladakh in the mid-19th century. The royal family moved to Stok Palace. Leh Palace is nine storeys high; the upper floors accommodated the royal family, the stables and store rooms were in the lower floors. The palace, a ruin, is currently being restored by the Archaeological Survey of India. The palace is open to the public and the roof provides panoramic views of Leh and the surrounding areas. The richest collection of jewellery, ornaments, Thangkas, ceremonial dresses, crowns, and centuries-old pieces of jewellery are kept here for public display. There are Chinese Thangka or sooth paintings which are more than 450 years old but still look new.<br />
Shanti Stupa (Japanese Peace Pagoda) : Shanti Stupa/Japanese peace pagoda is build by a Japanese religious organization headed by Head monk Nakamura with the help from the organization and local people. It is situated at a hill top in Cahngspa village providing a bird eye view of the Leh town and the surrounding mountain peaks. Architecturally it has the Japanese touch with small clean rooms on the side for meditators and the main Japanese shrine at the entrance.</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> Excursion to Pangong Lake (280 Kms round trip)
										</p>
										<p class="aj">Morning after breakfast drive to to Pangong Lake on the Indo China border. Evening back to hotel in Leh for dinner and overnight.<br />
The Pangong Lake : This route takes the visitor past the picturesque villages of Shey and Thiksey, and turns off the Indus valley by the side valley of Chemrey and Sakti. The Ladakh range is crossed by the Chang-la (18,000 feet / 5,475 M) which despite its great elevation is one of the easier passes, remaining open for much of the year even in winter, apart from periods of actual snowfall. Tangse, just beyond the foot of the pass, has an ancient temple.<br />
But the main attraction of this circuit is the Pangong Lake, situated at 14,000 feet (4,267 M). A long narrow basin of inland drainage, hardly six to seven kilometers at its widest point to which foreigners are permitted, is only some seven km along the southern shore from the head of the lake, but it affords spectacular views of the mountains of the Changchenmo range to the north, their reflection shimmering in the ever-changing blues and greens of the lakes brackish water. Above Spangmik are the glacier and snow-capped peaks of the Pangong range.</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> Airport 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>EP (No Meal)</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some 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></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.browseladakh.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Ladakh Tour 4 Days - 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="194978"/>
						</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.browseladakh.com/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(6)</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.browseladakh.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.browseladakh.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.browseladakh.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</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.browseladakh.com/holiday-packages/5-days-leh-ladakh-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_24/691677/308829.jpg"  height="100"  width="100"    alt="5 Days Leh Ladakh Tour" title="5 Days Leh Ladakh Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.browseladakh.com/holiday-packages/5-days-leh-ladakh-tour.htm" title="5 Days Leh Ladakh Tour"><h3>5 Days Leh Ladakh Tour</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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_194983" id="pkg_194983" method="post" action="http://www.browseladakh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.browseladakh.com/holiday-packages/5-days-leh-ladakh-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="5 Days Leh Ladakh Tour - 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="194983"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.browseladakh.com/holiday-packages/ladakh-tour8-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_24/691677/308826.jpg"  height="100"  width="100"    alt="Ladakh Tour 8 Days" title="Ladakh Tour 8 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.browseladakh.com/holiday-packages/ladakh-tour8-days.htm" title="Ladakh Tour 8 Days"><h3>Ladakh Tour 8 Days</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> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_194980" id="pkg_194980" method="post" action="http://www.browseladakh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.browseladakh.com/holiday-packages/ladakh-tour8-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Ladakh Tour 8 Days - 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="194980"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.browseladakh.com/holiday-packages/leh-ladakh-tour8-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_24/691677/308827.jpg"  height="100"  width="100"    alt="Leh Ladakh Tour 8 Days" title="Leh Ladakh Tour 8 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.browseladakh.com/holiday-packages/leh-ladakh-tour8-days.htm" title="Leh Ladakh Tour 8 Days"><h3>Leh Ladakh Tour 8 Days</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> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_194981" id="pkg_194981" method="post" action="http://www.browseladakh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.browseladakh.com/holiday-packages/leh-ladakh-tour8-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Leh Ladakh Tour 8 Days - 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="194981"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.browseladakh.com/holiday-packages/ladakh-tour6-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_24/691677/308825.jpg"  height="100"  width="100"    alt="Ladakh Tour 6 Days" title="Ladakh Tour 6 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.browseladakh.com/holiday-packages/ladakh-tour6-days.htm" title="Ladakh Tour 6 Days"><h3>Ladakh Tour 6 Days</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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_194979" id="pkg_194979" method="post" action="http://www.browseladakh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.browseladakh.com/holiday-packages/ladakh-tour6-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Ladakh Tour 6 Days - 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="194979"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.browseladakh.com/holiday-packages/ladakh-package8-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_24/691677/308828.jpg"  height="100"  width="100"    alt="Ladakh Package 8 Days" title="Ladakh Package 8 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.browseladakh.com/holiday-packages/ladakh-package8-days.htm" title="Ladakh Package 8 Days"><h3>Ladakh Package 8 Days</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> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_194982" id="pkg_194982" method="post" action="http://www.browseladakh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.browseladakh.com/holiday-packages/ladakh-package8-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Ladakh Package 8 Days - 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="194982"/>
							</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:57:"Book Ladakh Tour 4 Days - 3 Nights / 4 Days Tour Packages";i:2;s:111:"book ladakh tour 4 days - 3 nights / 4 days tour packages, hill station tour packages, leh ladakh tour packages";i:3;s:156:"Book Ladakh Tour 4 Days - 3 Nights / 4 Days tour packages from browse ladakh - Get attractive 3 Nights / 4 Days Hill Station  tour packages for  Leh Ladakh.";i:4;s:510:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "Highlights : Magnetic Hill, Gurudwara, Leh surroundings and Jeep safari to Pangong Lake on Indo-China border.",
		      "name": "Ladakh Tour 4 Days",
		      "telephone": "+91-9906947141"
		    }
		    </script>
			";i:5;N;}