a:6:{i:0;s:11255:"				<div class="h1"><h1>Kashmir 8 Nights 9 Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.safarsarathi.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.safarsarathi.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Kashmir 8 Nights 9 Days 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">SS_005</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">Jammu, Katra, Srinagar, Pahalgam</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.safarsarathi.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kashmir 8 Nights 9 Days 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="58391"/>
						</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_10/281904/110520.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/281904/110520.jpg"  height="150"  width="150"    alt="Srinagar (Dall Lake)" title="Srinagar (Dall Lake)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Katra (2 nights) With Vaishno Devi, Pahalgam (1 Night), Srinagar <br />
(4 Nights), Jammu (1 Night)Train Fare or Air fare<br />
Train food<br />
Personal Expenses such as Laundry, telephone calls, tips & gratuity.<br />
Mineral or Packed water/soft/hard drinks.<br />
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.<br />
Camera fees, Guide / tour escort/ Guide charges & Entrance Fees at any monuments or garden.<br />
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances, etc (to be borne by the client, which has to paid directly on the spot).<br />
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.<br />
Service Tax, Insurance.<br />
Anything which is not include in the inclusion.<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> Katra Stay & Visit Vaishno Devi
								</p>
								<p class="aj">We will receive you at JAMMU station or airport and take you to KATRA night stay at KATRA. Those who want to have Darshan of Mata Vaishno Devi should start by 2000 hrs.</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> Full day for Rest at Katra
								</p>
								<p class="aj">KATRA. This day will be fully for rest and marketing ,night stay at 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> Start for Pahelgam from Katra
								</p>
								<p class="aj">KATRA TO PAHALGAM night 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 Sightseeings
								</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.</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> Start for Srinagar from Pahalgam
								</p>
								<p class="aj">After lunch we will start for Srinagar. On arrival at Srinagar you will be transferred to hotel.</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> Trip to Sonmarg
								</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.</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> Trip to Gulmarg
								</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.</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> Srinagar Local Sight seeings
								</p>
								<p class="aj">In the morning 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), Hazratbal Mosque, return back to hotel. Evening free for marketing.</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 to Jammu
								</p>
								<p class="aj">SRINAGAR TO JAMMU night stay at JAMMU</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>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Train Fare or Air fare</li><li>
Train food</li><li>
Personal Expenses such as Laundry, telephone calls, tips & gratuity.</li><li>
Mineral or Packed water/soft/hard drinks.</li><li>
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.</li><li>
Camera fees, Guide / tour escort/ Guide charges & Entrance Fees at any monuments or garden.</li><li>
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances, etc (to be borne by the client, which has to paid directly on the spot).</li><li>
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.</li><li>
Service Tax, Insurance.</li><li>
Anything which is not include in the inclusion.</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.safarsarathi.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kashmir 8 Nights 9 Days 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="58391"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Kashmir 8 Nights 9 Days Tour - 8 Nights / 9 Days Tour Packages";i:2;s:137:"book kashmir 8 nights 9 days tour - 8 nights / 9 days tour packages, valley tour packages, jammu, katra, srinagar, pahalgam tour packages";i:3;s:190:"Book Kashmir 8 Nights 9 Days Tour - 8 Nights / 9 Days tour packages from Safar Sarathi Travels - Get attractive 8 Nights / 9 Days Valley  tour packages for  Jammu, Katra, Srinagar, Pahalgam.";i:4;s:1264:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Jammu, Katra, Srinagar, Pahalgam"        
		                 },
		      "description": "Katra (2 nights) With Vaishno Devi, Pahalgam (1 Night), Srinagar 
(4 Nights), Jammu (1 Night)Train Fare or Air fare
Train food
Personal Expenses such as Laundry, telephone calls, tips & gratuity.
Mineral or Packed water/soft/hard drinks.
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.
Camera fees, Guide / tour escort/ Guide charges & Entrance Fees at any monuments or garden.
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances, etc (to be borne by the client, which has to paid directly on the spot).
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.
Service Tax, Insurance.
Anything which is not include in the inclusion.",
		      "name": "Kashmir 8 Nights 9 Days Tour",
		      "telephone": "+91-9433792786"
		    }
		    </script>
			";i:5;N;}