a:6:{i:0;s:26348:"				<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>PARADISE 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>PARADISE 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> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Srinagar, Pahalgam, Sonamarg, Gulmarg</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="PARADISE 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="188857"/>
						</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/296185.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/566299/296185.jpg"  width="150" height="93"    alt="PARADISE KASHMIR TOUR PACKAGE" title="PARADISE 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> SRINAGAR ARRIVAL & LOCAL MUGHAL GARDENS
										</p>
										<p class="aj">Meet our represented pick up from Srinagar Airport to transfer Srinagar hotel check in Hotel fresh up and visit half day Shankracharya Temple Darshan & local Mughal gardens Nishat Bagh (Located on the bank of Dal Lake, with the Zabarwan Mountains as its back drop, Nishat Bagh is a Garden of bliss that commands a Magnificent view of the Lake beneath the snow capped Pir Panjal mountain range that stands far away to the west of the valley. The Bagh was designed and built in 1633 by Asif khan, elder brother of Noor Jehan). Shalimar Garden (The Shalimar Bagh is celebrated royal garden of Kashmir. The Emperor Jahangir was so fascinated with the garden that he called it “one of the sights of Kashmir.” Shalimar Bagh is Located on the northeast side of Dal lake, approximately fifteen kilometers 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. Chashma Shahi Garden (the royal Spring), also called Cheshma Shahi, is one of the Mughal gardens built around a spring by Ali Mardan, a governor of Mughal emperor Shah Jahan, in 1632. the garden is located in the Zabarwan Range, near Raj Bhawan (Governor’s house) over looking Dal Lake in Srinagar Kashmir) after Mughal Gardens Sight seeing back Hotel Dinner & over night 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-GULMARG-SRINAGAR (48 KMS ONE WAY 02:30 HRS APPROX)
										</p>
										<p class="aj">Morning after breakfast day excursion tour Srinagar to Gulmarg (Meadow of flower) Gulmarg is 2730 mts above the sea level Gulmarg offers spectacular view of snow capped mountain peaks, conifer forest and green meadow; it is home to the heights 18 hole golf course of the world. Arrival gulmarg and enjoy the Gondola ride (Gondola ride is subject weather conditions and at your own cost) to Khilanmarg (1st phase) for breathtaking view of Nanga Parbat peak (The Fifth Highest mountain of the world). There after time is free for activities on your own. You may enjoy an optional sledge ride on the snow covered slopes (on direct payment basis). After gulmarg Sight seeing back Srinagar Evening free for rest in Hotel. Dinner & over night 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-SONAMARG-SRINAGAR (90 KMS ONE WAY 03: 00 HRS APPROX)
										</p>
										<p class="aj">Morning after breakfast day excursion tour Srinagar to Sonamarg (Meadow of Gold). Sonamarg lies in Sind valley streamed with flowers as surrounded by mountains. Sonamarg is also the base for some interesting treks to altitude of Himalayan lakes. Enjoy horse ridding upto Thajiwas Glacier and sledge ridding on snow (at your own cost). While returning back Srinagar visit Kheer Bhawani Temple, the most important temple for the followers of historical Vedic religion in Kashmir, known as the Kashmir Pandits. After Sight seeing back Srinagar. Evening free for rest in Hotel. Dinner & over night stay in 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-PAHALGAM (95 KMS ONE WAY 03: 00 HRS APPROX)
										</p>
										<p class="aj">Morning after breakfast check out Srinagar Hotel to Drive Pahalgam. Pahalgam is 2440 mtrs above sea level (The Valley of Shepherds) Pahalgam is also famous for its alpine treks, forest and along the Lidder River, nature walk and also the base camp of Amarnath Yatra. On the way saffron fields, Avantipura ruins of an 1100 yrs old temple of lord Vishnu. On arrival pahalgam check in hotel and enjoy the surrounding beautiful or walk Baisaran which is (02 kms from pahalgam, and enjoy explore the beauty of “pahalgam” one can go to chandanwari (16 kms from pahalgam) is starting point of Amarnath Pilgrimage “The Adobe of Shiva” and enjoy of Aru Valley (10 kms from Pahalgam) has a fine meadow of Picturesque scenery and starting point of trekking of (Lidderwat, Kolahoi Glacier & Trsar Lake), and enjoy Betaab Valley (07 kms from Pahalgam), Betaab valley is named after bollywood movie Betaab which was extensively shot here. The valley is characterised by picture perfect views and is a kind of popular picnic sport for tourist after sight seeing back hotel. Dinner & over night 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-SRINAGAR (95 KMS ONE WAY 03: 00 HRS APPROX)
										</p>
										<p class="aj">Morning after breakfast check out Pahalgam hotel to same route Srinagar check in Houseboat fresh up and after noon also get a view of some very interesting places around the lake. Shikara ride on Dal Lake to enjoy the Sunset, Char Chinar and Floating Garden after Sight seeing Srinagar Local Handicraft shopping Market and personal activities back Houseboat. Dinner & over night stay in 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 6:</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>
01 night in Pahalgam 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="PARADISE 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="188857"/>
						</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 Srinagar, Pahalgam, Sonamarg, Gulmarg</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/amazing-kashmir-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/566299/296186.jpg"  alt="AMAZING KASHMIR TOUR PACKAGE" title="AMAZING 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/amazing-kashmir-tour-package.htm" title="AMAZING KASHMIR TOUR PACKAGE"><h3>Amazing 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Sonamarg</p>
															<div class="mt10px small">
							<form name="pkg_188858" id="pkg_188858" 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/amazing-kashmir-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="AMAZING 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="188858"/>
							</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:68:"Book PARADISE KASHMIR TOUR PACKAGE - 5 Nights / 6 Days Tour Packages";i:2;s:149:"book paradise kashmir tour package - 5 nights / 6 days tour packages, hill station tour packages, srinagar, pahalgam, sonamarg, gulmarg tour packages";i:3;s:183:"Silver Ray Travel offers PARADISE KASHMIR TOUR PACKAGE - 5 Nights / 6 Days tour package, budget Hill Station tour packages for Srinagar, Pahalgam, Sonamarg, Gulmarg at exciting price.";i:4;s:3410:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Pahalgam, Sonamarg, Gulmarg"        
		                 },
		      "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": "PARADISE KASHMIR TOUR PACKAGE",
		      "telephone": "+91-9419134948"
		    }
		    </script>
			";i:5;N;}