a:6:{i:0;s:10188:"				<div class="h1"><h1>Magical Kashmir with Sonamarg Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.mobileplazatt.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.mobileplazatt.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Magical Kashmir with Sonamarg 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">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.mobileplazatt.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Magical Kashmir with Sonamarg 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="48398"/>
						</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_13/381965/94279.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/381965/94279.jpg"  width="150" height="150"    alt="Magical Kashmir with Sonamarg Tour" title="Magical Kashmir with Sonamarg 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> Srinagar - Arrival
								</p>
								<p class="aj">You are expected to reach Srinagar, for your enthralling experience to begin. Srinagar is the summer capital of Jammu and Kashmir and is one of the major tourist destinations in India. It is well known for the beautiful Mughal gardens, subtle lakes and the striking boat houses in the backdrop of the scenic view of the hills and the ranges.On arrival at Srinagar, you are taken to the jetty at Boulevard road and further taken to the houseboat. After checking in, lunch is served.</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 - Sonamarg
								</p>
								<p class="aj">In the morning, after breakfast, check out of your houseboat and prepare to leave for Sonmarg. Sonmarg means the meadow of gold is a popular tourist attraction in Kashmir. The location of the place is at an altitude of 2, 740 m and offers an amazing view against the Mountain ranges and refine sky. On reaching Sonmarg, check in at the hotel and enjoy your lunch. The 3 and a half hour drive to Sonmarg is through a spectacular view of the valley and the Sindh River. You can spend the evening at leisure, in the comfort of the hotel. After the dinner you stay overnight at the 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 3:</b> Sonamarg - Pahalgam
								</p>
								<p class="aj">In the morning, check out of the hotel after breakfast. Leave for Pahalgam and on the way, visit the Avantipur Ruins. You are suggested to leave Sonmarg in the morning around 8, to avoid traffic and to make it for the lunch at Pahalgam. It takes around 5 to 6 hours drive to reach  and once you reach, check in at the hotel and your lunch will be served. Later, in the evening, go out for sightseeing of the local market and nearby locations. After this short exploration, return back to the hotel and rest for the rest of the evening and stay over for the night.</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 (Sightseeing)
								</p>
								<p class="aj">In the morning, you leave for a short city excursion. Visit the Chandanwari, which is at an elevation of 3288 m and Betaab Valley, which offers a scenic view. Return to the hotel for lunch and leave soon after for another site, in the mouth of the Sheshnad River is a valley surrounded by snow clad mountain ranges and the lush green forests. In the evening, return back to the hotel and spend the rest of the evening at leisure. Later, the dinner is served and enjoy an overnight stay at the 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 5:</b> Pahalgam - Srinagar
								</p>
								<p class="aj">In the morning, after breakfast, you check out of the hotel and leave for Srinagar. Upon arrival in Srinagar, check into the hotel and enjoy the lunch that will be served. Followed by lunch, you start the city tour of the Shankaracharya Hill Temple and the  Mughal Gardens. Warm dinner will be served on your return to the hotel and retire for the night.</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 - Gulmarg - Srinagar
								</p>
								<p class="aj">Get up early morning and leave for Gulmarg after short breakfast. It is around 52 km away from Srinagar, on reaching Gulmarg, the exploration of the place is at your hand. Enjoy the panoramic view of the location, visit the local sites and the cable car ride is recommended, which takes you till the Khilanmarg Snow Point. Have lunch at the local restaurant and drive back to Srinagar in the evening. Dinner at the hotel followed by a night 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> Departure from Srinagar
								</p>
								<p class="aj">In the morning, after a hearty breakfast, head towards the airport for the onward journey. It is recommended, especially during the peak tourist seasons, you leave for the airport at least 4 hours early. The trip ends with your arrival at the airport.</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>
															</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.mobileplazatt.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Magical Kashmir with Sonamarg 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="48398"/>
						</form>
						</div>
						
						";i:1;s:73:"Book Magical Kashmir with Sonamarg Tour - 6 Nights / 7 Days Tour Packages";i:2;s:148:"book magical kashmir with sonamarg tour - 6 nights / 7 days tour packages, valley tour packages, srinagar, pahalgam, sonamarg, gulmarg tour packages";i:3;s:192:"Mobile Plaza Tour & Travels offers Magical Kashmir with Sonamarg Tour - 6 Nights / 7 Days tour package, budget Valley tour packages for Srinagar, Pahalgam, Sonamarg, Gulmarg at exciting price.";i:4;s:443:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Srinagar, Pahalgam, Sonamarg, Gulmarg"        
		                 },
		      "description": "",
		      "name": "Magical Kashmir with Sonamarg Tour",
		      "telephone": "+91-9831390524"
		    }
		    </script>
			";i:5;N;}