a:6:{i:0;s:26215:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<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>
						</div>
						</div>
						</section>
										<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-->				
								
						<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 WELCOME TOUR & TRAVELS 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/srinagar-tour-packages.htm" title="Srinagar Tour Packages">Srinagar</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/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>
										
				</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-7006353219"
		    }
		    </script>
			";i:5;N;}