a:6:{i:0;s:14759:"				<div class="h1"><h1>Kashmir 6Nights / 7Days Return Airfare Ex - New Delhi.</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.highspiritadventures.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.highspiritadventures.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Kashmir 6Nights / 7Days Return Airfare Ex - New Delhi.</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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Srinagar, Anantnag, 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.highspiritadventures.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kashmir 6Nights / 7Days Return Airfare Ex - New Delhi. - 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="74602"/>
						</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_15/445618/133181.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/445618/133181.jpg"  width="150" height="150"    alt="Kashmir 6Nights / 7Days Return Airfare Ex - New Delhi." title="Kashmir 6Nights / 7Days Return Airfare Ex - New Delhi." /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					4.5% Govt service tax<br />
Srinagar - Local Sightseeing<br />
Srinagar Gulmarg - Srinagar (Day Excursion)<br />
Srinagar - Sonamarg -Srinagar (Day Excursion)<br />
Srinagar to Pahalgam<br />
Pahalgam - Aru - Chandan Vadi - Betab Valley - Pahalgam<br />
Srinagar - Srinagar Houseboat<br />
Pahalgam - Srinagar<br />
All transfers and sightseeings on Private Basis<br />
Honeymoon Cake once during the stay<br />
Candle light dinner once during the stay<br />
Flower decoration in room once during the stay<br />
01 hour Shikara ride on Dal lake once during the stay<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 & welcome
								</p>
								<p class="aj">Srinagar - Srinagar Houseboat<br />
<br />
Transfer to a jetty, from where you will be transferred to the houseboat on a shikara. These are usually moored at the edges of the Dal Lake and Nageen lakes. Some of the houseboats there were built in the early 1900s, and are still being rented out to tourists. These houseboats are made of wood, and usually have intricately carved wood paneling. The houseboats are of different sizes, some having up to three bedrooms apart from a living room and kitchen. Many tourists are attracted to Srinagar by the charm of staying on a houseboat, which provides the unique experience of living on the water in a cedar-paneled elegant bedroom, with all the conveniences of a luxury hotel. Enjoy a romantic Shikara ride around this serene lake, snow-capped mountains.</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 to Pahalgam
								</p>
								<p class="aj">Pahalgam, ‘Valley of Shepherds’. Enroute you will have an rare opportunity to visit the Saffron fields, Avantipura Ruins, Avantipura cricket bat factory & Anantnag Sulpher Springs. On your visit here you can see thousands of cricket bats displayed by the roadside. Avantipur, is known for two ruined Hindu temples. Both of the temples were constructed by King Avantivarman, between 855 and 883 AD. The larger of the two is dedicated to Vishnu and known as the Avantiswami Temple. A huge wall encloses the central shrine with four smaller shrines around the centre. Mattan Temple,Few kilometers ahead of Anantnag,a pond full of holy fishes is believed to be creations of Lord Shiva.The water of the pond changes colors’ which is considered good and bad according to the local belief.</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> Pahalgam - Aru - Chandan Vadi - Betab Valley - Pahalgam
								</p>
								<p class="aj">Visit Conifer spread mountains, snow covered peaks with golden sun rays against the blue sky, and the shaded valley of the Lidder river form the identity of Aru. A popular hill station in the trans-Himalayan region, Aru is basically a vast grassland that is surrounded by a narrow valley or ravine on one side. The blooming nature amidst cool climate makes the still and serene Aru one of the most beautiful hill resort of Kashmir. Like all other hilly areas of J&K, Aru also offers you a wonderful view of water reserviors and mountains. In Aru, the most beautiful part lies with the small village houses made of wood and stone. Aru is the perfect destination to take a break form the pollution, dust and stress of city life at an altitude of 2708 metres situated 15-km from Pahalgam, Chandanwari is the starting point of the Amarnath Yatra, which takes place every year in the month of Sawan (Rain). It is famous for snowsledging on a snow bridge.At Chandanwari, the Sheeshnag river is captivating with its sheer force and clear waters. You can get an opportunity to do sledge riding and get up to some heights, upto the fifth point which is also a route that yatris take to reach the Amarnath Cave. "Snow fights" is what people generally indulge in here before they sledge back down. Many prefer to sip a cup of tea of snack at the near by dhabas. “Betaab Valley”(4 km) is the place where the famous movie Betaab was shot.Ponies can be hired to his stream and forest bound by many popular trees.On the way to Chandanwari from Pahalgam is an idyllic spot for a picnic. Filmgoers will recognize it instantly as it has been the location of several movie scenes.</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> Srinagar - Local Sightseeing
								</p>
								<p class="aj">Visit the famous Mughal Gardens, Chashme Shahi (Royal Spring), Nishat Bagh (Garden of Pleasure), Shalimar Bagh (Abode of Love), which the Mughals laid out in the 16th century along the banks of Dal Lake in the heart of Srinagar. Also visit Shankaracharya Temple located on a hillock and enjoy panoramic views of the entire city, along with the famous Dal Lake & River Jhelum. On the way, visit the handloom centre famous for production of Pashmina/Shahtoosh shawls and carpets famous all over the world.<br />
<br />
Pahalgam - Srinagar<br />
<br />
Begin your journey towards Srinagar, which is one of several places that have been called the "Venice of the East" or the "Kashmiri Venice.The city is famous for its gardens, lakes and houseboats.Lakes around the city include Dal Lake – noted for its houseboats – and Nigeen Lake. Apart from Dal lake and Nigeen lake city is also famous for wular lake and manasbal lake to the north of srinagar. Wular lake is one of the largest fresh water lakes in Asia. Srinagar has some Mughal gardens, forming a part of those laid by the Mughal emperors across the Indian subcontinent. Those of Srinagar and its close vicinity include Chashma Shahi (the royal fountains); Pari Mahal (the palace of the fairies); Nishat Bagh (the garden of spring); Shalimar Bagh; the Naseem Bagh.[35] Jawaharlal Nehru Memorial Botanical Garden is a botanical garden in the city, set up in 1969. The Shankaracharya Temple which lies on a hill top in the middle of the city, besides the Kheer Bhawani Temple are important Hindu temples in the city. . It is also known for traditional Kashmiri handicrafts and dry fruits.</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> Srinagar - Sonmarg -Srinagar (Day Excursion)
								</p>
								<p class="aj">Sonmarg an alpine valley is situated at the bank of Nallah Sindh, 87 km north-east from Srinagar, it is a popular tourist destination, nestled with in the imposing Himalayan peaks.It lies at an altitude of 2800 metres above sea level. The drive to Sonmarg is through yet another spectacular facet of country side in Kashmir, this time it is the Nallah Sindh, the largest tributary of the Jehlum River in the valley of Kashmir.The mountains around Sonmarg are covered with several glaciers, one of the most famous being the Thajiswas Glacier. This scenic river of ice is set amidst lush meadows and foliage and is a three-km walk or pony ride Return to Srinagar in the evening.</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> Srinagar Gulmarg - Srinagar (Day Excursion)
								</p>
								<p class="aj">Depart for a full day excursion to Gulmarg, Meadow of Flowers which lies in a cup shaped valley in the Pir Panjal Range of the Himalayas, at an altitude of 2,730 m (8,957 ft), 56 km from Srinagar.The natural meadows of Gulmarg, which are covered with snow in winter, allow the growth of wild flowers such as daisies, forget-me-nots and butter cups during spring and summer.The meadows are interspersed by enclosed parks and small lakes, and surrounded by forests of green pine and fir. The Gulmarg,Gondola is a tourist attraction in itself. It is one of the highest cable cars in the world. It has two-stage ropeway,The first stage transfers from the Gulmarg resort at 2,600 m (8,530 ft) to Kongdoori Station at 3,080 m. The second stage of the ropeway, which has 36 cabins and 18 towers, takes skiers to a height of 3,950 m (12,959 ft) on Kongdoori Mountain, a shoulder of nearby Apharwat Peak (4,200 m (13,780 ft)). Gulmarg also has a famous ski resort and has the world’s highest 18-hole golf course.After a fun filled day return 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 7:</b> Departure with sweet memories.
								</p>
								<p class="aj">This is your last day of the trip. After breakfast, check out from the hotel as per the timings mentioned in the voucher. We suggest that you should keep this day light and check your flight timings before hand. You will be transferred to airport from the pick up location as mentioned in the voucher (If Applicable).</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>Hotel</li>
																		<li>Transfers</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.highspiritadventures.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kashmir 6Nights / 7Days Return Airfare Ex - New Delhi. - 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="74602"/>
						</form>
						</div>
						
						";i:1;s:93:"Book Kashmir 6Nights / 7Days Return Airfare Ex - New Delhi. - 6 Nights / 7 Days Tour Packages";i:2;s:160:"book kashmir 6nights / 7days return airfare ex - new delhi. - 6 nights / 7 days tour packages, valley tour packages, srinagar, anantnag, ganderbal tour packages";i:3;s:214:"Book Kashmir 6Nights / 7Days Return Airfare Ex - New Delhi. - 6 Nights / 7 Days tour packages from High Spirit Adventures - Get attractive 6 Nights / 7 Days Valley  tour packages for  Srinagar, Anantnag, Ganderbal.";i:4;s:960:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Anantnag, Ganderbal"        
		                 },
		      "description": "4.5% Govt service tax
Srinagar - Local Sightseeing
Srinagar Gulmarg - Srinagar (Day Excursion)
Srinagar - Sonamarg -Srinagar (Day Excursion)
Srinagar to Pahalgam
Pahalgam - Aru - Chandan Vadi - Betab Valley - Pahalgam
Srinagar - Srinagar Houseboat
Pahalgam - Srinagar
All transfers and sightseeings on Private Basis
Honeymoon Cake once during the stay
Candle light dinner once during the stay
Flower decoration in room once during the stay
01 hour Shikara ride on Dal lake once during the stay",
		      "name": "Kashmir 6Nights / 7Days Return Airfare Ex - New Delhi.",
		      "telephone": "+91-8629029169"
		    }
		    </script>
			";i:5;N;}