a:6:{i:0;s:11621:"				<div class="h1"><h1>Golden Triangle Kashmir Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.hussaintours.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.hussaintours.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Golden Triangle Kashmir 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">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Srinagar, Jaipur, Agra, Anantnag, Baramulla, Ganderbal</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.hussaintours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Golden Triangle Kashmir 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="73219"/>
						</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/387846/131298.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/387846/131298.jpg"  width="150" height="150"    alt="Golden Triangle Kashmir Tour" title="Golden Triangle Kashmir 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> Delhi
								</p>
								<p class="aj">Upon arrival in Delhi, meet & greet with our representative and your dream journey begins here. Our transfer representatives will help you to check-in at hotel. Overnight stay at 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 2:</b> Delhi - Agra
								</p>
								<p class="aj">After breakfast at hotel, proceed for sightseeing of Delhi, visit to Qutub Minar, Humayun Tomb, Lotus Temple Raj Ghat, India gate etc, after sightseeing drive towards Agra. On arrival in Agra check-in at hotel for 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 3:</b> Agra - Jaipur
								</p>
								<p class="aj">After breakfast at hotel, enjoy sightseeing of Agra and explore one of the Seven Wonders of the World "The Taj Mahal" and Agra Fort, after that see the world famous Marble inlay work demonstration at Marble factory. Later drive towards Jaipur via sightseeing of Fatehpur Sikri. On arrival in Jaipur check-in at hotel for 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 4:</b> Jaipur
								</p>
								<p class="aj">After breakfast at hotel, enjoy sightseeing of Jaipur and visiting Amer Fort on the back of Elephant what mughal rulers did duing mughal era. Later visit to Hawa Mahal, Jal Mahal, City Palace & Museum, Jantar Mantar etc. After sightseeing visit to Silk Factory to see the Demonstration of Rajasthani block printing & World famous handmade carpets. Later back to hotel. Night stay at 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> Jaipur - Delhi
								</p>
								<p class="aj">After breakfast at hotel, proceed to Delhi. On arrival in Delhi check-in at hotel. Later enjoy sightseeing of Old Delhi, visit to Raj Ghat, Red Fort, Jama Masjid & Rickshaw ride at narrow passages of old Delhi and Chandni Chawk etc. After sightseeing back to hotel. Night stay at 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> Delhi - Srinagar & Gulmarg Excursion
								</p>
								<p class="aj">After breakfast at hotel, transfer the guests to Delhi airport to board the flight for Srinagar (In one word Kashmir is called - The paradise on Earth and it is famous for the beautiful Mughal Gardens, lakes dotted with Shikaras and Houseboats etc). Arrive Srinagar and proceed for Gulmarg excursion (56 km 2 hrs). (Gulmarg is called - The Meadow of flowers situated at an altitude of 2730 meters), on arrival in Gulmarg enjoy pony ride or Gondola ride (rope way) to Khillanmarg and walks on the lush green meadows of flowers with a backdrop of the snow capped mountains, After sightseeing back to Srinagar. On arrival check-in at traditional houseboat/hotel with a warm welcome by Kehwa (Kashmiri Tea). Night stay at hotel/Houseboat.</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 - Sonamarg - Srinagar
								</p>
								<p class="aj">After breakfast at hotel, excursion to Sonamarg (83 kms, 2-3 hrs) (Sonmarg is called - The Golden Meadow. Sonamarg is the base for some interesting treks to the high altitude of Himalayan Lakes and lies in Sindh Valley streamed with flowers and surrounded by mountains.), enjoy horse riding upto Thajwas glacier and sledge riding on snow, later drive back to Srinagar. On arrival enjoy sightseeing of Srinagar by visiting Mughal gardens built by Emperor Jehangir, The Shalimar bagh, Nishat bagh with other beautiful gardens located on the eastern side of the Dal lake. Night stay at hotel/Houseboat.</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 - Pahalgam -Srinagar
								</p>
								<p class="aj">After breakfast at hotel, full day excursion to Pahalgam (Pahalgam valley is also called the valley of Shepherds and surrounded with snow capped mountains and pine forests) (94 kms 3-4 hrs), on the way visiting saffron fields. On arrival in Pahalgam enjoy sightseeing of Pahalgam, visit to Avantipura Ruins, Anantnag Sulpher Springs and walk through the pine trees along with river lidder. Evening back to Srinagar. Night stay at hotel/Houseboat.</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 - Delhi
								</p>
								<p class="aj">Early morning enjoy Shikara ride at Dal Lake to explore local vegetable market, floating gardens, char chinar etc. Later back to hotel for breakfast. After breakfast at hotel, transfer the guests to Srinagar airport to board the flight for Delhi. On arrival in Delhi check-in at hotel. Night stay at 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 10:</b> Departure
								</p>
								<p class="aj">After breakfast at hotel, enjoy last minute sightseeing & shopping in Delhi. Later transfer the guests to Delhi International airport to board the flight for onward journey and tour terminates.</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.hussaintours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Golden Triangle Kashmir 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="73219"/>
						</form>
						</div>
						
						";i:1;s:68:"Book Golden Triangle Kashmir Tour - 9 Nights / 10 Days Tour Packages";i:2;s:171:"book golden triangle kashmir tour - 9 nights / 10 days tour packages, valley tour packages, new delhi, srinagar, jaipur, agra, anantnag, baramulla, ganderbal tour packages";i:3;s:217:"Book Golden Triangle Kashmir Tour - 9 Nights / 10 Days tour packages from Hussain Tours - Get attractive 9 Nights / 10 Days Valley  tour packages for  New Delhi, Srinagar, Jaipur, Agra, Anantnag, Baramulla, Ganderbal.";i:4;s:465:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Srinagar, Jaipur, Agra, Anantnag, Baramulla, Ganderbal"        
		                 },
		      "description": "",
		      "name": "Golden Triangle Kashmir Tour",
		      "telephone": "+91-9411923927"
		    }
		    </script>
			";i:5;N;}