a:6:{i:0;s:37662:"				<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-->				
									<div class="h1"><h1>Srinagar To Leh Tour Package</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.travalta.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.travalta.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Srinagar To Leh Tour Package</p> 
									
						<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> 
						10 Nights / 11 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Srinagar, Leh Ladakh, Kargil</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.travalta.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Srinagar To Leh 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="117822"/>
						</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_17/489304/191176.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/489304/191176.jpg"  width="150" height="150"    alt="Srinagar To Leh Tour Package" title="Srinagar To Leh Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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
										</p>
										<p class="aj">Arrival at Delhi & proceed to Srinagar by overnight train or take a flight to 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 2:</b> Srinagar Local sightseeing .
										</p>
										<p class="aj">Shankaracharya Hill :The Shankaracharya Temple also known as the Jyesteshwara temple or Pas-Pahar by Buddhists. Shankracharya Temple, is situated on the top of the Shankaracharya hill in the Zabarwan Mountain in Srinagar, Kashmir. It is dedicated to Lord Shiva. The temple is on the summit of the same name at a height of 1,000 feet (300 m) above the plain and overlooks the city of Srinagar.The Jyoteshware temple rests on a solid rock. A 20-foot tall octagonal base supports a square building on top. The terrace around the square temple is reached by a stone staircase enclosed between two walls.A doorway on the opposite side of the staircase leads to the interior, which is a small and dark chamber, circular in plan. The ceiling is supported by four octagonal columns, which surround a Basin containing a Lingam encircled by a snake.<br />
There are 243 steps leading up to the temple area and another 8-10 steps from there to the temple hall. Entrance to the hill is guarded by army personnel and cars are not permitted after 17:00 hours, although the temple remains open until 20:00 hours. Views of Srinagar are possible from the top of the hill.	<br />
Dal Lake :<br />
Dal lake is known as the Jewel in the Crown of Kashmir and Srinagar’s Jewel, Dal Lake is the most important landmark of Srinagar. It figures high on tourist itineraries and every tourist to the Kashmir valley makes it a point to visit the water body.Dal Lake is lined by gardens built in the Mughal era and many parks. Mughals, who were smitten by the beauty of Kashmir, laid extensive gardens to heighten its beauty. The best views of the lake can be seen from the Shalimar Garden and Nishat Garden that were built during the reign of Mughal Emperor, Jehangir.<br />
Covering an area of 18 sq km, the Dal Lake is part of a natural wetland that covers an area of about 21 sq km which includes floating gardens. The floating gardens are known as ‘Rad’ in Kashmiri language. The floating gardens are known for the lotus flowers that blossom during the months of July and August. The Dal Lake is divided into four basins, Bod Dal, Nagin (also a separate lake), Gagribal and Lokut Dal. There is an island in the middle of Bod Dal also known as Sona Lank. Lokut Dal is also known as Rup Lank and Char Chinari.<br />
At a surface elevation of almost 5,200 ft, the Dal Lake has an average depth of almost 5 ft and a maximum depth of 20 ft. The Dal Lake has a catchment area of 316 sq km.<br />
There are two theories for the origin of the lake – one states that it is a post-glacial lake that has undergone a lot of changes in size over the years. The other theory of the origin of the lake states that the Dal Lake was formed due to flood spillage from the Jhelum River.<br />
Chashme Shahi Garden :<br />
Chashma i Shahi (translation: the royal spring), also called Chashma Shahi, is one of the Mughal gardens built in 1632 AD around a spring by Ali Mardan Khan, a governor of Mughal emperor Shah Jahan as per the orders of the Emperor, as a gift for his elder son Prince Dara Shikoh,.The garden is located in the Zabarwan Range, near Raj Bhawan (Governor‘s house) overlooking Dal Lake in Srinagar, Kashmir.<br />
Chashme Shahi originally derives its name from the spring which was discovered by the great female saint of Kashmir, Rupa Bhawani, who was from the Sahib clan of Kashmiri Pandits. The family name of Rupa Bhawani was 'Sahib' and the spring was originally called 'Chashme Sahibi'. Over the years the name got corrupted and today the place is known as Chashme Shahi (the Royal Spring).<br />
Shalimar Bagh :<br />
Shalimar Bagh is a Mughal garden in India, linked through a channel to the northeast of Dal Lake, on its right bank located near Srinagar city in Jammu and Kashmir. Its other names are Shalimar Garden, Shalimar Bagh, Farah Baksh and Faiz Baksh, and the other famous shore line garden in the vicinity is Nishat Bagh. The Bagh was built by Mughal Emperor Jahangir for his wife Nur Jahan, in 1619. The Bagh is considered the high point of Mughal horticulture. It is now a public park..<br />
Overnight at 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 3:</b> Srinagar to Kargil.
										</p>
										<p class="aj">Post breakfast proceed to Kargil .Enroute visit Zoji La.<br />
Zoji La : Zoji La is a high mountain pass in India, Kashmir, located on the Indian National Highway 1D between Srinagar and Leh in the western section of the Himalayan mountain range. Though often referred to as Zojila Pass in the foreign press, the correct English translation is Zoji Pass or simply Zojila, since the suffix 'La' itself means pass in several Himalayan languages.The usage of the word "La" can also be seen in the Khardung La, Fotu La, Namika La and Pensi La etc. In modern-day North Indian languages, 'La' are both used interchangeably to mean a mountain pass.<br />
Beyond Drass is the Drass war memorial, built in the memory of fallen soldiers in the 1999 Kargil war and a must visit for every traveler passing through this route.Overnight at 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 4:</b> Kargil to Leh .
										</p>
										<p class="aj">Post breakfast proceed to Leh.Evening free for rest.Overnight at 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 Local Sightseeing
										</p>
										<p class="aj">Post breakfast proceed for sightseeing.<br />
Shanti Stupa :<br />
Shanti Stupa is a Buddhist white-domed stupa (chorten) on a hilltop in Chanspa, Leh district, Ladakh, in the north Indian state of Jammu and Kashmir.It was built in 1991 by Japanese Buddhist Bhikshu, Gyomyo Nakamura and part of the Peace Pagoda mission. The Shanti Stupa holds the relics of the Buddha at its base, enshrined by the 14th Dalai Lama. The stupa has become a tourist attraction not only due to its religious significance but also due to its location which provides panoramic views of the surrounding landscape.<br />
The Shanti Stupa features the photograph of the current Dalai Lama with the relics of the Buddha at its base.The stupa is built as a two-level structure. The first level features the central relief of Dharmacakra with deer on each side. A central golden Buddha image sits on a platform depicting the "turning wheel of Dharma" (Dharmacakra). The second level has reliefs depicting the "birth" of Buddha, the death of Buddha (mahanirvana) and Buddha "defeating the devils" while meditating. Both levels feature a series of smaller meditating Buddha reliefs.The Shanti Stupa was built to promote world peace and prosperity and to commemorate 2500 years of Buddhism. It is considered a symbol of the ties between the people of Japan and Ladakh.<br />
Stok Palace Museum:<br />
Stok Palace, built by King Tsespal Tondup Namgyal in 1825, in the present times is the residential palace of the royal descendants of King Sengge Namgyal. The architecture of this palace is a perfect mix of the traditional and the contemporary architectural styles. This palatial property consists of a number of beautiful gardens as well as a library that has around 108 volumes of the Kangyur (a collection of teachings of Lord Buddha). The palace is located around 15 kms away from the main city of Leh.This palace hosts an annual dance-mask festival in which there is a huge participation by the locals. There is also a collection of royal clothing, crowns and other important things which you can see while on the excursion of the palace.<br />
Leh Royal Palace :<br />
Leh Palace is a former royal palace overlooking the Ladakhi Himalayan town of Leh. Modelled on the Potala Palace in Lhasa, Tibet, the palace was built by King Sengge Namgyal in the 17th century. It is nine storeys high; the upper floors accommodated the royal family, while the lower floors held stables and store rooms.The palace was abandoned when Dogra forces took control of Ladakh in the mid 19th century, and the royal family moved to Stok Palace.The ruined palace is 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 mountain of Stok Kangri in the Zangskar mountain range is visible across the Indus valley to the south, with the Ladakh mountain range rising behind the palace to the north.The Palace Museum holds a rich collection of jewellery, ornaments, ceremonial dresses and crowns. Chinese thangka or sooth paintings which are more than 450 years old, with intricate designs, retain bright and pleasing colours derived from crushed and powdered gems and stones.<br />
Hemis Monastery : Hemis Monastery, 40 kms towards the south-east of the main city of Leh is the largest as well as the most well-known monastery (Gompa) in Ladakh. This monastery was built by under the reigns of the King Singge Namgyal, in 1672 AD.  This monastery plays host to an annual festival that is held in the month of which is also a major tourist attraction. This colorful day-long festival is called Hemis Tsechu which is also a state holiday. During the course of the festival, the local resident Lamas perform a holy masked dance to glorify the victory of good over bad. Today it is taken care off by the Drukpa sect of Buddhism. The monastery has beautiful paintings and a statue of Lord Buddha, which are the highlights too.<br />
Thiksey Monastery :<br />
Thiksay Gompa or Thiksay Monastery (also transliterated from Ladakhi as Tikse, Tiksey or Thiksey) is a gompa (monastery) affiliated with the Gelug sect of Tibetan Buddhism. It is located on top of a hill in Thiksey village, approximately 19 kilometres (12 mi) east of Leh in Ladakh, India.It is noted for its resemblance to the Potala Palace in Lhasa, Tibet and is the largest gompa in central Ladakh, notably containing a separate set of buildings for female renunciates that has been the source of significant recent building and reorganisation.<br />
The monastery is located at an altitude of 3,600 metres (11,800 ft) in the Indus Valley. It is a twelve-story complex and houses many items of Buddhist art such as stupas, statues, thangkas, wall paintings and swords. One of the main points of interest is the Maitreya Temple installed to commemorate the visit of the 14th Dalai Lama to this monastery in 1970; it contains a 15 metres (49 ft) high statue of Maitreya, the largest such statue in Ladakh, covering two stories of the building.<br />
Overnight at 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 to Nubra Valley
										</p>
										<p class="aj">Nubra is a tri-armed valley located to the north east of Ladakh valley. Diskit the capital of Nubra is about 150 km north from Leh town, the capital of Ladakh district, India. Local scholars say that its original name was Ldumra (the valley of flowers). The Shyok River meets the Nubra or Siachan River to form a large valley that separates the Ladakh and Karakoram Ranges. The Shyok river is a tributary of the Indus river. The average altitude of the valley is about 10,000 ft. i.e. 3048 metres above the sea level. The common way to access this valley is to travel over the Khardung La pass from Leh town. Foreign nationals are required to get a Protected area permit to visit the Nubra Valley. Since 1st May 2014 Indian citizens are no longer required to get an Inner Line Permit to visit the valley.the Nubra Valley is over Khardung La pass which is open throughout the year. Its status as the highest motorable road in the world is no longer accepted by most authorities.Overnight at Nubra valley.</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> Nubra valley to Leh
										</p>
										<p class="aj">Poroceed to Leh.Day free for leisure.Overnight at 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 8:</b> Leh to Pangong Tso ( Pangong Lake )
										</p>
										<p class="aj">Proced to Pangong lake through Changla Pass.<br />
Pangong Tso Tibetan for "high grassland lake", also referred to as Pangong Lake, is an endorheic lake in the Himalayas situated at a height of about 4,350 m (14,270 ft). It is 134 km (83 mi) long and extends from India to China. Approximately 60% of the length of the lake lies in China. The lake is 5 km (3.1 mi) wide at its broadest point. All together it covers 604 km2. During winter the lake freezes completely, despite being saline water. It is not part of Indus river basin area and geographically a separate land locked river basin.The lake is in the process of being identified under the Ramsar Convention as a wetland of international importance. This will be the first trans-boundary wetland in South Asia under the convention.Overnight at Pangong Tso.( Pangong Lake )</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> Pangong Tso to Leh.
										</p>
										<p class="aj">Proceed to Leh .Day free for shopping.Overnight at 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 10:</b> Leh sightseeing:
										</p>
										<p class="aj">Magnetic Hill :<br />
Gurudwara Pathar Sahib :<br />
Gurdwara Pathar Sahib, is a beautiful Gurudwara sahib constructed in the memory of Guru Nanak, about 25 miles away from Leh, on the Leh-Kargil road, 12000 ft above sea level. The Gurdwara was built in 1517 to commemorate the visit to the Ladakh region of Guru Nanak Dev, the founder Guru of the Sikh faith.<br />
During his lifetime Guru Nanak travelled to many distant places and one such place was Tibet. Guru Nanak is well respected by Tibetan Buddhists who consider him a saint; The Dalai Lama, spiritual leader of Buddhists in Tibet, has confirmed this in his discussions with some Sikh leaders saying that Tibetans revere Guru Nanak as a Buddhist saint under the name of Guru Gompka Maharaj.Evening free for leisure.Overnight at Leh.</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Departure
											</p>
											<p class="aj">Return journey to your home destination.Tour Concludes.</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</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 
* 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. 
* 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.travalta.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Srinagar To Leh 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="117822"/>
						</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.travalta.in/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/packages-in-ooty.htm" title="Packages in Ooty">Ooty</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/packages-in-ahmedabad.htm" title="Packages in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/packages-in-thiruvananthapuram.htm" title="Packages in Thiruvananthapuram">Thiruvananthapuram</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-kodaikanal.htm" title="Packages in Kodaikanal">Kodaikanal</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-hampi.htm" title="Packages in Hampi">Hampi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-london.htm" title="Packages in London">London</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-amsterdam.htm" title="Packages in Amsterdam">Amsterdam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-belgaum.htm" title="Packages in Belgaum">Belgaum</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-chamoli.htm" title="Packages in Chamoli">Chamoli</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-port-louis.htm" title="Packages in Port Louis">Port Louis</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-mumbai.htm" title="Packages in Mumbai">Mumbai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-kargil.htm" title="Packages in Kargil">Kargil</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-coimbatore.htm" title="Packages in Coimbatore">Coimbatore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-bruges.htm" title="Packages in Bruges">Bruges</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.travalta.in/packages-in-the-hague.htm" title="Packages in The Hague">The Hague</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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.travalta.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/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.travalta.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.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.travalta.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.travalta.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(6)</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 Srinagar, Leh Ladakh, Kargil</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.travalta.in/tour-packages/srinagar-leh-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/489304/191195.jpg"  alt="Srinagar & Leh Tour Package" title="Srinagar & Leh Tour Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.travalta.in/tour-packages/srinagar-leh-tour-package.htm" title="Srinagar & Leh Tour Package"><h3>Srinagar & Leh 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> :  Srinagar, Leh Ladakh, Kargil</p>
															<div class="mt10px small">
							<form name="pkg_117840" id="pkg_117840" method="post" action="http://www.travalta.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.travalta.in/tour-packages/srinagar-leh-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Srinagar & Leh 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="117840"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.travalta.in/tour-packages/kashmir-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/489304/171203.jpg"  alt="Kashmir Tour" title="Kashmir Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.travalta.in/tour-packages/kashmir-tour.htm" title="Kashmir Tour"><h3>Kashmir 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Srinagar, Anantnag, Baramulla, Ganderbal</p>
															<div class="mt10px small">
							<form name="pkg_102139" id="pkg_102139" method="post" action="http://www.travalta.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.travalta.in/tour-packages/kashmir-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kashmir 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="102139"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.travalta.in/tour-packages/manalito-leh-ladakh-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/489304/191175.jpg"  alt="Manali to Leh Ladakh Tour Package" title="Manali to Leh Ladakh Tour Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.travalta.in/tour-packages/manalito-leh-ladakh-tour-package.htm" title="Manali to Leh Ladakh Tour Package"><h3>Manali To Leh 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> : 
								11 Nights / 12 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Chandigarh City, Manali, Leh Ladakh</p>
															<div class="mt10px small">
							<form name="pkg_117821" id="pkg_117821" method="post" action="http://www.travalta.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.travalta.in/tour-packages/manalito-leh-ladakh-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Manali to Leh 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="117821"/>
							</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:58:"Book Srinagar To Leh Tour Package - 111 Days Tour Packages";i:2;s:130:"book srinagar to leh tour package - 111 days tour packages, hill station tour packages, srinagar, leh ladakh, kargil tour packages";i:3;s:161:"Book Srinagar To Leh Tour Package - 111 Days tour packages from Travalta - Get attractive 111 Days Hill Station  tour packages for  Srinagar, Leh Ladakh, Kargil.";i:4;s:428:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Leh Ladakh, Kargil"        
		                 },
		      "description": "",
		      "name": "Srinagar To Leh Tour Package",
		      "telephone": "+91-9657981709"
		    }
		    </script>
			";i:5;N;}