a:6:{i:0;s:10753:"				<div class="h1"><h1>Vaishno Devi With Kashmir Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.geetcompany.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Vaishno Devi With Kashmir Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/22362/55155.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/55155.jpg"  width="150" height="150"    alt="Vaishno Devi With Kashmir Tour" title="Vaishno Devi With Kashmir Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Tour Code :</b> 120</p>
												<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Jammu, Katra, Srinagar, Pahalgam</p>
												<p><b>Price (Starting From) :</b>						
						INR 21850 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Vaishno Devi With Kashmir Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="28124"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
											<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Arrive Jammu - Katra
									</p>
									<div class="data p10px">Upon arrival you will be met by our representative and drive to Katra. The distance is about 50 kms, will be covered in about 2 hours, upon arrival in Katra you will be transferred to the hotel. Katra is the starting point for the Vaishno Devi pilgrimage. Overnight in hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Katra - Vaishno Devi - Katra
									</p>
									<div class="data p10px">Early in the morning we proceed further to visit the Holy temple of Vaishno Devi. This temple is situated on the top of the hill. To visit this temple one has to hire a pony or travel by foot. From Katra the Vaishno Devi pilgrimage is about 12 kms. After visiting the temple we return back to Katra the same day. Overnight in hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Katra - Pahalgam
									</p>
									<div class="data p10px">After breakfast check-out from hotel and proceed to Pahalgam (Valley of Shepherds) The total distance of about 250 kms, will be covered in about 7 to 8 hrs. Pahalgam is situated at the union of the streams flowing from Sheshnag Lake and the Lidder River in the state of Jammu & Kashmir. Pahalgam is now Kashmir's premier resort; cool even during the height of summer when the maximum temperature does not exceed 25 degrees Celsius, upon arrival check into the hotel. Overnight in hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Pahalgam - Srinagar
									</p>
									<div class="data p10px">Morning explore Pahalgam. In the afternoon drive back to Srinagar. Overnight in deluxe houseboat.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Srinagar Half Day Sightseeing
									</p>
									<div class="data p10px">Morning sightseeing of 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. All the gardens are situated on the banks of the Dal Lake with the Zabarwan hills in the background. Afternoon will be at your leisure for individual activities. Dinner and overnight in deluxe houseboat.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Srinagar - Gulmarg - Srinagar
									</p>
									<div class="data p10px">Morning proceed for Gulmarg (Meadow of Flowers) 2730 mts. above the sea level. The distance of 60 kms will be covered in about 2 hours. 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 cable car (Gondola) for mountain ride upto Khilanmarg. In the evening drive back to Srinagar. Overnight in hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 7: Departure From Srinagar
									</p>
									<div class="data p10px">After breakfast transfer to Srinagar airport for onward flight.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Katra<br />
Katra or Katra Vaishno Devi, as it is popularly known, is a small town in Jammu and Kashmir, India, situated in the foothills of the Trikuta Mountains, where the holy shrine of Mata Vaishno Devi is located. It is part of the REASI District and is located 42 km from the city of Jammu.You will find lot of Govt & private hotels at Katra.Katra serves as the base camp for pilgrims who visit Vaishno Devi. It has a thriving tourism industry that offers plenty of hotels, guest houses, restaurants, dhabas etc.<br />
<br />
Srinagar<br />
Srinagar is the summer capital of the Indian state of Jammu and Kashmir. It is situated in the Kashmir Valley and lies on the banks of the Jhelum River, a tributary of the Indus. The city is famous for its gardens, lakes and houseboats. It is also known for traditional Kashmiri handicrafts and dry fruits. Etymologically Srinagar is composed of two Sanskrit words, sri (venerable) and nagar, which means city. One theory of the origin of the name is that a Pandava King Ashoka (not to be confused with the Mauryan Emperor Ashoka) built the city of Srinagari (Srinagar). Another theory is that Mauryan Emperor Ashoka founded the original city of Srinagar, then situated on the site of the present village of Pandrethan, 5 km to the north of the existing capital.<br />
<br />
Pahalgam<br />
Situated at the confluence of the streams flowing from Sheshnag Lake and the Lidder river, Pahalgam (2,130 m) 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 250C. A number of hotels and lodges cater to all preferences and budgets, from luxurious hotels to unpretentious trekkers' lodges. The most beautiful of these is the huge, undulating meadow of Baisaran, surrounded by thickly wooded forests of pine. Hajan, on the way to Chandanwari, is an idyllic spot for a picnic. Filmgoers will recognize it instantly as it has been the location of several movie scenes.Any Airfare, Train fare, Overland Journey which is not mentioned in the Itinerary.<br />
Any Medical/rescue evacuation due to mishaps.<br />
Any personal nature items like Laundry, bar bills, table bills, camera fee, tips or any other item.<br />
Mineral water / Soft or hard drinks / Starters.<br />
Entrance Free<br />
Horse Riding<br />
Sightseeing of Chandanwari, Aru, Betaab Valley and Baisaran in Pahalgam.<br />
Gondola Ride in Gulmarg<br />
Any other things that is not included in the Package Cost Includes Column.<br />
Cost incidentals due 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.01-1031-03							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Sightseeing</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>Any Airfare, Train fare, Overland Journey which is not mentioned in the Itinerary.</li><li>
Any Medical/rescue evacuation due to mishaps.</li><li>
Any personal nature items like Laundry, bar bills, table bills, camera fee, tips or any other item.</li><li>
Mineral water / Soft or hard drinks / Starters.</li><li>
Entrance Free</li><li>
Horse Riding</li><li>
Sightseeing of Chandanwari, Aru, Betaab Valley and Baisaran in Pahalgam.</li><li>
Gondola Ride in Gulmarg</li><li>
Any other things that is not included in the Package Cost Includes Column.</li><li>
Cost incidentals due 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></ul><br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:69:"Book Vaishno Devi With Kashmir Tour - 6 Nights / 7 Days Tour Packages";i:2;s:155:"book vaishno devi with kashmir tour - 6 nights / 7 days tour packages, religious & pilgrimage tour packages, jammu, katra, srinagar, pahalgam tour packages";i:3;s:186:"Geet & Company offers Vaishno Devi With Kashmir Tour - 6 Nights / 7 Days tour package, budget Religious & Pilgrimage tour packages for Jammu, Katra, Srinagar, Pahalgam at exciting price.";i:4;s:3098:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jammu, Katra, Srinagar, Pahalgam"        
		                 },
		      "description": "Katra
Katra or Katra Vaishno Devi, as it is popularly known, is a small town in Jammu and Kashmir, India, situated in the foothills of the Trikuta Mountains, where the holy shrine of Mata Vaishno Devi is located. It is part of the REASI District and is located 42 km from the city of Jammu.You will find lot of Govt & private hotels at Katra.Katra serves as the base camp for pilgrims who visit Vaishno Devi. It has a thriving tourism industry that offers plenty of hotels, guest houses, restaurants, dhabas etc.

Srinagar
Srinagar is the summer capital of the Indian state of Jammu and Kashmir. It is situated in the Kashmir Valley and lies on the banks of the Jhelum River, a tributary of the Indus. The city is famous for its gardens, lakes and houseboats. It is also known for traditional Kashmiri handicrafts and dry fruits. Etymologically Srinagar is composed of two Sanskrit words, sri (venerable) and nagar, which means city. One theory of the origin of the name is that a Pandava King Ashoka (not to be confused with the Mauryan Emperor Ashoka) built the city of Srinagari (Srinagar). Another theory is that Mauryan Emperor Ashoka founded the original city of Srinagar, then situated on the site of the present village of Pandrethan, 5 km to the north of the existing capital.

Pahalgam
Situated at the confluence of the streams flowing from Sheshnag Lake and the Lidder river, Pahalgam (2,130 m) 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 250C. A number of hotels and lodges cater to all preferences and budgets, from luxurious hotels to unpretentious trekkers' lodges. The most beautiful of these is the huge, undulating meadow of Baisaran, surrounded by thickly wooded forests of pine. Hajan, on the way to Chandanwari, is an idyllic spot for a picnic. Filmgoers will recognize it instantly as it has been the location of several movie scenes.Any Airfare, Train fare, Overland Journey which is not mentioned in the Itinerary.
Any Medical/rescue evacuation due to mishaps.
Any personal nature items like Laundry, bar bills, table bills, camera fee, tips or any other item.
Mineral water / Soft or hard drinks / Starters.
Entrance Free
Horse Riding
Sightseeing of Chandanwari, Aru, Betaab Valley and Baisaran in Pahalgam.
Gondola Ride in Gulmarg
Any other things that is not included in the Package Cost Includes Column.
Cost incidentals due 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.01-1031-03",
		      "name": "Vaishno Devi With Kashmir Tour",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;}