a:6:{i:0;s:26117:"				<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"  height="150"  width="150"    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/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/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/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"  height="100"  width="100"    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"  height="100"  width="100"    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;}