a:6:{i:0;s:13882:"				<div class="h1"><h1>Discover Amazing Kashmir Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Discover Amazing Kashmir Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Tour Code </td>
						<td class="p5px pl0px vat">Kashmir Package</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Srinagar, Pahalgam, Sonamarg, Gulmarg</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 10999 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Package Details<br />
Package Name Discover Amazing Kashmir<br />
Destination Covered	Srinagar - Gulmarg - Pahalgam - Sonmarg<br />
Traveling Mode Road<br />
Frequency Daily<br />
Carrying Of Post-Paid Connection (Sim-Card) Is Compulsory.</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Discover Amazing Kashmir Tour - 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="58661"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/110915.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/110915.jpg"  width="150" height="150"    alt="Discover Amazing Kashmir Tour" title="Discover Amazing Kashmir Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Description:<br />
Srinagar is the summer capital of the Indian state of Jammu and Kashmir. The city is famous for its gardens, lakes and houseboats. It is also known for traditional Kashmiri handicrafts and dried fruits. However, the earliest records mention the name as "City of Sun". It is also known as Mughal Gardens of Jammu & Kashmir & Kashmiri Venice/Venice of East.<br />
Gulmarg literally means "Meadow of Flowers" is a hill station and popular skiing destination. - Originally called "Gaurimarg" by shepherds. Also, Gaurimarg, named after Devi Parvati, wife of Lord Mahadev/Shiva, finds mention in Shivpuran. Gauri= Parvat & Marg= Meadow, so literally, it means the meadow of Devi Parvati. A temple dedicated to Lord Shiva is still in place at centre of this beautiful meadow. The original name "Gaurimarg" was changed to "Gulmarg" by the Muslim King - Yousuf Shah Chak. Gulmarg means the place of roses. Gaurimarg has been a resort for the kings like Yousuf Shah Chak and Jahangir who used to visit frequently. Now it is the "heartland of winter sports in India.<br />
<br />
Grand India Holiday Packages<br />
<br />
Pahalgam - The Valley of Shepherds was once a humble shepherd's village with breathtaking views. Now it is Kashmir's premier resort, cool even during the height of summer when the maximum temperature does not exceed 25 deg C. It is also associated with the annual Amarnath Yatra. Chandanwari (16 kms from Pahalgam) is the starting point of the yatra that takes place every year.During the month of Sawan, an ice stalagmite forms a natural Shivling in the Amarnath cave.<br />
Sonamarg or Sonmarg literally means 'Meadow of Gold'. The picturesque natural beauty of the region brought this name to Sonamarg. Sonamarg is a town surrounded by breathtaking glaciers and serene lakes. It is a snow covered beautiful flower-laden meadow in the majestic Himalayan mountain region. It is the gateway to Ladakh and situated just before the Zojii La pass.Package Details<br />
Package Name Discover Amazing Kashmir<br />
Destination Covered	Srinagar - Gulmarg - Pahalgam - Sonmarg<br />
Traveling Mode Road<br />
Frequency Daily<br />
Carrying Of Post-Paid Connection (Sim-Card) Is Compulsory.Any kind of air/rail fares.<br />
Any portage at hotels, tips, insurance, mineral water, telephone charges, laundry and all items of personal nature.<br />
Any still/video camera fees, entrance fees for monuments and any activities suggested in the itinerary are chargeable direct.<br />
Any additional meals/en route meals, sightseeing and activities other than those mentioned in the itinerary.<br />
On-board catering services.<br />
Any deviation from the above programme.<br />
Any services not mentioned under package inclusion will be additional.<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
								</p>
								<p class="aj">Pick up from Srinagar Airport in the afternoon. Meet and greet. Transfer to houseboat and check-in. Rest of time at leisure for personal activities. In the evening, Shikara ride on Dal Lake to enjoy sunset. Dinner and 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 2:</b> Srinagar
								</p>
								<p class="aj">After breakfast, check out from the houseboat & leave for Darshan of Shankaracharya Temple. After Darshan, sightseeing of Mughal Gardens, Cheshmashahi, Parimahal, Botanical Garden, Shalimar Gardens, Zararwan Hills by road transport. Then visit of the famous Hazratbal Shrine situated on the bank of Dal Lake. In the evening, free for shopping as well as Shikara Ride around famous Dal Lake & Char-Chinar (Floating Gardens). Check into the hotel at Srinagar. Dinner and night stay.</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 - Srinagar (50 Kms one way)
								</p>
								<p class="aj">After breakfast leave for Gulmarg-"Meadows of flowers by road transport. A short trek up to Khilanmarg (optional at guest own cost). Drive back to Srinagar. Dinner and overnight stay at hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Srinagar - Pahalgam - Srinagar (87 Kms one way)
								</p>
								<p class="aj">After early breakfast, check out from the hotel & proceed to Pahalgam, on the way sightseeing of Saffron fields & Awantipora ruins. Afternoon return back to Srinagar. Dinner & night stay at Srinagar.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Srinagar - Sonmarg - Srinagar (80 Kms one way)
								</p>
								<p class="aj">After breakfast leave for full day trip to Sonmarg. The Sindh meanders along here and abounds with trout and mahseer, ponies can be hired for the trip upto Thajiwas Glacier a major attraction during summer months. In the evening drive back to Srinagar. Dinner and night stay at hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Srinagar
								</p>
								<p class="aj">After breakfast in the morning, free for personal activities. Transfer to Srinagar Airport to board the flight in the afternoon.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any kind of air/rail fares.</li><li>
Any portage at hotels, tips, insurance, mineral water, telephone charges, laundry and all items of personal nature.</li><li>
Any still/video camera fees, entrance fees for monuments and any activities suggested in the itinerary are chargeable direct.</li><li>
Any additional meals/en route meals, sightseeing and activities other than those mentioned in the itinerary.</li><li>
On-board catering services.</li><li>
Any deviation from the above programme.</li><li>
Any services not mentioned under package inclusion will be additional.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~						
    	<p class="h dif xlarge b mb5px">Discover Amazing Kashmir</p>
    	<div class="otherDetails aj">Package Tariff: valid till 31.05.2016<br>
Class	<br>
Comfort	<br>
Occupancy	Prices<br>
Single	Rs. 28098/-<br>
Double	Rs. 15280/-<br>
Triple	Rs. 11311/-<br>
Child With Bed	Rs. 9176/-<br>
Child Without Bed	Rs. 4292/-<br>
Standard	<br>
Occupancy	Prices<br>
Single	Rs. 26877/-<br>
Double	Rs. 14364/-<br>
Triple	Rs. 10905/-<br>
Child With Bed	Rs. 8443/-<br>
Child Without Bed	Rs. 3682/-</div><br>
    	<p class="h dif xlarge b mb5px">Discover Amazing Kashmir</p>
    	<div class="otherDetails aj">Package Tariff:valid from 01.06.2016<br>
Class	<br>
Comfort	<br>
Occupancy	Prices<br>
Single	Rs. 28132/-<br>
Double	Rs. 15298/-<br>
Triple	Rs. 11324/-<br>
Child With Bed	Rs. 9187/-<br>
Child Without Bed	Rs. 4298/-<br>
Standard	<br>
Occupancy	Prices<br>
Single	Rs. 26910/-<br>
Double	Rs. 14382/-<br>
Triple	Rs. 10919/-<br>
Child With Bed	Rs. 8454/-<br>
Child Without Bed	Rs. 3686/-<br>
* Above fare is per person.</div><br>
    	<p class="h dif xlarge b mb5px">Discover Amazing Kashmir</p>
    	<div class="otherDetails aj">Accomodation:<br>
Places<br>
Hotel(3 Star Category)<br>
Srinagar<br>
Magistic Group of Houseboats/ Royal Batoo/ Paradise Gateway/ Triden Resorts/ Al-Azrah/ Al-Shifaf/ Lankar Resort/Similar<br>
<br>
Note:<br>
Above rates are subject to availability.<br>
Cancellation charges as per company policy.<br>
Room categories in all packages are the base category rooms unless stated otherwise.<br>
Final confirmation in the proposed hotels is subject to the availability at the time of booking, else similar category hotel will be provided.<br>
Tariffs subject to change.<br>
Conditions apply.</div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Discover Amazing Kashmir Tour - 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="58661"/>
						</form>
						</div>
						
						";i:1;s:68:"Book Discover Amazing Kashmir Tour - 5 Nights / 6 Days Tour Packages";i:2;s:143:"book discover amazing kashmir tour - 5 nights / 6 days tour packages, valley tour packages, srinagar, pahalgam, sonamarg, gulmarg tour packages";i:3;s:202:"Book Discover Amazing Kashmir Tour - 5 Nights / 6 Days tour packages from Grand India Tours & Travels - Get attractive 5 Nights / 6 Days Valley  tour packages for  Srinagar, Pahalgam, Sonamarg, Gulmarg.";i:4;s:3113:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Pahalgam, Sonamarg, Gulmarg"        
		                 },
		      "description": "Description:
Srinagar is the summer capital of the Indian state of Jammu and Kashmir. The city is famous for its gardens, lakes and houseboats. It is also known for traditional Kashmiri handicrafts and dried fruits. However, the earliest records mention the name as "City of Sun". It is also known as Mughal Gardens of Jammu & Kashmir & Kashmiri Venice/Venice of East.
Gulmarg literally means "Meadow of Flowers" is a hill station and popular skiing destination. - Originally called "Gaurimarg" by shepherds. Also, Gaurimarg, named after Devi Parvati, wife of Lord Mahadev/Shiva, finds mention in Shivpuran. Gauri= Parvat & Marg= Meadow, so literally, it means the meadow of Devi Parvati. A temple dedicated to Lord Shiva is still in place at centre of this beautiful meadow. The original name "Gaurimarg" was changed to "Gulmarg" by the Muslim King - Yousuf Shah Chak. Gulmarg means the place of roses. Gaurimarg has been a resort for the kings like Yousuf Shah Chak and Jahangir who used to visit frequently. Now it is the "heartland of winter sports in India.

Grand India Holiday Packages

Pahalgam - The Valley of Shepherds was once a humble shepherd's village with breathtaking views. Now it is Kashmir's premier resort, cool even during the height of summer when the maximum temperature does not exceed 25 deg C. It is also associated with the annual Amarnath Yatra. Chandanwari (16 kms from Pahalgam) is the starting point of the yatra that takes place every year.During the month of Sawan, an ice stalagmite forms a natural Shivling in the Amarnath cave.
Sonamarg or Sonmarg literally means 'Meadow of Gold'. The picturesque natural beauty of the region brought this name to Sonamarg. Sonamarg is a town surrounded by breathtaking glaciers and serene lakes. It is a snow covered beautiful flower-laden meadow in the majestic Himalayan mountain region. It is the gateway to Ladakh and situated just before the Zojii La pass.Package Details
Package Name Discover Amazing Kashmir
Destination Covered	Srinagar - Gulmarg - Pahalgam - Sonmarg
Traveling Mode Road
Frequency Daily
Carrying Of Post-Paid Connection (Sim-Card) Is Compulsory.Any kind of air/rail fares.
Any portage at hotels, tips, insurance, mineral water, telephone charges, laundry and all items of personal nature.
Any still/video camera fees, entrance fees for monuments and any activities suggested in the itinerary are chargeable direct.
Any additional meals/en route meals, sightseeing and activities other than those mentioned in the itinerary.
On-board catering services.
Any deviation from the above programme.
Any services not mentioned under package inclusion will be additional.",
		      "name": "Discover Amazing Kashmir Tour",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}