a:6:{i:0;s:10445:"				<div class="h1"><h1>Splendid 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>Splendid 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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Srinagar, 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="Splendid 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="43824"/>
						</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/86818.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/278544/86818.jpg"  height="150"  width="150"    alt="Splendid Kashmir Tour" title="Splendid 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> Srinagar - Arrival
								</p>
								<p class="aj">Upon arrival in Kashmir, you will be assisted in a smooth transfer to hotel/houseboat. Post check in and some rest, you may want to explore the famous boulevard or take a ride in the Shikara to appreciate the beauty of the scenic Dal Lake and its surroundings.<br />
Evening at leisure or optionally, you may want to visit Shankaracharya, an important Hindu pilgrimage site or Indira Gandhi Memorial Tulip Garden. Dinner and overnight stay in hotel/houseboat.</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 (Sightseeing)
								</p>
								<p class="aj">On the second day of the Splendid Kashmir tour package, we will head to the famous Mughal Gardens of Srinagar which where built to replicate the mythical gardens of Jannat in the holy Quran. Built by several Mughal Emperors as well as powerful nobles, Mughal Gardens are the most popular tourist attractions in Srinagar. There are 3 spectacular Mughal Gardens in Srinagar where we will visit as part of the itinerary. They are Chasmeshahi, Shalimar Bagh and Nishat Bagh.<br />
<br />
Wheras Chasmeshahi is the smallest yet one of the most elegantly constructed charbaghs in Srinagar, Nishat Bagh is the largest of the Mughal Gardens in Srinagar. However it is the Shalimar Bagh, or the Garden of Love which is the most spectacular of the lot. Shalimar Bagh was built my Emperor Jahangir for his beloved wife Nur Jahan. This garden also served as the royal court during summer season. The garden houses Diwan-i-Aam (hall of public audience) and Diwan-i-Khas (hall of private audience) where emperor met people and his courtiers.<br />
<br />
Post visits to these magnificent Mughal Garden, take a shikara ride in the Dal Lake to behold the beauty of Srinagar and its surrounding hills. Dal Lake is the nerve center of Sri Nagar. Shikaras ferry across carrying school childrens, office goers and even become floating vegetable market. The shikara ride in Dal Lake will give you a peek into the daily life of the Kashmiri people.<br />
<br />
Return to hotel/houseboat for overnight stay.</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 - Gulmarg - Srinagar(57 kms 1.5 hours)
								</p>
								<p class="aj">On the third day of your Splendid Kashmir package, proceed on a day trip to Gulmarg. Take leisure walks, visit the local markets, and play in the snow-peaked mountain when it is a melting pot in summer after the chilly winters. Located at 2730 meters above the sea level, the ropeway ride to Khilanmarg is interesting. You get a complete view of the valley of meadows and flowers. This is among the prominent hill stations in India.Return to Srinagar for overnight stay in hotel/houseboat.</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 - Pahalgam 
								</p>
								<p class="aj">On the fourth day of your Kashmir tour, check out from hotel and proceed towards Pahalgam. Enroute, you will visit the Anantnag Sulphur Spring and Avantipura Ruins. Upon arrival in Pahalgam, check into hotel. Get refreshed at the hotel and then get along to enjoy the beautiful landscapes and lush valleys and cascading Lidder River. Pahalgam's two most prominent activities are promenades in Betaab Valley and Aru Valley. Both these picturesque locations are renowned for their verdant beauty and have attracted even fimlmakers to film their movies here. Several Bollywood blockbusters have been shot in Pahalgam. River Lidder is yet another attraction in Pahalgam. Pahalgam is also a base camp for several moderate and easy treks to alpine lakes in Himalayas. During the pilgrimage season, Pahalgam serve as the route to famous Amarnath Yatra.<br />
<br />
Overnight 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 5:</b> Pahalgam - Srinagar
								</p>
								<p class="aj">Post breakfast, check out from your hotel and drive to Srinagar. The day is for your own leisure and particularly shopping. The locale bazaars in Kashmir are great place to shop woolen garments, handloom, and handicrafts. You can check out the floating markets in a Shikaras. You may also - if you wish - do an hour Shikara ride again in the Dal Lake for last glimpses of mesmerizing Srinagar.<br />
<br />
Overnight in hotel/houseboat.</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 - Departure
								</p>
								<p class="aj">Relish your breakfast and head for Srinagar airport to board your return flight.<br />
<br />
Tour ends.</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="Splendid 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="43824"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Splendid Kashmir Tour - 5 Nights / 6 Days Tour Packages";i:2;s:152:"book splendid kashmir tour - 5 nights / 6 days tour packages, hill stations & valleys tour packages, srinagar, gulmarg, pahalgam, dal lake tour packages";i:3;s:197:"Book Splendid Kashmir Tour - 5 Nights / 6 Days tour packages from Heavens Group - Get attractive 5 Nights / 6 Days Hill Stations & Valleys  tour packages for  Srinagar, Gulmarg, Pahalgam, Dal Lake.";i:4;s:430:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Gulmarg, Pahalgam, Dal Lake"        
		                 },
		      "description": "",
		      "name": "Splendid Kashmir Tour",
		      "telephone": "+91-9034015552"
		    }
		    </script>
			";i:5;N;}