a:6:{i:0;s:11100:"				<div class="h1"><h1>Auli Tour Package from Delhi</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.uttarakhandnainitaltaxi.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.uttarakhandnainitaltaxi.com/holiday-packages.htm" title="Holiday Packages">Holiday 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, Joshimath, Rishikesh, Auli</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.uttarakhandnainitaltaxi.com/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="119864"/>
						</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_17/492913/194280.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/492913/194280.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> Arrival
								</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
								</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
								</p>
								<p class="aj">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
								</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> Departure
								</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.uttarakhandnainitaltaxi.com/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="119864"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Auli Tour Package from Delhi - 5 Nights / 6 Days Tour Packages";i:2;s:162:"book auli tour package from delhi - 5 nights / 6 days tour packages, adventure sports tour packages, new delhi, haridwar, joshimath, rishikesh, auli tour packages";i:3;s:213:"Book Auli Tour Package from Delhi - 5 Nights / 6 Days tour packages from Kumaon Tour Travels - Get attractive 5 Nights / 6 Days Adventure Sports  tour packages for  New Delhi, Haridwar, Joshimath, Rishikesh, Auli.";i:4;s:446:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Haridwar, Joshimath, Rishikesh, Auli"        
		                 },
		      "description": "",
		      "name": "Auli Tour Package from Delhi",
		      "telephone": "91-8449308888"
		    }
		    </script>
			";i:5;N;}