a:6:{i:0;s:15115:"				<div class="h1"><h1>Grand Kashmir 8Night/9Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.chaturveditravels.com/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Grand Kashmir 8Night/9Days 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">CTT17/KASHMIR PACKAG</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Srinagar</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 31500 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.chaturveditravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Grand Kashmir 8Night/9Days 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="27767"/>
						</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_8/229281/56068.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/229281/56068.jpg"  width="150" height="150"    alt="grand kashmir" title="grand kashmir" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Any Airfare, Train Fare, Overland Journey Which Is Not Mentioned In The Itinerary.<br />
Any Personal Nature Items Like Laundry, Bar Bills, Table Bills, Camera Fee, Tips Or Any Other Item.<br />
Guide / Entry Fees / Boatings / Horse Ridings / Gondola Ride In Gulmarg Etc. During Sight Seeings<br />
Any Medical / Rescue Evacuation Due To Mishaps.<br />
Optional Activities Mentioned In The Itinerary<br />
Any Other Things That Is Not Included In The “Package Cost Includes” Column.<b><b>Note:<br />
Any Changes In Govt. Taxes, Hotel Tariff, Etc Will Be Intimated Before Confirming The Package.<br />
Cost Incidental To Any Change In The Itinerary/ Stay On Account Of Flight Cancellation Due To Bad Weather, Ill Health, Roadblocks And/Or Any Factors Beyond Control.<br />
Government Service Tax @ 3.09 Extra<br />
Every Passenger Is Traveling On His Own Responsibility. The Company Will Not Be Responsible For Any Loss Of Luggage Or Any Accidents. We Are Not Responsible For Theft Or Damage To Your Luggage.<br />
Also Note That Video & Audio Systems Are Prohibited In Commercial Vehicles As Per Law And We Do Not Guarantee For It Always.<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> Arrive Srinagar
								</p>
								<p class="aj">On arrival at the Srinagar Airport, you will be welcomed by our representative who will assist and escort you to your waiting vehicle. From the airport it is a 35 minutes drive through the heart of New Srinagar city. The drive takes you past the Abdullah bridge which connects the banks of the Jehlum river, snaking its way towards the North-Western frontier of Kashmir. Arrive and check in at hotel / Houseboat. <br />
Rest of the day will be at your leisure for individual activities. Overnight 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 2:</b> Srinagar
								</p>
								<p class="aj">Morning after breakfast local sightseeing of Srinagar which include the Mughal Gardens, visiting Nishat Bagh built by Asaf Khan, the brother -in- law of Jehangir in 1632 AD, and Shalimar Bagh built by Jehangir for his wife empress Nur Jahan. Built in between a period of 14 years the two gardens are a heritage left behind by the erstwhile Mughals, whose taste for laying exquisite gardens was fascinating. All the gardens are situated on the banks of the Dal Lake with the Zabarwan hills in the background .<br />
Afternoon will be at your leisure for individual activities. overnight 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 3:</b> srinagar - pahalgam (96 km / 3 hrs)
								</p>
								<p class="aj">After breakfast check out from hotel & drive towards Pahalgam on the National Highway 1A. This road connects the Valley to the rest of the country. We drive past the saffron fields of Pampore, the marvellous ruins of Avantipura and the village of Bijbehara which remains famous as the bread basket of Kashmir. You can even sample a few exotic breads sold by vendors near the road. We switch the the national highway at Khanabal and drive through the second largest city of Anantnag. From here the road turns scenic as we drive parallel on the Lidder river flowing from the opposite direction.Arrive Pahalgam and check in at the hotel and later do some nature walks to unwind ourselves. Overnight stay at Pahalgam.</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> Pahalgam - Srinagar (96 KM / 3 HRS)
								</p>
								<p class="aj">After breakfast , check out from hotel & half a day sightseeing by driving to the picturesque Chandanwari and Betaab valley or ride by horseback across the wildlife sanctuary towards Baisaran meadows. After complete sightseeing drive to Srinagar.Arrive Srinagar , check in at the hotel / houseboats , In the evening you can go for shopping around the local flea markets and also do window shopping or enjoy yet another short ride of the famous shikara. Overnight 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 - Gulmarg (56 KM / 2HRS)
								</p>
								<p class="aj">After breakfast check out from hotel & drive to Gulmarg(Meadow of Flowers) 2730 mts. above the sea level. The drive past colorful villages and rice fields, gives you an insight of the rich cultural past of Kashmir. We arrive at a small picturesue market town of Tangmarg and drive ahead on a scenic drive of 14 kilometers to Gulmarg.<br />
Gulmarg has one of the best ski slopes in the world and highest golf course with 18 holes. If weather permits one can also have the view of Nanga Parbat, the naked mountain that is over 26,000 feets and dominates the entire region,<br />
Arrive in Gulmarg early in the afternoon and check in at the hotel. Later we will begin a short tour around the meadow familarising ourselves with the beauty. In Gulmarg we will board the Gondola cable car system, and ascend towards the Afarwatt Mountain range. The 08 minutes of ropeway will take you past colorful shepherd hutments to the lower ridge of the Afarwatt peak. From here you can click lots of photos of the nearby mountain ranges that stand tall like sentinels guarding the rich natural beauty of Kashmir valley. We descend back to Gulmarg base after an hour or so and later do some horse-riding to the strawberry valley.Rest of the day free at leisure for individual activities. Overnight stay at Gulmarg.</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> Gulmarg - Srinagar (56 KM / 2HRS)
								</p>
								<p class="aj">Morning after breakfast check out from hotel & proceed for local sightseeing of Gulmarg. Going for some small tours around the meadow and later drive back to Srinagar in the evening. On arrival in Srinagar we will transfer to the hotel / houseboats. Overnight 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 7:</b> Srinagar - Sonmarg (85 KM / 3 HRS)
								</p>
								<p class="aj">Morning after breakfast check out from hotel & drive of the majestic mountain resort of Sonamarg. The route towards Sonamarg takes us on a picturesque country side drive where we will come across rolling hills, green forests, clear water streams and blooming rice fields. We will zoom past the town of Kangan which handles all the local needs of this region. From Kangan, we will drive towards Mammar, famous for its trout farm and stopover for a warm cup of tea before we head towards Sonamarg. We will once again alight from our vehicles at the tourist spot of Gagangir. The spot is built in the middle of the river Sindh and looks like an island with snow glaciers covering one or the other spot. <br />
Arrive Sonmarg and check in to the hotel . In Sonamarg we will take a 3 hour walk or horseback trip to the Thajwass glacier.<br />
Rest of the day free at leisure for individual activities. Overnight stay at Sonmarg.</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 8:</b> Sonmarg - Srinagar (85 KM / 3 HRS)
								</p>
								<p class="aj">Morning after breakfast check out from hotel & drive back to Srinagar.on the way we will visit the small town market for some snacks or just pay a visit observing the local people going with thier daily routine . Arrive and check in at hotel /Houseboat . Afternoon will be at your leisure for individual activities. Overnight 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 9:</b> Srinagar - Departure
								</p>
								<p class="aj">After morning breakfast, Check out from hotel & drive to the airport. On the way to the airport you can make a brief stopover for some last minute shopping in the city center. drop at airport for you’re onwards journey.</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>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any Airfare, Train Fare, Overland Journey Which Is Not Mentioned In The Itinerary.</li><li>
Any Personal Nature Items Like Laundry, Bar Bills, Table Bills, Camera Fee, Tips Or Any Other Item.</li><li>
Guide / Entry Fees / Boatings / Horse Ridings / Gondola Ride In Gulmarg Etc. During Sight Seeings</li><li>
Any Medical / Rescue Evacuation Due To Mishaps.</li><li>
Optional Activities Mentioned In The Itinerary</li><li>
Any Other Things That Is Not Included In The “Package Cost Includes” Column.Note:</li><li>
Any Changes In Govt. Taxes, Hotel Tariff, Etc Will Be Intimated Before Confirming The Package.</li><li>
Cost Incidental To Any Change In The Itinerary/ Stay On Account Of Flight Cancellation Due To Bad Weather, Ill Health, Roadblocks And/Or Any Factors Beyond Control.</li><li>
Government Service Tax @ 3.09 Extra</li><li>
Every Passenger Is Traveling On His Own Responsibility. The Company Will Not Be Responsible For Any Loss Of Luggage Or Any Accidents. We Are Not Responsible For Theft Or Damage To Your Luggage.</li><li>
Also Note That Video & Audio Systems Are Prohibited In Commercial Vehicles As Per Law And We Do Not Guarantee For It Always.</li></ul><br />
												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.chaturveditravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Grand Kashmir 8Night/9Days 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="27767"/>
						</form>
						</div>
						
						";i:1;s:70:"Book Grand Kashmir 8Night/9Days Tour - 8 Nights / 9 Days Tour Packages";i:2;s:116:"book grand kashmir 8night/9days tour - 8 nights / 9 days tour packages, valley tour packages, srinagar tour packages";i:3;s:176:"Book Grand Kashmir 8Night/9Days Tour - 8 Nights / 9 Days tour packages from Chaturvedi Travels and Tours - Get attractive 8 Nights / 9 Days Valley  tour packages for  Srinagar.";i:4;s:1503:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar"        
		                 },
		      "description": "Any Airfare, Train Fare, Overland Journey Which Is Not Mentioned In The Itinerary.
Any Personal Nature Items Like Laundry, Bar Bills, Table Bills, Camera Fee, Tips Or Any Other Item.
Guide / Entry Fees / Boatings / Horse Ridings / Gondola Ride In Gulmarg Etc. During Sight Seeings
Any Medical / Rescue Evacuation Due To Mishaps.
Optional Activities Mentioned In The Itinerary
Any Other Things That Is Not Included In The “Package Cost Includes” Column.<b><b>Note:
Any Changes In Govt. Taxes, Hotel Tariff, Etc Will Be Intimated Before Confirming The Package.
Cost Incidental To Any Change In The Itinerary/ Stay On Account Of Flight Cancellation Due To Bad Weather, Ill Health, Roadblocks And/Or Any Factors Beyond Control.
Government Service Tax @ 3.09 Extra
Every Passenger Is Traveling On His Own Responsibility. The Company Will Not Be Responsible For Any Loss Of Luggage Or Any Accidents. We Are Not Responsible For Theft Or Damage To Your Luggage.
Also Note That Video & Audio Systems Are Prohibited In Commercial Vehicles As Per Law And We Do Not Guarantee For It Always.",
		      "name": "Grand Kashmir 8Night/9Days Tour",
		      "telephone": "+91-9826355115"
		    }
		    </script>
			";i:5;N;}