a:6:{i:0;s:10360:"				<div class="h1"><h1>Short Escape in Kashmir - Honey Moon Special Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.osrvacation.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.osrvacation.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Short Escape in Kashmir - Honey Moon Special 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">
						2 Nights / 3 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Srinagar</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.osrvacation.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Short Escape in Kashmir - Honey Moon Special 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="65008"/>
						</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_14/406010/119817.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/406010/119817.jpg"  width="150" height="150"    alt="Short Escape in Kashmir - Honey Moon Special Tour" title="Short Escape in Kashmir - Honey Moon Special 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 Srinagar
								</p>
								<p class="aj">Our representative will assist you at the airport and transfer you to the hotel or houseboat for check in.<br />
Srinagar (Lake City) - It tells the story of love of the Mughal Emperors for this paradise like vale with deep green rice fields, rivers, gardens in bloom and lakes rimmed by houseboats, where lush wild gardens of lotus and water-lily grow amidst bustling lanes.<br />
Afternoon visit important sights of Srinagar City - Shankaracharya Temple & Mughal Gardens Shankaracharya Temple (Hindu Shrine) - Situated on the highest hill of Srinagar, it is nearly one thousand feet above the city.<br />
The temple commands a magnificent panoramic view of the Srinagar city. It is devoted to lord Shiva. The site dates back to 2500 BC. The philosopher Shankaracharya stayed at this site when he visited Kashmir ten centuries ago to revive Sanatan Dharma. NishatBagh (Garden of Pleasure) - The largest Mughal garden situated on the banks of world famous Dal-Lake in the backdrop of Zabarwan hills encircles the Dal Lake.<br />
Empress Noor Jahan’s brother Asif Khan laid the Garden in 1633 AD. Nishat has seven terraces with a beautiful central water course flowing right in the middle. These terraces rise dramatically off the mountains from the eastern part of the lake.<br />
Shalimar Bagh (Garden of Pleasure) - It was planted by Mughal emperor Jehangir for Empress Noor Jahan in 1619 AD and later extended in 1727 A.D. by Shah Jahan.<br />
The Garden blooms with innumerable varieties of flowers in spring and autumn.<br />
Overnight stay at the hotel or 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> Pahalgam
								</p>
								<p class="aj">In the morning after breakfast your journey starts towards Pahalgam, en-route visit Saffron fields of Pampora, see the beautiful countryside, lots of rice fields and Awantipura ruins on the way.<br />
Awantipura Ruins (1100 years Old Temple) - Built in 09th century AD by King Avantivarman and dedicated to Lord Vishnu and Lord Shiva. Situated 29 kms from Srinagar, the temple ruins at Awantipura represent some of the finest examples of architecture of this region.<br />
Later continue your drive to Pahalgam through the pine forest, the confluence of the streams flowing from the river Lidder&Sheshnag Lake which are famous for their scenic beauty. Pahalgam ( Valley of Shepherds) - It is situated at an altitude of 2,130 m above sea level and has a golf course at 2400 meters above the sea level. Surrounded with fragrant pine forests, the idyllic resort includes a golf course and spots for angling.<br />
The bubbling Lidderharbors a sizeable population of rainbow trout and mahaseer to ensure you don’t come away disappointed.<br />
The nearby forested slopes are home to the Himalayan brown bear. After having your lunch at local restaurant, proceed to have bridle walks and feed your cameras with the picture of magnificent view of mountains.<br />
(OPTIONAL)<br />
One can enjoy Horse ride at Pahalgam. (Additional cost to be directly paid by clients).<br />
Around Pahalgam are many places of interest, and because the resort is set between fairly steep hills, it is worth hiring a pony rather than walking.<br />
Hajan an idyllic spot for a picnic.<br />
Afternoon drive back from Pahalgam to Srinagar,<br />
overnight stay at the hotel or 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 3:</b> Gulmarg Departure
								</p>
								<p class="aj">In the morning after breakfast proceed for a picturesque drive to Gulmarg. Gulmarg (Meadow of lowers) - It was discovered as a tourist destination by the British in the 19th century. Prior to that, Mughal emperors vacationed in the Gulmarg valley which is about 03 kms long and up-to 01 km wide. It is exquisitely situated in a pine surrounded basin of the Pir Panjal range at an altitude of 2,730 meters above sea level and one of the most famous tourist destinations of Kashmir.<br />
It also has one of the world’s highest green golf courses with 18 holes, as well as a clubhouse, which is a historical building in its own right. OPTIONAL - One can enjoy Gondola ride or Horse ride at Gulmarg.<br />
For a fun-filled ride of a most unusual kind, Gulmarg’s newly constructed gondola lift from high above Gulmarg, through pine-clad slopes is exhilarating.<br />
From Gulmarg a pony track leads upwards to Khilanmarg, Kangdori& seven springs, a couple of hours by pony longer on foot.<br />
Afternoon drive back from Gulmarg to Srinagar<br />
Overnight stay at the hotel or houseboat<br />
Departure from Srinagar<br />
After breakfast enjoy a relaxing Shikara ride on the lake - It’s one of the most soothing & relaxing aspects of a holiday in Kashmir and you will be transferred to Srinagar airport in time to board flight to back sweet 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.osrvacation.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Short Escape in Kashmir - Honey Moon Special 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="65008"/>
						</form>
						</div>
						
						";i:1;s:88:"Book Short Escape in Kashmir - Honey Moon Special Tour - 2 Nights / 3 Days Tour Packages";i:2;s:134:"book short escape in kashmir - honey moon special tour - 2 nights / 3 days tour packages, valley tour packages, srinagar tour packages";i:3;s:186:"Book Short Escape in Kashmir - Honey Moon Special Tour - 2 Nights / 3 Days tour packages from Osr Vacation Pvt Ltd - Get attractive 2 Nights / 3 Days Valley  tour packages for  Srinagar.";i:4;s:429:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar"        
		                 },
		      "description": "",
		      "name": "Short Escape in Kashmir - Honey Moon Special Tour",
		      "telephone": "+91-9555961410"
		    }
		    </script>
			";i:5;N;}