a:6:{i:0;s:10033:"				<div class="h1"><h1>Valley of Flowers Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.rapidactionexpedition.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.rapidactionexpedition.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Valley of Flowers 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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Haridwar, Chamoli, Joshimath</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.rapidactionexpedition.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Valley of Flowers 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="101009"/>
						</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_15/446641/169646.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/446641/169646.jpg"  width="150" height="150"    alt="Valley of Flowers Tour" title="Valley of Flowers Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					The most beautiful of all Himalayan flowers, the blue Primula can be seen blooming in thousands in the valley. The best time to see the valley in full bloom is from mid July to mid August.To reach the valley one has to trek from Govind Ghat, on the route to Hemkund Sahib, upto Ghangaria, 12 kms ahead.Few furlongs ahead of Ghangaria the trek route to the valley takes a detour towards left. The valley is about 5 kms from Ghangaria. The high altitude serine lake, known as Hemkund ( 4329 mts.) lies in heavenly environs. A steep trek from Ghangharia leads one to this spot in about four to six hours. It is an important pilgrimage for both Hindus and Sikhs, as well as for people from other faiths. There is a Sikh Gurudwara and a Lakshman temple built on the bank of the lake. Encircled by seven snow clad peaks and their associated glaciers, it reflects its surroundings enchantingly on its crystal clear serene waters. The glaciers from Hathi Parvat and Saptrishi peaks feed the lake and a small stream called Himganga flows out of this lake. As alluded to, in the holy Granth Sahib, Guru Govind Singh, the tenth Guru of the Sikh faith had meditated on the bank of this lake in one of his earlier births. It is widely believed among Sikhs that Guru Govind Singh introduced the features now universally associated with Sikhism. On 15th April 1699, he started the new brotherhood called the Khalsa (meaning the pure, from the Persian word 'Khales') an inner core of the faithful, accepted by baptism (amrit). The five K's' date from this period: kesh (uncut hair) kangha (comb), kirpan (dagger or short sword), kara (steel bangle), and kachh (boxer shorts).1. Any kind of personal expenses.<br />
2. Food during the transit.<br />
3. Insurance.<br />
4. Mules or porter to carry personal luggage.<br />
5. Anything not specifically mentioned under the head Price Includes.<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> Haridwar - Joshimath
								</p>
								<p class="aj">Morning after breakfast, drive to reach Joshimath (1874 mt / 253Km) which is the winter abode of Lord Badrinath. Lunch enroute. Evening arrive at Joshimath and check into the hotel Overnight: 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> Joshimath - GovindGhat - Ghangaria Trek
								</p>
								<p class="aj">After breakfast, drive to reach Govindghat (1828 mt / 22Km). Start trekking to reach Ghangaria(3049 mt / 14 km Trek) with packed lunch. Ghangaria is also known as GOVIND DHAM, It is the base camp for visiting Hemkund Sahib and Valley of Flowers Overnight: 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> Ghangaria - Hemkund - Ghangaria
								</p>
								<p class="aj">Early in the morning start trekking (7 Km) to reach "HEMKUND SAHIB". One of the most revered of all Sikh Shrines, The Hemkund Sahib, the World’s Highest Gurudwara, is situated at an altitude of 4,329 mts. In the afternoon trek down to reach Ghangariya for overnight stay. Evening is free for rest & relaxation. 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 4:</b> Ghangaria - Valley of Flower - Ghangaria.
								</p>
								<p class="aj">Trek to the Valley of Flowers. The whole valley is dotted with varieties of exotic flowers and other flora. Return to Ghangria for 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 5:</b> Ghangaria - GovindGhat – Badrinath- Joshimath
								</p>
								<p class="aj">4 Km return trek to Govindghat and then drive to Joshimath via Badrinath . On arrival, check into hotel. Overnight: 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> Joshimath- Haridwar.
								</p>
								<p class="aj">Morning breakfast and drive to haridwar. On arrival transfer to the station time to catch train. Overnight: Hotel</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">Exclusions :</p> <ul><li>1. Any kind of personal expenses.</li><li>
2. Food during the transit.</li><li>
3. Insurance.</li><li>
4. Mules or porter to carry personal luggage.</li><li>
5. Anything not specifically mentioned under the head Price Includes.</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.rapidactionexpedition.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Valley of Flowers 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="101009"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Valley of Flowers Tour - 5 Nights / 6 Days Tour Packages";i:2;s:129:"book valley of flowers tour - 5 nights / 6 days tour packages, trekking tour packages, haridwar, chamoli, joshimath tour packages";i:3;s:184:"Book Valley of Flowers Tour - 5 Nights / 6 Days tour packages from Rapid Action Expedition - Get attractive 5 Nights / 6 Days Trekking  tour packages for  Haridwar, Chamoli, Joshimath.";i:4;s:2276:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Haridwar, Chamoli, Joshimath"        
		                 },
		      "description": "The most beautiful of all Himalayan flowers, the blue Primula can be seen blooming in thousands in the valley. The best time to see the valley in full bloom is from mid July to mid August.To reach the valley one has to trek from Govind Ghat, on the route to Hemkund Sahib, upto Ghangaria, 12 kms ahead.Few furlongs ahead of Ghangaria the trek route to the valley takes a detour towards left. The valley is about 5 kms from Ghangaria. The high altitude serine lake, known as Hemkund ( 4329 mts.) lies in heavenly environs. A steep trek from Ghangharia leads one to this spot in about four to six hours. It is an important pilgrimage for both Hindus and Sikhs, as well as for people from other faiths. There is a Sikh Gurudwara and a Lakshman temple built on the bank of the lake. Encircled by seven snow clad peaks and their associated glaciers, it reflects its surroundings enchantingly on its crystal clear serene waters. The glaciers from Hathi Parvat and Saptrishi peaks feed the lake and a small stream called Himganga flows out of this lake. As alluded to, in the holy Granth Sahib, Guru Govind Singh, the tenth Guru of the Sikh faith had meditated on the bank of this lake in one of his earlier births. It is widely believed among Sikhs that Guru Govind Singh introduced the features now universally associated with Sikhism. On 15th April 1699, he started the new brotherhood called the Khalsa (meaning the pure, from the Persian word 'Khales') an inner core of the faithful, accepted by baptism (amrit). The five K's' date from this period: kesh (uncut hair) kangha (comb), kirpan (dagger or short sword), kara (steel bangle), and kachh (boxer shorts).1. Any kind of personal expenses.
2. Food during the transit.
3. Insurance.
4. Mules or porter to carry personal luggage.
5. Anything not specifically mentioned under the head Price Includes.",
		      "name": "Valley of Flowers Tour",
		      "telephone": "+91-9411191687"
		    }
		    </script>
			";i:5;N;}