a:6:{i:0;s:14294:"				<div class="h1"><h1>Kashmir Srinagar Tour (Puja And Diwali Special)</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.vramanspecial.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.vramanspecial.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Kashmir Srinagar Tour (Puja And Diwali Special)</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">VS06</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						6 Nights / 7 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"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.vramanspecial.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kashmir Srinagar Tour (Puja And Diwali Special) - 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="24447"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_10/288519/47505.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/47505.jpg"  width="150" height="150"    alt="Kashmir Srinagar Tour (Puja And Diwali Special)" title="Kashmir Srinagar Tour (Puja And Diwali Special)" /></a></p></div></li>
																		<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_10/288519/47506.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/47506.jpg"  width="150" height="150"    alt="Kashmir Srinagar Tour (Puja And Diwali Special)" title="Kashmir Srinagar Tour (Puja And Diwali Special)" /></a></p></div></li>
																		<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_10/288519/47507.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/47507.jpg"  width="150" height="150"    alt="Kashmir Srinagar Tour (Puja And Diwali Special)" title="Kashmir Srinagar Tour (Puja And Diwali Special)" /></a></p></div></li>
																		<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_10/288519/47508.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/47508.jpg"  width="150" height="150"    alt="Kashmir Srinagar Tour (Puja And Diwali Special)" title="Kashmir Srinagar Tour (Puja And Diwali Special)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Srinagar House Boat (1N), Srinagar Hotel (4N), Pahalgam (1N)Additional / personal use of vehicle.<br />
Any personal expenses, room service and special orders, mineral / packed waters, alcoholic and non <br />
alcoholic beverages, porterage, tips.<br />
Any extra excursions or sightseeing apart from the above specified itinerary.<br />
Camera fees, guide charges.<br />
Any incidental and other expenses which are not specified in the inclusions.<br />
Govt service tax - 3.09 % applicable on total billing.<br />
Air ticket<br />
Camera fees (still or movie).<br />
laundry, horse ride.<br />
Any kind of personal expenses such as monument Fees, laundry, telephone bills and alcoholic beverages. <br />
Anything not specified in the itinerary<br />
Unspecified meals.<br />
Local car ride,<br />
Cable car ride.12-0931-03<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 to Pahelgam (88 Km)
								</p>
								<p class="aj">Our representative will receive you at Srinagar airport. Drive to Pahalgam via outskirts of Srinagar. The distance will be covered in about 5 hrs en route visit Saffron fields and Awantipora ruins (1100 yrs Old temple of lord Vishnu built by King Awantiwareman) Drive through the Pine Forest Arrive at Pahalgam transfer to Hotel. Over night stay at hotel in Pahalgam.</p>					
									<p><b>Meals : </b> Breakfast and Dinner</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> Pahalgam to Srinagar (88 Km)
								</p>
								<p class="aj">Enjoy horse ride (at own Cost) and visit Chandan vadi, Aru Vadi, Betaab vadi by local car (at own Cost). Pine forests dot this meadow which presents a picturesque view of the snow-clad mountains. The snow covered Tulian Lake at an altitude of 3353 m is 11kms from Baisaran. After lunch we will start for Srinagar. On arrival at Srinagar you will be transferred to hotel. The day will to you for packing your shopping bags. Enjoy your marketing in Srinagar. Evening will be for your marketing. Over night at hotel in Srinagar.</p>					
									<p><b>Meals : </b> Breakfast and Dinner</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 (104 Km)
								</p>
								<p class="aj">Full day tour of Gulmarg. Gulmarg means "the meadow of flowers' and truly the state is blessed by mother nature which is one of the most beautiful summer resorts in the valley. It is popular for its Golf course (in summer) the highest in the world and skiing during the winter season. View of Nanga Parbat (6800 M) if weather permits. One can have Gondola Ride (at own cost) "The Highest & Longest gondola in the world" From Gulmarg to Khilanmarg. Evening return to hotel.  Over night at hotel in Srinagar.</p>					
									<p><b>Meals : </b> Breakfast and Dinner</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 - Sonmarg - Srinagar (164 Km)
								</p>
								<p class="aj">Full day excursion to Sonmarg which is the most beautiful drive from Srinagar to Sonmarg (2690 M). One can ride on horse (at own cost) to visit Thajiwas Glacier where snow remains round the year and Sonmarg is known as Gateway of Ladakh. You can also proceed to Zero point (at own cost) to enjoy the nature. In the evening return to hotel. Over night at hotel in Srinagar.</p>					
									<p><b>Meals : </b> Breakfast and Dinner</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 - Yusmarg - Srinagar (94 Km)
								</p>
								<p class="aj">You may a laid-back stroll amongst flower-strewn meadows. Another venue for the walkers is a river, known by the name of Dudh Ganga. Frothing and crashing on its way over the rocks, the river makes a little white foam, which gives it this name. A little ahead, is a lake, Nilnag, embraced with hills. The hills comprise of a number of several peaks, namely Tatta Kutti, Sang Safed, etc. At a distance of about 13 km from Yusmarg in the Kashmir valley is the Charar-e-Sharief, the shrine of the saint Sheikh Noor-ud-din or Nund Reshi. Yousmarg mesmerizes tourists with its scenic meadows,a sparkling reservoir and mountains comparable to European Alps. Situated amidst Sang Safed valley, Yousmarg is reputed for having some unique spring flowers. It also has some of the highest peaks in Pir-Panjal range like Tatakoti 4725m, Romesh Thong 5000m and Sunset Peak 4746 m. The mighty river Doodh Ganga rises from these peaks and a distributor of the same flows into the reservoir. Word 'Yus' is said to be a short form of Youza or Jesus and ‘marg’ means a meadow, according to a belief the Jesus is said to have passed through this valley while travelling into Kashmir.Over night at hotel in Srinagar.</p>					
									<p><b>Meals : </b> Breakfast and Dinner</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 having breakfast transfer to House Boat. Thereafter visit Shankaracharya Temple and half day tour of world famous Mughal Gardens visiting Chasmasahi, Nishat Bagh (The Garden of Pleasure), Tulip garden, Shalimar bagh (Abode of Love) return back to hotel for hot Lunch.  Over night at House Boat in Srinagar</p>					
									<p><b>Meals : </b> Breakfast and Dinner</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> Return Home
								</p>
								<p class="aj">See off home with lovely memory of Kashmir.</p>					
									<p><b>Meals : </b> Breakfast</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>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Additional / personal use of vehicle.</li><li>
Any personal expenses, room service and special orders, mineral / packed waters, alcoholic and non </li><li>
alcoholic beverages, porterage, tips.</li><li>
Any extra excursions or sightseeing apart from the above specified itinerary.</li><li>
Camera fees, guide charges.</li><li>
Any incidental and other expenses which are not specified in the inclusions.</li><li>
Govt service tax - 3.09 % applicable on total billing.</li><li>
Air ticket</li><li>
Camera fees (still or movie).</li><li>
laundry, horse ride.</li><li>
Any kind of personal expenses such as monument Fees, laundry, telephone bills and alcoholic beverages. </li><li>
Anything not specified in the itinerary</li><li>
Unspecified meals.</li><li>
Local car ride,</li><li>
Cable car ride.</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>We will arrange your trip according to your tour date.<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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.vramanspecial.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kashmir Srinagar Tour (Puja And Diwali Special) - 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="24447"/>
						</form>
						</div>
						
						";i:1;s:86:"Book Kashmir Srinagar Tour (Puja And Diwali Special) - 6 Nights / 7 Days Tour Packages";i:2;s:161:"book kashmir srinagar tour (puja and diwali special) - 6 nights / 7 days tour packages, valley tour packages, srinagar, pahalgam, sonamarg, gulmarg tour packages";i:3;s:207:"Book Kashmir Srinagar Tour (Puja And Diwali Special) - 6 Nights / 7 Days tour packages from Vraman Special - Get attractive 6 Nights / 7 Days Valley  tour packages for  Srinagar, Pahalgam, Sonamarg, Gulmarg.";i:4;s:1210:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Pahalgam, Sonamarg, Gulmarg"        
		                 },
		      "description": "Srinagar House Boat (1N), Srinagar Hotel (4N), Pahalgam (1N)Additional / personal use of vehicle.
Any personal expenses, room service and special orders, mineral / packed waters, alcoholic and non 
alcoholic beverages, porterage, tips.
Any extra excursions or sightseeing apart from the above specified itinerary.
Camera fees, guide charges.
Any incidental and other expenses which are not specified in the inclusions.
Govt service tax - 3.09 % applicable on total billing.
Air ticket
Camera fees (still or movie).
laundry, horse ride.
Any kind of personal expenses such as monument Fees, laundry, telephone bills and alcoholic beverages. 
Anything not specified in the itinerary
Unspecified meals.
Local car ride,
Cable car ride.12-0931-03",
		      "name": "Kashmir Srinagar Tour (Puja And Diwali Special)",
		      "telephone": "+91-9874035665"
		    }
		    </script>
			";i:5;N;}