a:6:{i:0;s:10278:"				<div class="h1"><h1>Delightful Uttaranchal Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.aljazeeratravels.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.aljazeeratravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Delightful Uttaranchal 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">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Haridwar, Nainital, Dehradun, Binsar</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.aljazeeratravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delightful Uttaranchal 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="17360"/>
						</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_9/241811/29252.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/241811/29252.jpg"  width="150" height="150"    alt="Delightful Uttaranchal Tour" title="Delightful Uttaranchal 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> Dehradun - Haridwar - Auli
								</p>
								<p class="aj">Start from your hotel in Haridwar/Dehradun in the morning of day 01 of Delightful Uttaranchal tour and head for the masterpiece carved out in heaven- Clifftop Club, Auli. Reach Joshimath by 4 PM and enjoy Asia's highest and longest Ropeway connecting Joshimath-Auli 4Km/22 minutes. Reach Auli and transfer to the CliffTop Club, Auli (Worlds Second Highest Resort, 290 Km). Enroute enjoy the landscapes and scenery. Route to Auli is in parallel to most of the rivers like Ganga, Bhagirati, Alaknanda, Mandakini, Pindar etc.<br />
<br />
Enjoy Sunset on Nanda Devi (Worlds 4th highest peak) and other snow-clad ranges over a cup of Tea from your Room or Deck. Enjoy Bonfire, music and Dinner. Night stay at the Resort.</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 - Auli
								</p>
								<p class="aj">On day 02 of Delightful Uttaranchal, leave for local sightseeing tour of in/around Joshimath which is a summer seat of Bhagwan Vishnu instead of Badrinathji. Visit places like Tapovan Temple, Hot Sulphur Water Springs, Narsimha Temple, Shankracharya cave. Later board the Ropeway for Auli. Enjoy Sunset, bonfire, music and dinner. Overnight stay at the resort.</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> Auli - Kausani
								</p>
								<p class="aj">Leave for Kausani on day 03 of Delightful Uttaranchal tour. Described as 'Mini-Switzerland of India' by Mahatama Gandhi, visit Anashkati Ashram and Chay-Baghaat (Tea-Gardens) on reaching Kausani. View sunset over the largest 350 Km of Himalayan ranges. Dinner and overnight stay at the Suman Royal Resort.</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> Kausani - Binsar
								</p>
								<p class="aj">Head for Binsar (67 Km) on day 04. Binsar is famous for its Wild Life Sanctuary. Lunch at the Resort. Go for some Jungle walk or relax at the Resort, which is located right next to Wild life Sanctuary. Dinner and overnight stay at Binsar Retreat.</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> Binsar - Bhimtal
								</p>
								<p class="aj">Day 06 of Delightful Uttaranchal Tour begins with a journey to Bhimtal (52 Km). Enroute visit Ghorakhal (famous for Army School and a great view), Naukuchiyatal (lake with Nine Corners) and Sattal (7 lakes). Dinner and overnight stay at the Mountain Club Resort.</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> Bhimtal - Nainital
								</p>
								<p class="aj">After the Breakfast, leave for Nainital (18 Km)-the famous Lake City on day 06. Visit Khurpatal, Waterfalls, Hanuman Mandir, Observatory etc. Enjoy cable car ride to Tiffin Top and boating in Naini Lake. Go on a shopping spree at Tibetan market/Bhutia Bazaar at Flats and at the Mall Road. Dinner and overnight night stay at the Alpine Club Resort.</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> Nainital - Corbett
								</p>
								<p class="aj">Head for the World Famous Tiger Reserve-Corbett National Park (72 Km) on day 07 of Delightful Uttaranchal Tour. Corbett is famous for Tigers, leopards, elephants, Spotted Dear,etc. Enroute Visit Khurpatal and Water falls etc. Leave for Jeep safari (optional) right inside the Heart of Reserve Forest Core Zones and have a view of flora and fauna and if you are lucky enough you will get to see the great Tiger. Enjoy bonfire, music and dinner. Overnight stay at the Corbett Suman Grand Resort.</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> Corbett - Haridwar - Dehradun
								</p>
								<p class="aj">On day 08, leave for your journey back to Haridwar/Dehradun for your further journey to the onward destination.<br />
<br />
Indian Holiday offers online booking for the Delightful Uttaranchal tour, India. For booking or for more information, please fill up the form.</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.aljazeeratravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delightful Uttaranchal 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="17360"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Delightful Uttaranchal Tour - 7 Nights / 8 Days Tour Packages";i:2;s:148:"book delightful uttaranchal tour - 7 nights / 8 days tour packages, lakes & rivers tour packages, haridwar, nainital, dehradun, binsar tour packages";i:3;s:199:"Al-jazeera Tours & Travels Service offers Delightful Uttaranchal Tour - 7 Nights / 8 Days tour package, budget Lakes & Rivers tour packages for Haridwar, Nainital, Dehradun, Binsar at exciting price.";i:4;s:435:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Haridwar, Nainital, Dehradun, Binsar"        
		                 },
		      "description": "",
		      "name": "Delightful Uttaranchal Tour",
		      "telephone": "+91-9818386625"
		    }
		    </script>
			";i:5;N;}