a:6:{i:0;s:26057:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>AMAZING KASHMIR TOUR PACKAGE</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.silverraytravel.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.silverraytravel.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>AMAZING KASHMIR TOUR PACKAGE</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Sonamarg</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="AMAZING KASHMIR TOUR PACKAGE - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="188858"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296186.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/566299/296186.jpg"  width="150" height="97"    alt="AMAZING KASHMIR TOUR PACKAGE" title="AMAZING KASHMIR TOUR PACKAGE" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								“Cradled in the lap of majestic snow-capped mountains peaks of the Himalayas, Kashmir is the most beautiful place on earth, so we call it “PARADISE or HEAVEN ON EARTH” Located in the northern part of the Indian subcontinent, the Indian state of Jammu and Kashmir lies in the vicinity of the karakoram and western Himalayan mountain ranges. Filled with snow-clad mountains, glittering peaks, variety of flowers that welcome you into a perfumed air, Jammu and Kashmir is a paradise in itself, enticing all those who choose to visit the place. Kashmir is always the favourite destination among tourist. Now, open to tourism after a spell of troubled times, Kashmir is again attracting hordes of tourist and is definitely proving to be the most famous tourist destination in the state. An ancient city, there are many attractions that can lure the tourist to this land. Dal Lake, Nishat Bagh, Shalimar Bagh, Chashma Shai, Tulip Garden, Kheer Bhawani Temple, Gulmarg, Yusmarg, Sonamarg, Pahalgam, Kokarnag, Daksum, Verinag are some of the best known tourist spots in Kashmir.<br />
<br />
Kashmir beautiful Himalayan valley with breathtaking mountain scenery, clear lakes, lush vegetation and magnificent forest. The capital city Srinagar (1, 730 m) is famous for its canals, houseboats and Mughal Gardens. The Valley is home to rich biodiversity includes a large number of birds species, many of which are unique to Kashmir. Kashmir lifestyle is essentially slow paced and reflects religious diversity. Kashmir’s are known to enjoy their music in its various local forms and the traditional dress of both male / female is often quite colorful. The Dumhal is a famous dance in Kashmir, performed by men of the Wattal region. The women perform the Ruff, another folk dance (Well knowing song bombroo, bombroo). Kashmir has been noted for its fine arts for centuries including poetry and handicrafts.<br />
<br />
To explore these varied landforms and more, buy Kashmir tour packages from Yatra. The state can be easily reached via road, rail and air from all parts of country, leading to easy access. One of its top tourist destinations is its capital, Srinagar. Here, people can visit Dal Lake, take a ride on Shikara, stay in houseboat and relax in lakeside Mughal gardens like Shalimar Bagh, Nishat Bagh, Chashma Shai Garden, Shankracharya Temple. The cuisine of the state is fragrant and full of spices, with dishes like Gushtaba, Dum Aloo, Rogan Josh, Kashmiri Yakhni and the famous Tea, Kashmiri Kahwa, being the favorites. Kashmir is also famous for fruits & Dry Fruits all over the world (popularly Kashmiri Apple, Kashmiri Cherry, Kashmiri Walnuts and Kashmiri Almond), while in the city with Kashmir holiday packages, travellers can buy exquisite hand wovan rugs and carpets, and the globally renowned pashmina shawls. The valley of Kashmir is surrounded by splendid hill stations like sonamarg, Gulmarg and Pahalgam, Where adventure sports like skiing can be relished in winters.								</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 SRINAGAR - LOCAL SIGHT SEEING AROUND 50.KMS (MUGHAL GARDENS & SHANKRACHARYA TEMPLE)
										</p>
										<p class="aj">On arrival at Srinagar airport, you will be meeting by our representative, drive to srinagar and transfer you to hotel fresh up and Proceed Shankracharya Temple Darshan and half day tour visit of world famous Mughal Gardens ( Nishat Bagh, Shalimar Garden, Chashma Shai Garden, Pari Mahal) Sight seeing back Hotel Dinner & overnight stay in Srinagar 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-SRINAGAR (90.KMS ONE WAY)
										</p>
										<p class="aj">Morning after Breakfast leave from Srinagar and drive Sonamarg. Sonamarg is (2800Mtrs above from sea level), which means (Meadow of Golden) has, as its backdrop snowy mountains again a cerulean sky. The Sindh meanders along here and abounds with trout and mahseer, snow trout can be caught in the mail river, the visitors can have access to snow which is furnished all over like a white carpet. Ponies can be hired for the trip up to Thajwas glacier a major attraction during the summer months. In the evening return back to Srinagar rest of the day & personal activities Dinner & overnight stay in Srinagar 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> SRINAGAR- GULMARG (45.KMS ONE WAY)
										</p>
										<p class="aj">Morning after breakfast leaves Srinagar Hotel and Start driving towards Gulmarg (2730Mtrs above from sea level), which means (Meadow of Flowers) is a town, a hill station, a popular skiing destination during winters. Relax and evening is at free at its leisure. Gulmarg is famous because of its “Gulmarg Gondola”, one of the highest cable cars in the world (Gondola Ticket Direct payment basis). You can also visit Khilanmarg, the charming place in the Gulmarg that attracts everyone by its natural beauty. Dinner & overnight stay in Gulmarg 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> GULMARG-PAHALGAM (145.KMS ONE WAY)
										</p>
										<p class="aj">Morning after breakfast leaves Gulmarg Hotel and Start driving towards Pahalgam (2440Mtrs above from sea level), which means (Valley of Shepherds) on the way Saffron fields, Avantipura ruins, bat factory, rafting point Sight seeing. Pahalgam is the most famous place for Indian Film Industry. Arrival Pahalgam check in hotel and visit Pahalgam local Lidder Lake, Poshwan Park Sight seeing back Hotel. Relax and evening free at its Leisure. Dinner & overnight stay in Pahalgam 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 –BETAAB VALLEY-CHANDANWARI- ARU VALLEY
										</p>
										<p class="aj">Morning after breakfast enjoys the nature charm of the valley. One can visit Betaab Valley. Betaab valley is a very famous tourist spot situated at a distance of 15 Kilometers from pahalgam. The valley got its name from the sunny Deol- Amrita Singh hit debut film Betaab. The valley is towards northeast of pahalgam and falls between pahalgam and chandanwari and enroute Amarnath Temple Yatra. The Valley surrounded by lush green meadows, snow clad mountains and covered with dense vegetation. (Direct payment basis). Chandanwari is situated 16kms from Pahalgam, Chandanwari is the starting point of the Amarnath Yatra, which takes place in the month of Sawan (Rain). It is famous for snow sledging on a snow bridge. (Direct payment basis). Aru Valley, Aru is located around 12 kms from Pahalgam, 11 kms up stream from Lidder River. Noted for its scenic meadows, lakes and mountains, it is a base camp for trekking to the Kolhoi Glacier and Tarsar Lake. The village lies of the left bank of the Aru River, which is a tributary of the Lidder River. (Direct payment basis). In the evening return back to hotel. Evening is at free at its Leisure. Dinner & overnight stay in Pahalgam 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> PAHALGAM –SRINAGAR (95.KMS ONE WAY)
										</p>
										<p class="aj">Morning after breakfast leaves Pahalgam Hotel and Start driving towards Srinagar (2730Mtrs above from sea level), arrival Srinagar and transfer Houseboat check in Houseboat fresh up and Relax and evening Shikara ridding 01 hour world famous Dal Lake Sight seeing back Houseboat Evening is at free at its Leisure Dinner & overnight stay in Srinagar 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 7:</b> SRINAGAR-AIRPORT DEPARTURE
										</p>
										<p class="aj">Morning after free time till departure, check out Srinagar Houseboat and transfer Srinagar Airport fly for return journey with memories of Kashmir Tour by Silver Ray Travel to your own destination.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																				<li>All Package cost G.ST 05% Includes.</li><li>
All Pickups, Transfer and Sight seeing by Non-Ac Vehicles ex Jammu Railway Station / Jammu Airport</li><li>
Accommodation per room double sharing basis MAPI Basis (Room + Breakfast + Dinner)</li><li>
Meals Plan MAP Plan (Room + Breakfast & Dinner pure Veg)</li><li>
03 nights in Srinagar at Hotel as per category package</li><li>
01 night in Srinagar at Houseboat as per category package</li><li>
02 night in Pahalgam at Hotel as per category package</li><li>
01 night in Gulmarg at Hotel as per category package</li><li>
Children upto 05 years complimentary (sharing same bed with parents)</li><li>
Check in hotel & check out hotel time 12:00 pm noon</li><li>
Half day Srinagar Local Mughal Gardens Sight seeing.</li><li>
Full day Excursion Tour Sonamarg Sight seeing</li><li>
Full day Excursion Tour Gulmarg Sight seeing</li><li>
Vehicles provided as per tour itinerary above (Point to point basis)</li><li>
To & Fro and upto 01 Hour Shikara ride in Famous Dal Lake Sight seeing</li><li>
Above rates are net & non-commissionable.</li><li>
Above rates include all taxes & service charges</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Air Tickets / Train Tickets</li><li>
Personal expenses such as laundry, telephone bill, tips & gratuity, mineral water, soft & hard water, paragliding, porter age</li><li>
Any cost arising due to calamities like, landslides, road blockage, political disturbances (strike), etc (to be borne by the client, who is directly payable on the spot)</li><li>
Room Heater charge</li><li>
Unforeseen Expenses beyond our control</li><li>
Tips to Waiters / Driver / Any other person</li><li>
Monument fees at all places and gardens</li><li>
Tour Itinerary can be changed depending upon the availability of hotel</li><li>
Any kind of personal expenses or optional Tours / Extra meals ordered</li><li>
Any meals except those listed in above inclusion</li><li>
Anything not mentioned in the inclusions</li><li>
Incase of early check in hotel or late check out hotel manager or tour organizer / tour operator, other wise full charge will be pay</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Some Advance Percentage of total booking amount</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>If we withdraw or terminate a Product or service, you shall be immediately notified of the withdrawal or termination and the reason for the withdrawal or termination. However, if a change is requested by you to your travel arrangements is permitted and possible, our standard service fees will apply in addition to any additional Supplier charges. Please contact us by phone or email to enquire about how to request changes. Please note that all reservation changes are subject to availability and the terms and conditions of the product purchased.</li><li>
45 days prior to arrival: 10% of the Tour / service cost</li><li>
15 days prior to arrival: 25% of the Tour / service cost</li><li>
07 days prior to arrival: 50% of the Tour / service cost</li><li>
48 hours prior to arrival OR No Show: No Refund</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="AMAZING KASHMIR TOUR PACKAGE - 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="188858"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/jammu-tour-packages.htm" title="Jammu Tour Packages">Jammu</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/katra-tour-packages.htm" title="Katra Tour Packages">Katra</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/sonamarg-tour-packages.htm" title="Sonamarg Tour Packages">Sonamarg</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/pahalgam-tour-packages.htm" title="Pahalgam Tour Packages">Pahalgam</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/patnitop-tour-packages.htm" title="Patnitop Tour Packages">Patnitop</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/gulmarg-tour-packages.htm" title="Gulmarg Tour Packages">Gulmarg</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</a> <b class="alpha50 bn small">(2)</b></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.silverraytravel.co.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Sonamarg</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/a-mata-vaishno-devi-with-kashmir-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296187.jpg"  alt="A MATA VAISHNO DEVI WITH KASHMIR TOUR" title="A MATA VAISHNO DEVI WITH KASHMIR TOUR"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/a-mata-vaishno-devi-with-kashmir-tour.htm" title="A MATA VAISHNO DEVI WITH KASHMIR TOUR"><h3>A Mata Vaishno Devi With Kashmir Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Jammu, Katra, Srinagar, Pahalgam, Sonama..</p>
															<div class="mt10px small">
							<form name="pkg_188859" id="pkg_188859" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/a-mata-vaishno-devi-with-kashmir-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="A MATA VAISHNO DEVI WITH KASHMIR TOUR - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188859"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.silverraytravel.co.in/holiday-packages/paradise-kashmir-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296185.jpg"  alt="PARADISE KASHMIR TOUR PACKAGE" title="PARADISE KASHMIR TOUR PACKAGE"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.silverraytravel.co.in/holiday-packages/paradise-kashmir-tour-package.htm" title="PARADISE KASHMIR TOUR PACKAGE"><h3>Paradise Kashmir Tour Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Srinagar, Pahalgam, Sonamarg, Gulmarg</p>
															<div class="mt10px small">
							<form name="pkg_188857" id="pkg_188857" method="post" action="http://www.silverraytravel.co.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.silverraytravel.co.in/holiday-packages/paradise-kashmir-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="PARADISE KASHMIR TOUR PACKAGE - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="188857"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:67:"Book AMAZING KASHMIR TOUR PACKAGE - 6 Nights / 7 Days Tour Packages";i:2;s:119:"book amazing kashmir tour package - 6 nights / 7 days tour packages, hill station tour packages, sonamarg tour packages";i:3;s:168:"Book AMAZING KASHMIR TOUR PACKAGE - 6 Nights / 7 Days tour packages from Silver Ray Travel - Get attractive 6 Nights / 7 Days Hill Station  tour packages for  Sonamarg.";i:4;s:3380:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Sonamarg"        
		                 },
		      "description": "“Cradled in the lap of majestic snow-capped mountains peaks of the Himalayas, Kashmir is the most beautiful place on earth, so we call it “PARADISE or HEAVEN ON EARTH” Located in the northern part of the Indian subcontinent, the Indian state of Jammu and Kashmir lies in the vicinity of the karakoram and western Himalayan mountain ranges. Filled with snow-clad mountains, glittering peaks, variety of flowers that welcome you into a perfumed air, Jammu and Kashmir is a paradise in itself, enticing all those who choose to visit the place. Kashmir is always the favourite destination among tourist. Now, open to tourism after a spell of troubled times, Kashmir is again attracting hordes of tourist and is definitely proving to be the most famous tourist destination in the state. An ancient city, there are many attractions that can lure the tourist to this land. Dal Lake, Nishat Bagh, Shalimar Bagh, Chashma Shai, Tulip Garden, Kheer Bhawani Temple, Gulmarg, Yusmarg, Sonamarg, Pahalgam, Kokarnag, Daksum, Verinag are some of the best known tourist spots in Kashmir.

Kashmir beautiful Himalayan valley with breathtaking mountain scenery, clear lakes, lush vegetation and magnificent forest. The capital city Srinagar (1, 730 m) is famous for its canals, houseboats and Mughal Gardens. The Valley is home to rich biodiversity includes a large number of birds species, many of which are unique to Kashmir. Kashmir lifestyle is essentially slow paced and reflects religious diversity. Kashmir’s are known to enjoy their music in its various local forms and the traditional dress of both male / female is often quite colorful. The Dumhal is a famous dance in Kashmir, performed by men of the Wattal region. The women perform the Ruff, another folk dance (Well knowing song bombroo, bombroo). Kashmir has been noted for its fine arts for centuries including poetry and handicrafts.

To explore these varied landforms and more, buy Kashmir tour packages from Yatra. The state can be easily reached via road, rail and air from all parts of country, leading to easy access. One of its top tourist destinations is its capital, Srinagar. Here, people can visit Dal Lake, take a ride on Shikara, stay in houseboat and relax in lakeside Mughal gardens like Shalimar Bagh, Nishat Bagh, Chashma Shai Garden, Shankracharya Temple. The cuisine of the state is fragrant and full of spices, with dishes like Gushtaba, Dum Aloo, Rogan Josh, Kashmiri Yakhni and the famous Tea, Kashmiri Kahwa, being the favorites. Kashmir is also famous for fruits & Dry Fruits all over the world (popularly Kashmiri Apple, Kashmiri Cherry, Kashmiri Walnuts and Kashmiri Almond), while in the city with Kashmir holiday packages, travellers can buy exquisite hand wovan rugs and carpets, and the globally renowned pashmina shawls. The valley of Kashmir is surrounded by splendid hill stations like sonamarg, Gulmarg and Pahalgam, Where adventure sports like skiing can be relished in winters.",
		      "name": "AMAZING KASHMIR TOUR PACKAGE",
		      "telephone": "+91-9419134948"
		    }
		    </script>
			";i:5;N;}