a:6:{i:0;s:9819:"				<div class="h1"><h1>Idyllic Kashmir & Vaishno Devi Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northerntourandtravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northerntourandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Idyllic Kashmir & Vaishno Devi 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">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">Jammu, Katra, Srinagar</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.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Idyllic Kashmir & Vaishno Devi 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="46831"/>
						</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_12/334611/91969.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/334611/91969.jpg"  width="150" height="150"    alt="Idyllic Kashmir & Vaishno Devi Tour" title="Idyllic Kashmir & Vaishno Devi Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Jammu - Katra
								</p>
								<p class="aj">After arrival at the Jammu Airport / Station, an  representative helps you with an assisted transfer to Katra, the base for Vaishno Devi Yatra. As you reach Katra, check-into the hotel. Relax for sometime before starting the trek for Vaishno Devi cave temple. Starting from Katra, the trek to the Darbar is around 14 km. The main four points that you cross during the journey are Banganga, Adhkuwari, Sanjhi Chhat and finally the Bhawan or temple. Once inside the Gufa or the cave, have Darshan of the Maa Vaishno Devi- residing in the form of 3 pindies (idols), depicting Ma Saraswati, Ma Kali and Ma Laxmi. Post-Darshan, if you want you can buy Prasad. Begin backward trek to Katra.</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> Katra
								</p>
								<p class="aj">Once you reach the hotel, relax and get freshen-up. The rest of the day is free to either relax or spend it as per one’s interest. One can visit the nearby market; taste the local food specialties and so on .Post dinner, overnight stay in Katra.</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> Katra - Srinagar
								</p>
								<p class="aj">After an early breakfast on the 3rd day, get transferred to Srinagar, by road. Evening arrival in Srinagar, check-in at the hotel. The summer capital of Jammu-Kashmir state, Srinagar is popular for its lakes, houseboats and gardens. The evening is at leisure. Stay overnight.</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 - Gulmarg - Srinagar
								</p>
								<p class="aj">Day 4, post breakfast, is scheduled for a day visit to Gulmarg. The road from Srinagar to Gulmarg via Tangmarg is an extremely mesmerizing one. The snow-clad mountains and the mauve and white flower grown on the side of the road offers a soothing sight to the eyes. As you reach Gulmarg, you are free to spend the doing in the activities of your interest. Enjoy leisure walks or enjoy a ride in the world’s second-highest Gondola ride in Gulmarg up to Khilanmarg. The view from the top is even more enchanting. Back to Srinagar in the evening for an overnight.<br />
</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 - Pahalgam - Srinagar
								</p>
								<p class="aj">On the 5th day of the tour, after breakfast, get all set for a day’s visit to Pahalgam. On the way, do not miss visiting the saffron fields. Admire the mesmerizing views driving through the pine forest. After reaching Pahalgam, you are free to indulge in leisure activities. Visit the local market to splurge on shopping, enjoy a horse ride or you can also partake in rafting in River Lidder. In the evening, return to Srinagar for dinner and overnight 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 6:</b>  Srinagar - Sonmarg - Srinagar
								</p>
								<p class="aj">Post breakfast on day 6, the day is fixed for an excursion to Sonamarg. The drive from Srinagar to Sonamarg is going to be one of the most memorable one. Known as the ‘gateway to Ladakh’, Sonamarg offers a lot to its visitor. Enjoy a walk or a horse ride to the Thajiwas Glacier (at your own cost). Return to Srinagar in the evening for an overnight 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 7:</b> Srinagar - Departure
								</p>
								<p class="aj">On the last day post breakfast, complete the check-out formalities. Partake in half-day city tour of Srinagar, covering the prime attractions. Later, get an assisted transfer to the airport/railway station for your onward 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>
															</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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Idyllic Kashmir & Vaishno Devi 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="46831"/>
						</form>
						</div>
						
						";i:1;s:74:"Book Idyllic Kashmir & Vaishno Devi Tour - 6 Nights / 7 Days Tour Packages";i:2;s:142:"book idyllic kashmir & vaishno devi tour - 6 nights / 7 days tour packages, lakes & rivers tour packages, jammu, katra, srinagar tour packages";i:3;s:203:"Book Idyllic Kashmir & Vaishno Devi Tour - 6 Nights / 7 Days tour packages from A.G Northern Tour and Travels - Get attractive 6 Nights / 7 Days Lakes & Rivers  tour packages for  Jammu, Katra, Srinagar.";i:4;s:429:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jammu, Katra, Srinagar"        
		                 },
		      "description": "",
		      "name": "Idyllic Kashmir & Vaishno Devi Tour",
		      "telephone": "+91-9086002323"
		    }
		    </script>
			";i:5;N;}