a:6:{i:0;s:10617:"				<div class="h1"><h1>Kashmir Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.heavensgroup.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.heavensgroup.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Kashmir Tour</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">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Srinagar, Sonamarg, Gulmarg, Pahalgam, Dal Lake</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price </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.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Kashmir Tour - 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="45355"/>
						</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_10/278544/89556.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/278544/89556.jpg"  height="150"  width="150"    alt="Kashmir Tour" title="Kashmir Tour" loading="lazy" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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 in Srinagar
								</p>
								<p class="aj">On your arrival in Srinagar Airport/ Railway Station, meet our tour front-man and get assisted transfer to a pre-booked inn. Check in and stretch your limbs. On the banks of Jhelum River, amid the patches of multi-hued flowers, you can find Srinagar, the summer capital of Kashmir. Dry fruits, Kashmiri handicrafts, shikaras and wooden mosques are a few things that make Srinagar nothing less than a paradise. Vast stretch of Himalayas preens Srinagar even more. The area is home to a vast biodiversity.

After sundown, you are free to take a shikara ride in Dal Lake or take a stroll in Chashmi-e Shahi (The Royal Spring), Shalimar Bagh (Abode of love) and Nishat (The Garden of pleasure). Second largest lake of Kashmir, Dal Lake is renowned in India and beyond. Its banks are lined with flourishing garden of the Mughal era, hotels, hamlets etc. Himalayas on the backdrop and gurgles of this lake houseboat-cruising will be etched in your mind forever.

Shalimar Bagh, Nishat Bagh and Chashme Shahi are located in Mughal Garden. Nishat Park, the second-largest garden of Kashmir valley, has 12 terraces with intriguing details. Chashme Shahi is embellished with Iranian theme and the design is inspired from Persian gardens. The spring gushing down in terraces is a highlighted feature of this park. This spring is divided into three parts; waterfall, aqueduct and waterfall. Enjoy a slackening sleepover in 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> Srinagar - Sonamarg
								</p>
								<p class="aj">Kickstart the wonderful day by preparing for a drive to Sonmarg, which literally translates to Meadow of Gold. Shortly after arriving, check in at your pre-booked inn and relax. The town is located at an altitude of 2800 meters and overlooks famous peaks and glaciers like Amarnath Peak, Kaolhoi Glacier, Machoi Peak and Sirbal Peak. Azure Nallah Sidh River meanders through the town, enhancing its natural charm.

A pony ride proffers a spectacular experience if you want to travel around. Hire a horse or pony to reach Thajiwas Glacier that is shrouded under snow all year round. Indulge in fun activities with your loved ones here. Do not miss clicking photographs capturing the enchanting backdrop. The climate of Sonamarg is always pleasant, be it in summers or in winters. Spend your night in the 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> Sonamarg - Gulmarg
								</p>
								<p class="aj">On the third sunrise of the vacation, proceed to Gulmarg. Gulmarg literally means Meadow of Flowers, and this town stands up to its name. It is elevated at an altitude of 2730 meters. CNN mentioned Gulmarg as “Heartland of Winter Sports of India” and rated it as Asia’s Seventh Best Ski Destination. Whether in summers or winters, the town is a year-round magnet for tourists around the world. An assortment of films has been shot in this alluring town, like Jab Tak Hain Jaan, Bobby, Highway, Yeh Jawani Hai Deewani and Haider, among others.

Here you can take pleasure in a ropeway ride to Khilanmarg or a pony ride. The Gulmarg Gondola is the highest and longest cable car ropeway of Asia and one of the optimal experiences in Kashmir. This cable car ride is divided into 2 levels and takes you to and from Kongdoori Mountain, which is close to Apharwat Peak. The sights from the top are spectacular. There is a range of other ventures awaiting you, like rock climbing, skiing and trekking. You can try your hands in golfing at one of the world’s highest golf courses here, with 18 holes. You can partake in the activities of your concern. Return to your lodge by sundown and stay overnight.</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> Gulmarg - Pahalgam
								</p>
								<p class="aj">As the dawn cracks, gear up for Pahalgam. On the banks of Lidder River, Pahalgam is a famous hill-town in valley. Trek-buffs and nature-lovers find this town to be a wholesome delight. In fact, many trekking circuits are started from Pahalgam. About ninety percent of its total area is covered with forests and verdant vegetation. Enjoy relaxing on the river banks or taking short hikes. If you in for some venture, you can partake in River rafting in River Lidder. Angling is another adventure activity offered here.

Pahalgam is also close to an assortment of attractions such as Avantipur remnants, Anantnag, Betaab Valley and more. After sundown, you can also engage in shopping getting your hands on various souvenirs such as woolens, Pashmina shawls, wooden objects, handicrafts and more. After this, return to your dormitory and stay overnight.</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> Pahalgam - Srinagar
								</p>
								<p class="aj">Savor your morning supper and check out from your guesthouse. Get assisted transfer to Srinagar Airport/ Railway Station, for your onward journey.</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>
															</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.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Kashmir Tour - 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="45355"/>
						</form>
						</div>
						
						";i:1;s:51:"Book Kashmir Tour - 4 Nights / 5 Days Tour Packages";i:2;s:144:"book kashmir tour - 4 nights / 5 days tour packages, lakes & rivers tour packages, srinagar, sonamarg, gulmarg, pahalgam, dal lake tour packages";i:3;s:189:"Book Kashmir Tour - 4 Nights / 5 Days tour packages from Heavens Group - Get attractive 4 Nights / 5 Days Lakes & Rivers  tour packages for  Srinagar, Sonamarg, Gulmarg, Pahalgam, Dal Lake.";i:4;s:431:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Sonamarg, Gulmarg, Pahalgam, Dal Lake"        
		                 },
		      "description": "",
		      "name": "Kashmir Tour",
		      "telephone": "+91-9034015552"
		    }
		    </script>
			";i:5;N;}