a:6:{i:0;s:11227:"				<div class="h1"><h1>Best of 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>Best of 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Srinagar, Leh Ladakh, Kargil</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.heavensgroup.co.in/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Best of 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="45220"/>
						</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/89410.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/278544/89410.jpg"  width="150" height="150"    alt="Best of Kashmir Tour" title="Best of Kashmir Tour" /></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 Delhi
								</p>
								<p class="aj">As soon as you arrive at the Delhi airport, meet Indian Holiday’s representative who will  then escort you to your hotel for a quick check in. Spend the rest of the day as per your discretion. Overnight stay is scheduled at 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 2:</b> Delhi - Srinagar
								</p>
								<p class="aj">Get transferred to the domestic airport and board the flight to Srinagar. As soon as you exit the Srinagar airport, you are seated in a cab to be taken to your deluxe houseboat in Srinagar. Once you are rested, we take you on a dramatic Shikara ride to the floating vegetable gardens on the Dal Lake. Shikara is long, gondola-like boat that is beautifully decorated with flowers and rich upholstery. Dinner is served overnight in the Houseboat itself.</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
								</p>
								<p class="aj">Day 3 is action packed and begins with a scrumptious breakfast. Once done, proceed to the day tour to the Mughal Gardens, Chashmi-e Shahi (The Royal Spring), Nishat (The Garden of pleasure) & Shalimar Bagh (Abode of Love). It’s not without a reason that Srinagar is a favorite with  honeymooners and once you have visited these attractions, you cannot help but admire their natural beauty. Afternoon is reserved for another long, relaxing Shikara ride in the Dal Lake. Overnight in the houseboat/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> Srinagar - Gulmarg - Srinagar (112 Kms)
								</p>
								<p class="aj">Day 4 begins with a half day tour to Gulmarg – regarded by many as the most beautiful summer resort in the Kashmir valley. Gulmarg has one of the highest golf courses in the world and remains snow covered in winters, therefore facilitating skiing. You can enjoy a pony ride before hopping on a cable car to Khilanmarg . After an elaborate sightseeing tour of Gulmarg and Khilanmarg, return to the houseboat/hotel by evening 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 5:</b> Srinagar - Kargil (via Sonmarg)
								</p>
								<p class="aj">Morning after breakfast, start for Kargil via Sonmarg. The Srinagar-Sonmarg stretch is one of the most beautiful drives you would have ever seen. The winding roads snaking through the lofty Himalayas are a sight to behold. During your halt at Sonmarg, take a pony ride (charges extra; optional) to Thajiwas Glacier, which remains covered with snow throughout the year. After you are dropped at your hotel in Kargil, you are treated to a refreshing welcome drink on arrival. Rest of the day can be spent at leisure. 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 6:</b> Kargil - Leh
								</p>
								<p class="aj">Kickstart Day 5 with a filling breakfast and proceed to Leh. As you arrive in Leh, we will arrange for a quick check-in to your room. It is advisable you use up this day to acclimatize to the low air pressure at higher altitudes (11,562 ft.) of Leh. Lunch & dinner at the hotel. Overnight at 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 7:</b> Leh
								</p>
								<p class="aj">Today, we show you around the beautiful Thiksey Monastery. This excursion is scheduled in wee hours of the morning since this is the best time to see the ethereal sunrise and the absorbing praying ceremony. Next is  Hemis Monastery, one of the biggest monasteries in Ladakhregion. During your return to Leh, visit Shey Palace after which packed lunch is handed out. In the evening return to the hotel for dinner & 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 8:</b> Leh (KhardungLa pass - 43 Kms. & City tour of Leh)
								</p>
								<p class="aj">The trip reaches its physical crescendo with a scenic drive to Khardung la, the highest motorable road in the world at 5600 meters. Go crazy capturing the views from the top of the pass. This road continues to the Nubra Valley from where you return to the hotel for hot, delicious lunch. Post lunch, you are taken on a whirlwind tour of Leh city. This is when you visit popular city attractions such as  Sangkar, Shanti Stupa and Leh Palace. Dinner and overnight at 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 9:</b> Leh to Delhi
								</p>
								<p class="aj">Today, the trip draws to its end as we arrange timely transfer to the airport where you can board the flight to Delhi. As you arrive in Delhi, you are driven straight to your hotel where you can relax till you are taken back to the airport for your post-midnight flight back home.</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>Sightseeing</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="Best of 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="45220"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Best of Kashmir Tour - 8 Nights / 9 Days Tour Packages";i:2;s:144:"book best of kashmir tour - 8 nights / 9 days tour packages, lakes & rivers tour packages, new delhi, srinagar, leh ladakh, kargil tour packages";i:3;s:189:"Book Best of Kashmir Tour - 8 Nights / 9 Days tour packages from Heavens Group - Get attractive 8 Nights / 9 Days Lakes & Rivers  tour packages for  New Delhi, Srinagar, Leh Ladakh, Kargil.";i:4;s:431:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Srinagar, Leh Ladakh, Kargil"        
		                 },
		      "description": "",
		      "name": "Best of Kashmir Tour",
		      "telephone": "+91-9034015553"
		    }
		    </script>
			";i:5;N;}