a:6:{i:0;s:8577:"				<div class="h1"><h1>Best Of Uttranchal Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.geetcompany.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Best Of Uttranchal 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/22362/55162.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/55162.jpg"  width="150" height="150"    alt="Best Of Uttranchal Tour" title="Best Of Uttranchal Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Tour Code :</b> 127</p>
												<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Nainital, Ranikhet</p>
												<p><b>Price (Starting From) :</b>						
						INR 20800 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Best Of Uttranchal 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="28131"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
											<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 - Corbett (6-7 hrs Drive)
									</p>
									<div class="data p10px">Pick up from Delhi and leave for Corbett. On arrival, check in into the hotel, rest of the day at leisure. Dinner and overnight at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Corbett Optional Jeep Safari at the Park
									</p>
									<div class="data p10px">Today proceed for an early morning jungle safari. Later enjoy breakfast and spend the rest of the day at leisure. Dinner and overnight at hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Corbett - Ranikhet (3 hrs drive)
									</p>
									<div class="data p10px">This morning, continue your journey to the Ranikhet. On arrival, check in into your hotel, rest of the day at leisure. Dinner and overnight at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Ranikkhet
									</p>
									<div class="data p10px">Today post breakfast proceed for the local sightseeing tour of Ranikhet. Evening at leisure. Dinner and overnight at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Ranikhet - Nainital (2 hrs drive)
									</p>
									<div class="data p10px">This morning after breakfast, proceed your picturesque drive to Nainital. On arrival check in into the hotel, evening at leisure on the Mall road. Dinner and overnight at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Nainital
									</p>
									<div class="data p10px">After breakfast, leave for sightseeing trip of Nainital. Enjoy cable car ride (on direct payment basis) and Boat Ride on Naini Lake (On direct payment basis) in the evening. Dinner and overnight at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 7: Nainital - Delhi (8 - 9 hrs drive)
									</p>
									<div class="data p10px">This morning after breakfast, leave for Delhi.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Corbett<br />
Corbett National Park situated in the foothills of the Himalayas, in the newly created state of Uttarakhand is haven for wildlife lovers in India. The present area of the Corbett national park is 1318.54 sq. km. including 520 sq. km. of core area of and 797.72 sq. km. of buffer area. The core area of the Corbett tiger reserve forms the  Corbett National Park while the buffer contains reserve forests (496.54 sq.km.) as well as the Sonanadi Wildlife Sanctuary (301.18 sq.km.) Flat valleys are interspersed with hilly ridges and the Park's rolling grasslands provide an excellent view of its rich eco system. <br />
<br />
Ranikhet<br />
Ranikhet is a new district, carved out of Almora district. The town of Ranikhet, at an altitude of 1,900m (6233ft) within sight of the snow clad western Himalayas, is the perfect quaint little hill town. According to local legend, King Raja Sudhardev won the heart of his queen, Rani Padmini, here. She subsequently chose the area for her residence, giving it the name Ranikhet which means Queen's Meadow. It was the British, though, who lent the town its colonial undertones and set the headquarters for the Kumaun Regiment here, using the hill station as a retreat from the heat of the Indian summer. The Edge of India Ranikhet area comprises Ranikhet and Kothiyan.<br />
<br />
Nainital<br />
Nainital is a glittering jewel in the Himalayan necklace, blessed with scenic natural splendour and varied natural resources. Dotted with lakes, Nainital has earned the epithet of 'Lake District' of India. The most prominent of the lakes is Naini lake ringed by hills. Nainital has a varied topography . Some of the important places in the district are Nainital , Haldwani, Kaladhungi, Ramnagar, Bhowali, Ramgarh , Mukteshwar, Bhimtal, Sattal and Naukuchiatal. Nainital’s unending expense of scenic beauty is nothing short of a romance with awe-inspiring and pristine Mother Nature.3.09% Government Service Tax.<br />
Any expenses of personal nature like laundary, beverages, tips etc.<br />
Jeep safari at Corbett National park.<br />
Boat ride and cable car ride at Nainital.<br />
Any services other then mentioned in Cost Includes.01-1031-03							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Sightseeing</li>
																				<li>Transport</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>3.09% Government Service Tax.</li><li>
Any expenses of personal nature like laundary, beverages, tips etc.</li><li>
Jeep safari at Corbett National park.</li><li>
Boat ride and cable car ride at Nainital.</li><li>
Any services other then mentioned in Cost Includes.</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:62:"Book Best Of Uttranchal Tour - 6 Nights / 7 Days Tour Packages";i:2;s:118:"book best of uttranchal tour - 6 nights / 7 days tour packages, valley tour packages, nainital, ranikhet tour packages";i:3;s:149:"Geet & Company offers Best Of Uttranchal Tour - 6 Nights / 7 Days tour package, budget Valley tour packages for Nainital, Ranikhet at exciting price.";i:4;s:2554:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Nainital, Ranikhet"        
		                 },
		      "description": "Corbett
Corbett National Park situated in the foothills of the Himalayas, in the newly created state of Uttarakhand is haven for wildlife lovers in India. The present area of the Corbett national park is 1318.54 sq. km. including 520 sq. km. of core area of and 797.72 sq. km. of buffer area. The core area of the Corbett tiger reserve forms the  Corbett National Park while the buffer contains reserve forests (496.54 sq.km.) as well as the Sonanadi Wildlife Sanctuary (301.18 sq.km.) Flat valleys are interspersed with hilly ridges and the Park's rolling grasslands provide an excellent view of its rich eco system. 

Ranikhet
Ranikhet is a new district, carved out of Almora district. The town of Ranikhet, at an altitude of 1,900m (6233ft) within sight of the snow clad western Himalayas, is the perfect quaint little hill town. According to local legend, King Raja Sudhardev won the heart of his queen, Rani Padmini, here. She subsequently chose the area for her residence, giving it the name Ranikhet which means Queen's Meadow. It was the British, though, who lent the town its colonial undertones and set the headquarters for the Kumaun Regiment here, using the hill station as a retreat from the heat of the Indian summer. The Edge of India Ranikhet area comprises Ranikhet and Kothiyan.

Nainital
Nainital is a glittering jewel in the Himalayan necklace, blessed with scenic natural splendour and varied natural resources. Dotted with lakes, Nainital has earned the epithet of 'Lake District' of India. The most prominent of the lakes is Naini lake ringed by hills. Nainital has a varied topography . Some of the important places in the district are Nainital , Haldwani, Kaladhungi, Ramnagar, Bhowali, Ramgarh , Mukteshwar, Bhimtal, Sattal and Naukuchiatal. Nainital’s unending expense of scenic beauty is nothing short of a romance with awe-inspiring and pristine Mother Nature.3.09% Government Service Tax.
Any expenses of personal nature like laundary, beverages, tips etc.
Jeep safari at Corbett National park.
Boat ride and cable car ride at Nainital.
Any services other then mentioned in Cost Includes.01-1031-03",
		      "name": "Best Of Uttranchal Tour",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;}