a:6:{i:0;s:23955:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>A HIGHLIGHTS LADAKH TOUR PACKAGE</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.silverraytravel.co.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.silverraytravel.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> A HIGHLIGHTS LADAKH TOUR PACKAGE</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> 
						4 Nights / 5 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.silverraytravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="A HIGHLIGHTS LADAKH TOUR PACKAGE - 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="188862"/>
						</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_19/566299/296190.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/566299/296190.jpg"  width="150" height="100"    alt="A HIGHLIGHTS LADAKH TOUR PACKAGE" title="A HIGHLIGHTS LADAKH TOUR PACKAGE" /></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>
													
								Vaishno Devi, also known as Mata Rani, Trikuta and Vaishnavi, is a manifestation of the Hindu Goddess Mata Adi Shakti also known as Chandi/Durga. The words ""maa" and "mata" are commonly used in India for "mother", and thus are often used in connection with Vaishno Devi. Vaishno Devi Mandir is a Hindu temple dedicated to the Hindu Goddess, located in Katra at the Trikuta Mountains within the Indian state of Jammu and Kashmir. The Temple or Bhawan is 13.5 km from Katra and various modes of transportation are available from Katra to Bhawan, including Ponies, Electric vehicles and paalkhis operated by 4 persons. Helicopter services are also available up to Sanjichhat, which is 9.5 km from Katra. Vaishno Devi Mandir is a popular Hindu temple dedicated to the Hindu Goddess, located in the Trikuta Mountains in Katra, Jammu and Kashmir, India.<br />
<br />
Patnitop is a hilltop tourist location in Udhampur district in Jammu & Kashmir state of India on national highway 1A, 112 kms from Jammu on the way from Udhampur to Srinagar. Situated on a plateau in the Shivalik belt of the Himalayas, Patnitop sits at an altitude of 2,024 m (6,640 feet). The hill station is covered with thick woody forests that provide perfect trekking trails. Some of the important trekking trails in the region are the Kud and Sanasar. The ideal time to visit Patnitop is the months ranging from May through June and again during the months of September and October. For snow boarding, the ideal time at this hill station is between the months of December to March. The region is usually very crowded during the Asadh Purnima festival. From Patnitop, you can visit Sanasar which resembles Patnitop a bit. The only difference is that Sanasar is situated on a higher location. While on your way to Sanasar, Nathatop is another place worth your visit. From Nathatop you can get a clear view of Patnitop and this place will offer you an excellent opportunity for trekking.								</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 KUSHOK BAKULA AIRPORT & REST
										</p>
										<p class="aj">On arrival at Leh Kushok Bakula Airport meet our representative and pick up from Leh Airport to transfer you to your hotel in Leh. Upon arrival, proceed for check in at your hotel. Remainder of the day will be for rest, to acclimatize. Since you are reaching an altitude of 3500 mts approximately from 200 mts in just one hour’s time, you may be excited and World 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. Dinner overnight stays at Leh 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 2:</b> LEH - SHAM VALLEY - LEH (75.KMS 02.HRS FROM LEH)
										</p>
										<p class="aj">Morning after Breakfast, you will proceed towards Sham valley (75.kms from Leh), Sham Valley is Leh-Srinagar Highway visit Hall of Fame, Kali Mata Temple, Gurudwara Pathar Sahib, Magnetic Hill & Confluence of River Zanskar & Indus (Sangam) Sightseeing, you will proceed towards Leh Hotel. Dinner overnight stays at Leh 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 3:</b> LEH - KHARDUNGLA TOP - LEH (42.KMS 01:30 HRS FROM LEH)
										</p>
										<p class="aj">Morning after breakfast, you will proceed towards Khardungla top (42.kms from Leh) Khardungla top road is the highest Motorable road of the world. Admire the spectacular views of the never ending snow-capped mountain ranges around khardungla pass (18,380 feet). After spending some time at khardungla and back to Leh Hotel. Dinner overnight stays at Leh 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> LEH LOCAL SIGHT SEEING
										</p>
										<p class="aj">Morning after breakfast, you will proceed towards Leh Local Shanti Stupa, Leh Palace, Sankar Monastery, Leh Local Market Sightseeing back Hotel Rest of the day evening free and personal activities Dinner overnight stays at Leh 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 - AIRPORT TRANSFER
										</p>
										<p class="aj">Morning after breakfast check out Leh Hotel, you will proceed towards Leh Kushok Bakula Airport drop and fly return journey with memories of Ladakh Package Tour & Sightseeing by Welcome Tour & Travels to your own destination.</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>
																				<li>All Package cost G.ST 05% Includes.</li><li>
All Pickups, Transfer and Sight seeing by Non-Ac Vehicles ex Jammu Railway Station / Jammu Airport</li><li>
Accommodation per room double sharing basis MAPI Basis (Room + Breakfast + Dinner)</li><li>
Meals Plan MAP Plan (Room + Breakfast & Dinner pure Veg)</li><li>
04 nights in Leh at Hotel as per category package</li><li>
Children upto 05 years complimentary (sharing same bed with parents)</li><li>
Check in hotel & check out hotel time 12:00 pm noon</li><li>
Half day Srinagar Local Mughal Gardens Sight seeing.</li><li>
Full day Excursion Tour Sonamarg Sight seeing</li><li>
Full day Excursion Tour Gulmarg Sight seeing</li><li>
Vehicles provided as per tour itinerary above (Point to point basis)</li><li>
To & Fro and upto 01 Hour Shikara ride in Famous Dal Lake Sight seeing</li><li>
Above rates are net & non- commissionable.</li><li>
Above rates include all taxes & service charges</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Air Tickets / Train Tickets</li><li>
Personal expenses such as laundry, telephone bill, tips & gratuity, mineral water, soft & hard water, paragliding, porter age</li><li>
Any cost arising due to calamities like, landslides, road blockage, political disturbances (strike), etc (to be borne by the client, who is directly payable on the spot)</li><li>
Room Heater charge</li><li>
Unforeseen Expenses beyond our control</li><li>
Tips to Waiters / Driver / Any other person</li><li>
Monument fees at all places and gardens</li><li>
Tour Itinerary can be changed depending upon the availability of hotel</li><li>
Any kind of personal expenses or optional Tours / Extra meals ordered</li><li>
Any meals except those listed in above inclusion</li><li>
Anything not mentioned in the inclusions</li><li>
Incase of early check in hotel or late check out hotel manager or tour organizer / tour operator, other wise full charge will be pay</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></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>If we withdraw or terminate a Product or service, you shall be immediately notified of the withdrawal or termination and the reason for the withdrawal or termination. However, if a change is requested by you to your travel arrangements is permitted and possible, our standard service fees will apply in addition to any additional Supplier charges. Please contact us by phone or email to enquire about how to request changes. Please note that all reservation changes are subject to availability and the terms and conditions of the product purchased.</li><li>
45 days prior to arrival: 10% of the Tour / service cost</li><li>
15 days prior to arrival: 25% of the Tour / service cost</li><li>
07 days prior to arrival: 50% of the Tour / service cost</li><li>
48 hours prior to arrival OR No Show: No Refund</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="A HIGHLIGHTS LADAKH TOUR 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="188862"/>
						</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.silverraytravel.co.in/jammu-tour-packages.htm" title="Jammu Tour Packages">Jammu</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/sonamarg-tour-packages.htm" title="Sonamarg Tour Packages">Sonamarg</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/gulmarg-tour-packages.htm" title="Gulmarg Tour Packages">Gulmarg</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/patnitop-tour-packages.htm" title="Patnitop Tour Packages">Patnitop</a> <b class="alpha50 bn small">(2)</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.silverraytravel.co.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</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.silverraytravel.co.in/holiday-packages/a-glimpse-ladakh-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296189.jpg"  alt="A GLIMPSE LADAKH TOUR PACKAGE" title="A GLIMPSE LADAKH TOUR PACKAGE"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/a-glimpse-ladakh-tour-package.htm" title="A GLIMPSE LADAKH TOUR PACKAGE"><h3>A Glimpse Ladakh Tour Package</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> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_188861" id="pkg_188861" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/a-glimpse-ladakh-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="A GLIMPSE LADAKH TOUR PACKAGE - 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="188861"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/a-kashmir-with-ladakh-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296188.jpg"  alt="A KASHMIR WITH LADAKH TOUR PACKAGE" title="A KASHMIR WITH LADAKH TOUR PACKAGE"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/a-kashmir-with-ladakh-tour-package.htm" title="A KASHMIR WITH LADAKH TOUR PACKAGE"><h3>A Kashmir With Ladakh Tour Package</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> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_188860" id="pkg_188860" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/a-kashmir-with-ladakh-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="A KASHMIR WITH LADAKH TOUR PACKAGE - 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="188860"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/a-wonderof-ladakh-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296191.jpg"  alt="A WONDER OF LADAKH TOUR PACKAGE" title="A WONDER OF LADAKH TOUR PACKAGE"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/a-wonderof-ladakh-tour-package.htm" title="A WONDER OF LADAKH TOUR PACKAGE"><h3>A Wonder Of Ladakh Tour Package</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_188863" id="pkg_188863" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/a-wonderof-ladakh-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="A WONDER OF LADAKH TOUR PACKAGE - 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="188863"/>
							</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:71:"Book A HIGHLIGHTS LADAKH TOUR PACKAGE - 4 Nights / 5 Days Tour Packages";i:2;s:125:"book a highlights ladakh tour package - 4 nights / 5 days tour packages, hill station tour packages, leh ladakh tour packages";i:3;s:174:"Book A HIGHLIGHTS LADAKH TOUR PACKAGE - 4 Nights / 5 Days tour packages from Silver Ray Travel - Get attractive 4 Nights / 5 Days Hill Station  tour packages for  Leh Ladakh.";i:4;s:2356:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Leh Ladakh"        
		                 },
		      "description": "Vaishno Devi, also known as Mata Rani, Trikuta and Vaishnavi, is a manifestation of the Hindu Goddess Mata Adi Shakti also known as Chandi/Durga. The words ""maa" and "mata" are commonly used in India for "mother", and thus are often used in connection with Vaishno Devi. Vaishno Devi Mandir is a Hindu temple dedicated to the Hindu Goddess, located in Katra at the Trikuta Mountains within the Indian state of Jammu and Kashmir. The Temple or Bhawan is 13.5 km from Katra and various modes of transportation are available from Katra to Bhawan, including Ponies, Electric vehicles and paalkhis operated by 4 persons. Helicopter services are also available up to Sanjichhat, which is 9.5 km from Katra. Vaishno Devi Mandir is a popular Hindu temple dedicated to the Hindu Goddess, located in the Trikuta Mountains in Katra, Jammu and Kashmir, India.

Patnitop is a hilltop tourist location in Udhampur district in Jammu & Kashmir state of India on national highway 1A, 112 kms from Jammu on the way from Udhampur to Srinagar. Situated on a plateau in the Shivalik belt of the Himalayas, Patnitop sits at an altitude of 2,024 m (6,640 feet). The hill station is covered with thick woody forests that provide perfect trekking trails. Some of the important trekking trails in the region are the Kud and Sanasar. The ideal time to visit Patnitop is the months ranging from May through June and again during the months of September and October. For snow boarding, the ideal time at this hill station is between the months of December to March. The region is usually very crowded during the Asadh Purnima festival. From Patnitop, you can visit Sanasar which resembles Patnitop a bit. The only difference is that Sanasar is situated on a higher location. While on your way to Sanasar, Nathatop is another place worth your visit. From Nathatop you can get a clear view of Patnitop and this place will offer you an excellent opportunity for trekking.",
		      "name": "A HIGHLIGHTS LADAKH TOUR PACKAGE",
		      "telephone": "+91-7006353219"
		    }
		    </script>
			";i:5;N;}