a:6:{i:0;s:11263:"				<div class="h1"><h1>Auli Tour Package from Delhi</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.highspiritadventures.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.highspiritadventures.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Auli Tour Package from Delhi</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">New Delhi, Haridwar, Rishikesh, Auli, Jyotirmath</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.highspiritadventures.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Auli Tour Package from Delhi - 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="71771"/>
						</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/445618/129392.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/445618/129392.jpg"  width="150" height="150"    alt="Auli Tour Package from Delhi" title="Auli Tour Package from Delhi" /></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 - Haridwar (230 kms, 5-6 hrs drive
								</p>
								<p class="aj">In the morning, after breakfast, begin your drive to Haridwar. On arrival, complete the check-in formalities at the hotel. You are now free. One of the holiest places for Hindus, Haridwar is largely visited by devotees of Lord Shiva and River Goddess Ganga. The venue of Magh Mela and world-renowned Kumbh Mela, Haridwar is a treat for your spiritual and religious self. In the evening, visit the largest of sacred bathing ghats of Haridwar: Har-ki-Pauri for attending the spectacular Ganga Aarti, a sight that you will remember for your lifetime.<br />
<br />
Stay overnight.</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> Haridwar – Joshimath (276 km, 8-9 hours' drive)
								</p>
								<p class="aj">Post breakfast, get on the road and start driving to Joshimath. On the way, halt at Devprayag (one of the Panch Prayag of River Alaknanda where it meets with River Bhagirathi), Rudraprayag (the meeting point of River Alaknanda and River Mandakini) and Karnprayag (the confluence of Rivers Alaknanda and Pindar). As you reach Joshimath, check in at the hotel Hotel. If time and energy permits, you can explore the surroundings. The gateway to Hem Kund and Badrinath, Joshimath receives a huge number of Sikh and Hindu between May and October. It is also the base for a number of popular treks such as Kuari Pass Trek and Valley of Flower trek.<br />
<br />
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 3:</b> Joshimath – Auli (16 km, 2 hours' drive)
								</p>
								<p class="aj">On the 3rd day after breakfast, start your drive to Auli 16 km. Lying between the altitude range of 2500 m to2050 m, Auli is one of premier Skiing Resort in India. If you do not wish to travel by road, the other option is to take the 3.9 km cable car ride. The longest cable car ride in Asia, it takes you to a scenic Ski resort. On the way, treat your eyes to the mesmerizing views of the surroundings. On arriving, complete the check-in. Later on, you can enjoy Skiing on the slopes of Auli with the assistance of the resort's instructors. The day is going to be an exciting one.<br />
<br />
Overnight stay at one of the resorts in Auli.</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> Auli
								</p>
								<p class="aj">You can partake in Skiing at Auli, on a full board basis. Skiing equipment will be made available to you. If you are a beginner, you are going to get full assistance. The ski slopes offer a panoramic view of high Himalayan peaks including Nanda Devi, 7818 m. A 500 m long ski-lift and an 800 m long chair-lift connect the upper and lower snow slopes of Auli.<br />
<br />
You can visit Gurso Bugyal, a picturesque location from where you get to enjoy magnificent views of Trishul Peak, Dron Parvat and Nanda Devi adding on to its beauty is the green surrounding that makes it look more enthralling. Within close vicinity, lies Chattrakund, a pristine lake that is known for its crystal clear blue waters. It is also an ideal picnic spot for those who love nature and its silence. Another important attraction you may visit in Auli is Auli Artificial Lake which is one of the highest man-made lakes in the World. Surrounded by mighty peaks of Himalayas, the lake was developed by government to produce artificial snow.<br />
<br />
Overnight stay in Auli.</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> Auli - Rishikesh (254 km, 7-8 hours' drive)
								</p>
								<p class="aj">Today, you visit the popular religious sites of the area- Narsingh Temple and Shankracharaya Math. Later in the day, hit the road to Rishikesh- the yoga capital of the World, which is home to several Ashrams. As you reach, check into the hotel. Rishikesh shot to fame in the world when the Beatles came here to visit the Maharishi Mahesh Yogi's Ashram. If time and energy permits, you can explore the surroundings on your own. Rishikesh is just 24 km from Haridwar. The place is not only known for its ashrams, yoga and meditation opportunities, but it is also popular as a river rafting destination.<br />
<br />
Stay Overnight.</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> Rishikesh – Delhi for departure (230 km, 5-6 hours' drive)
								</p>
								<p class="aj">After breakfast on the 6th day of the tour, partake in sightseeing of Rishikesh including Ram Jhula- a popular landmark erected in 1986, this iron suspension bridge over River Ganges is placed at Muni ki Reti; Laxman Jhula- another iron bridge over the Ganges, it is 450 feet in length; Triveni Ghat- the confluence of holy Rivers Ganga, Yamuna and Saraswati, it is also a revered bathing spot; Parmarth Niketan Ashram- founded in 1942 by Pujya Swami Shukdevanandji Maharaj, it is placed on the banks of the Ganges; Sivananda Ashram- another popular ashram offering Yoga and Meditation along with propounding a simple way of life; and Gita Kutir Tapovan Ashram- founded in 1974 by Sri Gita Nand ji Maharaj- the ashram works for social welfare of saints, yogis and monks. Thereafter, start driving Delhi. Get transferred to the airport/railway station for your onward journey.</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.highspiritadventures.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Auli Tour Package from Delhi - 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="71771"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Auli Tour Package from Delhi - 5 Nights / 6 Days Tour Packages";i:2;s:153:"book auli tour package from delhi - 5 nights / 6 days tour packages, valley tour packages, new delhi, haridwar, rishikesh, auli, jyotirmath tour packages";i:3;s:192:"High Spirit Adventures offers Auli Tour Package from Delhi - 5 Nights / 6 Days tour package, budget Valley tour packages for New Delhi, Haridwar, Rishikesh, Auli, Jyotirmath at exciting price.";i:4;s:448:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Haridwar, Rishikesh, Auli, Jyotirmath"        
		                 },
		      "description": "",
		      "name": "Auli Tour Package from Delhi",
		      "telephone": "+91-8629029169"
		    }
		    </script>
			";i:5;N;}