a:6:{i:0;s:15584:"				<div class="h1"><h1>Kashmir - Honeymoom Package - 6 Nights / 7 Days</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.natureviewtours.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.natureviewtours.co.in/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Kashmir - Honeymoom Package - 6 Nights / 7 Days</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">Patnitop, Srinagar, Anantnag, Baramulla, Ganderbal</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 16500 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Shikara ride complementary for 1 hr.<br />
Special Gift from Nature View Tours & Travels – Honeymoon Cake, Room Decoration & Candle Light dinner in Houseboat Nights.</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.natureviewtours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kashmir - Honeymoom Package - 6 Nights / 7 Days - 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="121839"/>
						</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_17/495762/196856.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/495762/196856.jpg"  width="150" height="150"    alt="Kashmir" title="Kashmir" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Shikara ride complementary for 1 hr.<br />
Special Gift from Nature View Tours & Travels – Honeymoon Cake, Room Decoration & Candle Light dinner in Houseboat Nights.Any Air Fair / Train Fair / Helicopter Fair / Ship fare.<br />
Aru, Chandanwari & Betaab Valley in Pahalgam<br />
Gandola Cable Car Ride Phase 1 & 2<br />
Zero point in Sonamarg<br />
Any additional Meal other than mention in above.<br />
Personal Expenses such as Portage facility, Tips, Insurance, Liquor, Room service,<br />
Camera charge, Herbal massage, Laundry, Telephone calls, Mineral water, Soft/Hard drinks<br />
Additional sightseeing or extra usage of vehicle direct paid by the Guest.<br />
Horse Ride or Pony Ride in Gulmarg, Pahalgam & Sonamarg<br />
Entry Tickets of Gardens and Parks.<br />
Any Insurance or any personal Expenses.<br />
Anything which is not include in the “Package Cost Inclusion”<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
								</p>
								<p class="aj">Welcome to the Srinagar, The Lake City. On arrival at Srinagar Airport, being your tour of ‘Crown of Kashmir '. You will be transferred to Houseboat. Shikara Ride in Dal Lake. Overnight stay at the 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> PLACES OF INTREST AT PAHALGAM
								</p>
								<p class="aj">Early in the morning leave for Pahalgam the 'valley of shepherds' which is situated at the confluence of the streams flowing from river Lidder and Sheeshnag lake. On the way u can visit Zaffron fields, Bat Factory, Pandav Temple , Apple Garden. En route visit the Awantipura ruins, an 1100 year old temple dedicated to Lord Vishnu and built by King Awantivarman. On arrival into Pahalgam enjoy the surrounding beauty or walk to Baisaran, which is about 2 km from Pahalgam. A small village set in pine and fir forest is pleasing and offers good view.<br />
PLACES OF INTREST AT PAHALGAM<br />
Once in the Pahalgam one can trek the mountain lakes, pony ride or drive to, plain meadows as suggested here under.<br />
ARU: This village resort is connected by 11 km upstream from the Lidder River, motorable road from Pahalgam. It is a base camp for trekking to the Kolhoi glacier & Tarsar Lake. It is popular among the tourists for its peaceful environment & scenic beauty.<br />
BETAB VALLEY: Famous for film shootings is a plain scenic spot amidst pine trees 3 kms on Chandanwari ,Base Camp for Annual Amarnath Yatra road. The valley got its name from the Sunny Deol - Amrita Singh hit debut film.<br />
BAISARAN: Often dubbed at ‘Mini Switzerland’ because of its long dark meadows resembling the once in Switzerland. This popular picnic spot 4 kms from Pahalgam has meadows, pine trees with streams flowing through it.<br />
SHIKARGAH: A wild life reserve at a close distance.<br />
MAMAL TEMPLE: An 11th. Century temple on the right bank of Lidder has a Shivlinga with a spring rising from there.<br />
FRISLAN: Famous spot for trout fishing at a distance of 7 km<br />
Night halt at Hotel in Pahalgam.</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">After having breakfast, Drive to Srinagar. Local sightseeing of Srinagar, Proceed on a city tour visiting the SHANKARACHARYA TEMPLE situated on the highest hill of Srinagar, the famous Mughal Gardens (Closed on Friday).<br />
Shankaracharya Temple<br />
Also known as Jyestheshwara Temple or Pas Pahar by Buddhist, is situated on the top of the shankaracharya hill of the sulaiman hill in the zaberwan mountain in srinagar. It is dedicated to Lord Shiva, the temple is on the summit of the same name at a height of 1000 ft above the plain and overlooks the city of Srinagar.<br />
The temple dates back to 200 BC, although the present structure probably dates back to the 9th century AD. It was visited by Adil Shankara. This is how the remple got the name Shankaracharya. There are 243 stairs to the temple.<br />
Chashmashahi<br />
Also called “The Royal Spring “ is one of the mughal gardens around a spring by Ali Mardan, A governor of Mughal emperor Shah Jahan in 1632. The garden is located in Zabarwan Range near Raj Bhawan (Governor House) overlooking dal lake in srinagar Kashmir.<br />
Nishat Garden<br />
Located at the bank of Dal Lake with the Zaberwan Mauntaina as its backdrops. Nishat baugh is a garden of bliss that commands a magnificent view of the lake beneath the snow cap pir panjaal mountain range that stands far away to the west of the valley. The baugh was designed & build in 1633 by Asif Khan, elder brother of Noor Jahan.<br />
Shalimar Baugh<br />
The Shalimar baugh is the celebrated royal garden of KASHMIR. The emperor Jahangir was so fascinated with the garden that he called it “One of the sights of KASHMIR”<br />
Shalimar baugh is located on the north east sideof dal lake approximately 15 kms away from the center of Srinagar. It was laid out by Jahangir as farah baksh (the delightful) in 1619, while he was founding the city of Srinagar. The baugh is considered the high point of mughal horticulture. It is now a public park.<br />
These gardens were Mughal Emperors concept of Paradise and today these are popular picnic spots. Also visit a handicraft shop where you can purchase local Hand Crafted items - Shawls, Jackets, Bed Covers, Paper Mache, Carpets & much more. In the evening leisurely stroll alongside the Dal Lake exploring the local markets. Night stay at 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
								</p>
								<p class="aj">In the morning after having breakfast drive to Gulmarg, the‘Meadow of flowers’ a hill station, a popular skiing destination. The town is situated in Pir Panjal range in the western Himalayas. Gulmarg hosted the Britishers and Europeans and as such they created a European hill resort and named it Gulmarg. In Gulmarg you would be able to find European surroundings and 18 - hole Golf Course. Gulmerg has been one of the favorite sport for film shooting and hundreds of successful movies have been shot here.<br />
It has a Rani Temple, an old Saint Mary Church, a children park & a lake developed recently.<br />
Enjoy Gondola Cable Car Ride world’s highest and the Asia’s longest cable car (at your own cost). Enjoy photography, horse riding and shopping at this beautiful snow point. 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 5:</b> Gateway of LADAKH
								</p>
								<p class="aj">Today you embark on a full day excursion to the picturesque'Meadow of Gold’ Sonamarg. Sonamerg an alpine valley is situated at the bank of Nallah Sindh, 87 km from North East Srinagar. In late April when Sonamerg is open for road transport, the visitors can have access to snow which is furnished all over like a white carpet. Sonamerg also known as ‘Gateway of LADAKH’. Amarnathji Yatra Also start from Baltal, 12 km from Sonamerg. The fast flowing Sindh river makes it popular for trout and mahseer fishing in summer. Ponies can be hired for the trip up to Thajwas Glacier a major attractive during the summer months for some fun in snow and ice. Return to the Hotel in Srinagar in the evening and enjoy comfortable overnight stay.<br />
Note: The vehicle will drop and pick you up at Sonmarg car stand. To reach the glaciers, you can hire ponies by your own payment basis.</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> Patnitop
								</p>
								<p class="aj">After having breakfast drive to Patnitop. Approx 187 kms / 6 to 7 hrs drive. On the way visit Nashree Tunnel. 13 kms long.<br />
After reaching at patnitop visit Naag Temple, Children Park, Pick N Spot Apple Garden, Circle Road, Natha Top. O/n at Patnitop.</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
								</p>
								<p class="aj">After having breakfast transfer to Jammu Railway Station to board your train with sweet memories of KASHMIR.</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>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Veg & Non Veg Meals</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any Air Fair / Train Fair / Helicopter Fair / Ship fare.</li><li>
Aru, Chandanwari & Betaab Valley in Pahalgam</li><li>
Gandola Cable Car Ride Phase 1 & 2</li><li>
Zero point in Sonamarg</li><li>
Any additional Meal other than mention in above.</li><li>
Personal Expenses such as Portage facility, Tips, Insurance, Liquor, Room service,</li><li>
Camera charge, Herbal massage, Laundry, Telephone calls, Mineral water, Soft/Hard drinks</li><li>
Additional sightseeing or extra usage of vehicle direct paid by the Guest.</li><li>
Horse Ride or Pony Ride in Gulmarg, Pahalgam & Sonamarg</li><li>
Entry Tickets of Gardens and Parks.</li><li>
Any Insurance or any personal Expenses.</li><li>
Anything which is not include in the “Package Cost Inclusion”</li></ul><br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Srinagar<br /><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.natureviewtours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kashmir - Honeymoom Package - 6 Nights / 7 Days - 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="121839"/>
						</form>
						</div>
						
						";i:1;s:86:"Book Kashmir - Honeymoom Package - 6 Nights / 7 Days - 6 Nights / 7 Days Tour Packages";i:2;s:177:"book kashmir - honeymoom package - 6 nights / 7 days - 6 nights / 7 days tour packages, honeymoon tour packages, patnitop, srinagar, anantnag, baramulla, ganderbal tour packages";i:3;s:220:"Nature View Tours & Travel offers Kashmir - Honeymoom Package - 6 Nights / 7 Days - 6 Nights / 7 Days tour package, budget Honeymoon tour packages for Patnitop, Srinagar, Anantnag, Baramulla, Ganderbal at exciting price.";i:4;s:1295:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Patnitop, Srinagar, Anantnag, Baramulla, Ganderbal"        
		                 },
		      "description": "Shikara ride complementary for 1 hr.
Special Gift from Nature View Tours & Travels – Honeymoon Cake, Room Decoration & Candle Light dinner in Houseboat Nights.Any Air Fair / Train Fair / Helicopter Fair / Ship fare.
Aru, Chandanwari & Betaab Valley in Pahalgam
Gandola Cable Car Ride Phase 1 & 2
Zero point in Sonamarg
Any additional Meal other than mention in above.
Personal Expenses such as Portage facility, Tips, Insurance, Liquor, Room service,
Camera charge, Herbal massage, Laundry, Telephone calls, Mineral water, Soft/Hard drinks
Additional sightseeing or extra usage of vehicle direct paid by the Guest.
Horse Ride or Pony Ride in Gulmarg, Pahalgam & Sonamarg
Entry Tickets of Gardens and Parks.
Any Insurance or any personal Expenses.
Anything which is not include in the “Package Cost Inclusion”",
		      "name": "Kashmir - Honeymoom Package - 6 Nights / 7 Days",
		      "telephone": "+91-9324904946"
		    }
		    </script>
			";i:5;N;}