a:6:{i:0;s:13129:"				<div class="h1"><h1>Golden Kashmir 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>Golden 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">CTT15/KASHMIR 5NIGHT</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</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 16999 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="Golden 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="27764"/>
						</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/56071.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/229281/56071.jpg"  width="150" height="150"    alt="golden kashmir" title="golden 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> Arrival 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 - Gulmarg - Srinagar (60 Km / 2 Hrs)
								</p>
								<p class="aj">Morning after breakfast process for full day trip for 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, also enjoy. 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. In the evening drive back to Srinagar. 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 4:</b> Srinagar - Pahalgam - Srinagar (96 Km / 3 Hrs)
								</p>
								<p class="aj">Morning after breakfast process for full day trip Pahalgam (The valley of shepherds) 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.<br />
En-route, visiting the saffron fields of pampore, Awantipura Ruins (1100 years old temple of Lord Vishnu built by the King Awantivarman), and enjoy the beautiful countryside.Drive throught the pine forests. Arrive at Pahalgam and enjoy Lidder stream. Later walk along pony trails with a magnificent view of the mountains. Drive back to Srinagar and transfer in to hotel / houseboat.<br />
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 (Shankaracharya Temple)
								</p>
								<p class="aj">After breakfast full day sightseeing of Srinagar. We will visit one of the most sacred temples of Kashmir known as Shankaracharya. Located on a picturesque hill to the South East of Srinagar, the temple is named after Lord Shankarachrya – A great philosopher who visited the valley about ten centuries ago. The temple is built on a high octagonal plinth approached by a flight of steps. The summit of the hill is crowned with a picturesque edifice. This hill was called Jetha Larak and afterwards it was named Gopadari Hill. Some are of opinion that the temple at the top was originally built by King Sandiman (2629-2564 B.c.). There were 300 golden and silver images in it. We will explore the temple and also view some amazing locations of the Dal Lake and the city below. We will later drive back to the hotel / houseboats and spend rest of the day at 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 6:</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.<br />
 </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="Golden 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="27764"/>
						</form>
						</div>
						
						";i:1;s:58:"Book Golden Kashmir Tour - 5 Nights / 6 Days Tour Packages";i:2;s:104:"book golden kashmir tour - 5 nights / 6 days tour packages, valley tour packages, srinagar tour packages";i:3;s:149:"Chaturvedi Travels and Tours offers Golden Kashmir Tour - 5 Nights / 6 Days tour package, budget Valley tour packages for Srinagar at exciting price.";i:4;s:1491:"
			<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": "Golden Kashmir Tour",
		      "telephone": "+91-9826355115"
		    }
		    </script>
			";i:5;N;}