a:6:{i:0;s:9386:"				<div class="h1"><h1>Delightful Uttarakhand Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.gomyjourney.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.gomyjourney.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Delightful Uttarakhand Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/17434/133295.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/17434/133295.jpg"  width="150" height="150"    alt="Delightful Uttarakhand Tour" title="Delightful Uttarakhand Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Haridwar, Nainital, Kausani, Corbett, Auli, Binsar</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.gomyjourney.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Delightful Uttarakhand Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="74682"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Delhi (Arrival) - Haridwar
									</p>
									<div class="data p10px">On reaching Delhi International Airport, meet our  representative who assists while you begin your road trip to Haridwar (6-7 hours journey). On reaching Haridwar, check-in to the resort. Haridwar is one of the seven holiest places for Hindus. The destination is popular for its spiritual and tranquil ambiance. People from all over the world visit the place to take a dip in the holy water of Ganga, which is believed to wash away all the sins.<br />
<br />
Stay overnight at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Dehradun - Haridwar - Auli
									</p>
									<div class="data p10px">This morning, you start driving from Haridwar to Auli. Set amid the snow-capped Garhwal Himalayas, Auli is a beautiful destination known for its scenic and unexplored beauty. The place is best known for its ski resorts, which makes it popular amongst skiers. The destination offers breathtaking views of the snow covered mountains all around.<br />
<br />
After reaching Joshimath, get ready to travel through Asia’s longest ropeway which connects Joshimath-Auli. On reaching Auli, take a transfer to the Hotel, Auli. En-route, enjoy looking at the picture perfect locations. You also get to enjoy spectacular views of Nanda Devi Peak.<br />
<br />
In the evening, enjoy bonfire with music and dinner. Stay overnight.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Joshimath - Auli
									</p>
									<div class="data p10px">In the morning, leave for a sightseeing tour in and around Joshimath, a small and beautiful hill town of Uttarakhand. The alluring valley is set at the foothills of the Himalayas and lies en-route from Haridwar to the sacred shrine of Badrinath (Lord Shiva).<br />
<br />
Visit major attractions of Joshimath like Narsimha Temple- dedicated to Lord Narasimha, the temple is one of the "Divya Desams" or the 108 Vishnu temples that were give immense respect by the 12 Alvars (poet-saints), Shankracharya Cave, Tapovan Temple and Hot Sulfur Water Spring. After sightseeing, board the ropeway back to Auli. Later, enjoy a bonfire along with music and stay overnight at Auli.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Auli - Kausani
									</p>
									<div class="data p10px">On this 4th day of the tour, start driving to Kausani. Kausani is a picturesque hill station set amid the snow covered mountains and lush greenery. Also known as ‘Mini-Switzerland of India’, Kausani is the perfect getaway from the hustle and bustle of city life. The place offers a serene and rejuvenating ambiance to all the travelers where they can unwind. Visit attractions of Kausani like Anashakti Ashram- a study cum research center, which also has a museum and accommodation unit and Chay-Baghaat- tea gardens located at the outer ridge of the town. There are a number of view points at Kausani, where you can enjoy the sunset views over the Himalayan ranges. After sightseeing, return to the hotel for dinner and overnight stay.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Kausani - Binsar
									</p>
									<div class="data p10px">This morning, you leave for your next destination, Binsar. Binsar is popular for its wildlife sanctuary. Nature lovers and wildlife enthusiasts visit the destination from all over for its exotic wildlife, variety of trees, bushes and grasses. After having your lunch at the resort, go for a stroll around the place or just relax in your room. Have your dinner and stay overnight at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Binsar - Nainital
									</p>
									<div class="data p10px">Today, on day 6, have breakfast and start driving to Nainital. Positioned in the Himalayan belt of the Kumaon hills, this lovely hill town is an ideal visit for nature lovers. A lovely holiday destination it is a number of placid lakes, surrounded by stunning scenery. Nainital is popular in tourists of all age-groups. On arrival, check into the hotel. Later on, get ready for exploring this beautiful place, starting from Naina Devi Temple, placed on the northern banks of Naini Lake. Next, visit the church of St. John in the Wilderness. Founded way back in the 1844, it lies on the north end of town (Mallital).<br />
<br />
Overnight stay in Nainital.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 7: Nainital
									</p>
									<div class="data p10px">In the morning, today get ready for sightseeing in Nainital. Visit the lovely Naini Lake- the backbone of the city, Governor's House- also known Raj Bhavan. It was constructed in 1899 and is Victorian Gothic domestic structure. The next visit is to the Snow View, which is accessible by a cable car ride. Also called Sher-ka-danda Ridge, it offers breathtaking views of the surroundings. Head towards The Mall road, running along the lake banks, which is now known as Govind Ballabh Pant Marg. This road has several shops and restaurants. If you wish to see touristy activity, this is the place. Spend a memorable evening here.<br />
<br />
Stay overnight.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 8: Departure
									</p>
									<div class="data p10px">Today, on the last day of the tour, get transferred to Delhi Airport for boarding flight for your onward journey.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
													<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Sightseeing</li>
																	</ul>
							<br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:66:"Book Delightful Uttarakhand Tour - 7 Nights / 8 Days Tour Packages";i:2;s:165:"book delightful uttarakhand tour - 7 nights / 8 days tour packages, valley tour packages, new delhi, haridwar, nainital, kausani, corbett, auli, binsar tour packages";i:3;s:218:"Book Delightful Uttarakhand Tour - 7 Nights / 8 Days tour packages from Go My Journey Pvt Ltd - Get attractive 7 Nights / 8 Days Valley  tour packages for  New Delhi, Haridwar, Nainital, Kausani, Corbett, Auli, Binsar.";i:4;s:460:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Haridwar, Nainital, Kausani, Corbett, Auli, Binsar"        
		                 },
		      "description": "",
		      "name": "Delightful Uttarakhand Tour",
		      "telephone": "+91-9711877344"
		    }
		    </script>
			";i:5;N;}