a:6:{i:0;s:19954:"				<div class="h1"><h1>Uttarakhand Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.vramanspecial.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.vramanspecial.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Uttarakhand 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">Tour Code </td>
						<td class="p5px pl0px vat">vs 17</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Mussoorie, Haridwar, Nainital, Almora, 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.vramanspecial.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Uttarakhand 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="25078"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_10/288519/49194.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49194.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49184.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49184.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49193.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49193.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49192.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49192.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49191.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49191.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49190.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49190.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49189.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49189.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49188.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49188.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49187.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49187.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49186.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49186.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49185.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49185.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
																		<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_10/288519/49195.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/288519/49195.jpg"  width="150" height="150"    alt="Uttarakhand Tour" title="Uttarakhand Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Additional / personal use of vehicle.<br />
Any personal expenses, room service and special orders, mineral / packed waters, alcoholic and non alcoholic beverages, porterage, tips.<br />
Any extra excursions or sightseeing apart from the above specified itinerary.<br />
Camera fees, guide charges.<br />
Any incidental and other expenses which are not specified in the inclusions.<br />
Govt service tax - 3.09 % applicable on total billing.<br />
Air ticket / rail ticket<br />
Camera fees (still or movie).,<br />
laundry, horse ride,<br />
Any kind of personal expenses such as monument Fees, laundry, telephone bills and alcoholic beverages. <br />
Anything not specified in the itinerary<br />
Unspecified meals.<br />
Local car ride.<br />
Cable car ride.<br />
Boat ride.31-0831-03<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> Ranikhet
								</p>
								<p class="aj">Get picked up from Kathgodam railway station to proceed to Ranikhet. As you take off from Kathgodam, you shall view beautiful mountain ranges. On the way you will see charming Crystal Water Lake at Bhimtal and you will pass by popular Bhowali and Kanchi Dham temple before reaching Ranikhet. This is a very well-maintained and clean hill station, it being an army area. Have lunch and then rest for a while. In the evening visit to Green Chaubatia Garden and Jhula Devi temple. <br />
Rest for the night at Ranikhet.</p>					
									<p><b>Meals : </b> Tea Breakfast and Dinner</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> Ranikhet to Nainital
								</p>
								<p class="aj">After breakfast, you will explore Major Somnath Memorial Ground, and then visit Kumaon Regiment Museum on your way to Nainital. In Ranikhet you can enjoy eating various seasonal fruits. After tea, you can go shopping and walking on Nainital’s famous Mall Road. After a delicious dinner, <br />
<br />
Rest for the night in Nainital.</p>					
									<p><b>Meals : </b> Tea Breakfast and Dinner</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> Nainital
								</p>
								<p class="aj">After breakfast you will be visiting Nainital Zoo where you will be ‘introduced’ to the world famous Siberian Tiger. This Zoo is one of the main tourist attractions of Nainital. After lunch, you will enjoy a boat ride for two hours in the 2.5 km long Crystal Water Lake. After a joyful boat ride, you shall look at the Nainital city from some height riding in a cable car; this car will take you even high above the tallest hilltop in the area. In the evening go for a walk again on famous Mall Road, have dinner <br />
<br />
Rest for the night in Nainital</p>					
									<p><b>Meals : </b> Tea Breakfast and Dinner</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> Nainital to Corbett National Park
								</p>
								<p class="aj">After breakfast, you will visit some other tourist attractions of Nainital and then will reach Corbett National Park which is the biggest natural habitat for Royal Bengal Tiger via Kaladhungi. After lunch, you will go on an exploratory trip of the jungle. Here you will come across wild animals like Deer, Elephant, Tiger, Sambhar and Wild boar. You will roam ‘free’ on a Gypsy with a guide and driver among wild animals roaming at large. <br />
<br />
Night at resort/ hotel</p>					
									<p><b>Meals : </b> Tea Breakfast and Dinner</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> Corbett National Park to Haridwar
								</p>
								<p class="aj">After morning tea, you will go to Kosi River and will take a bath in its White Water underneath a mysterious blue sky. It’s a very pleasurable activity to walk barefoot on soft green grass. After breakfast, you will be visiting Girija Devi temple and Dhangarhi museum. In the museum, you will learn more about the park and about the culture of the hill people. After lunch you will leave for Hardwar. This four-hour long journey will take you through the cities of Kashipur and Nazimabad. After reaching Haridwar in the afternoon, rest for a while and visit the fabled Har-ki-Pauri in the evening, take a dip in the waters of Mother Ganga. In the night stroll through Haridwar markets and also visit temples in the vicinity. <br />
<br />
Stay for the night in Haridwar.</p>					
									<p><b>Meals : </b> Tea Breakfast and Dinner</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> Haridwar
								</p>
								<p class="aj">Haridwar is considered one of the most sacred places in India. Settled along the banks of Mother Ganga, Haridwar is an ancient town of Hindu pilgrimage and religion. You wake up in the morning to the chants of Hindu scriptures in a place habituated by sadhus, yogis and religious people of all kinds. After breakfast go walking to the Mansa Devi and Chamunda Devi temple and stroll on the Mall Road. Have lunch at the Hotel and have a walking tour of Haridwar in the evening. <br />
<br />
Night stay in Haridwar.</p>					
									<p><b>Meals : </b> Tea Breakfast and Dinner</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> Haridwar to Rishikesh
								</p>
								<p class="aj">In the morning get ready to look at the highest temple of Haridwar trevelling to it by Ropeway. It’s an out of this out of this world experience to look at the Mother Ganga; you will not be able to look at the other bank of Ganga from this height. After lunch, visit historical Lakshman Jhula and Ram Jhula in Rishikesh. Rishikesh too is one of India’s most revered spiritual centres and is settled along the banks of Mother Ganga. It’s known the world over for White Water River Rafting. <br />
<br />
Night in Rishikesh.</p>					
									<p><b>Meals : </b> Tea Breakfast and Dinner</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> Rishikesh to Auli
								</p>
								<p class="aj">Early in the morning visit Swargashram and experience union of the soul with the supreme soul. Return to the hotel, have breakfast and proceed for Auli. During this journey to Auli, you remain amidst mountains and rivers. You will be scared but will feel thrilled. From Joshimath, you will get on India’s longest 14 km Ropeway to reach your hotel. This could be for the first time; you will travel on such a long Ropeway. Ropeway travel is available only in winters since roads are closed due to heavy snow fall. In summer season, roads are clear and you are taken by road to the ITBP centre.<br />
Auli is known for its facilities for winter games. You must experience skiing in Auli and ice hockey. Your visit to Auli is not complete without going for skiing and ice hockey. You can indulge in any of these activities in the evening. <br />
<br />
Rest for the night in Auli.</p>					
									<p><b>Meals : </b> Tea Breakfast and Dinner</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 9:</b> Auli to Mussoorie
								</p>
								<p class="aj">In winters, set out and enjoy playing all sorts of games and activities in white snow covered expanse. Summer still has great weather but you will miss any snow. After morning tea, go walking to Auli. After breakfast leave for Mussoorie. Since it’s quite far off, it’s better to start early morning for Mussoorie. On the way you will stop for lunch and will reach Mussoorie by evening.<br />
<br />
Night stay at Mussoorie</p>					
									<p><b>Meals : </b> Tea Breakfast and Dinner</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 10:</b> Drop at Dheradun (tour ends)
								</p>
								<p class="aj">After breakfast go to you onwards journey with sweet memories of this tour. Drop at Dheradun airport or railway station</p>					
									<p><b>Meals : </b> Tea Breakfast</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>Sightseeing</li>
																		<li>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Additional / personal use of vehicle.</li><li>
Any personal expenses, room service and special orders, mineral / packed waters, alcoholic and non alcoholic beverages, porterage, tips.</li><li>
Any extra excursions or sightseeing apart from the above specified itinerary.</li><li>
Camera fees, guide charges.</li><li>
Any incidental and other expenses which are not specified in the inclusions.</li><li>
Govt service tax - 3.09 % applicable on total billing.</li><li>
Air ticket / rail ticket</li><li>
Camera fees (still or movie).,</li><li>
laundry, horse ride,</li><li>
Any kind of personal expenses such as monument Fees, laundry, telephone bills and alcoholic beverages. </li><li>
Anything not specified in the itinerary</li><li>
Unspecified meals.</li><li>
Local car ride.</li><li>
Cable car ride.</li><li>
Boat ride.</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.vramanspecial.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Uttarakhand 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="25078"/>
						</form>
						</div>
						
						";i:1;s:56:"Book Uttarakhand Tour - 9 Nights / 10 Days Tour Packages";i:2;s:156:"book uttarakhand tour - 9 nights / 10 days tour packages, lakes & rivers tour packages, mussoorie, haridwar, nainital, almora, rishikesh, auli tour packages";i:3;s:203:"Book Uttarakhand Tour - 9 Nights / 10 Days tour packages from Vraman Special - Get attractive 9 Nights / 10 Days Lakes & Rivers  tour packages for  Mussoorie, Haridwar, Nainital, Almora, Rishikesh, Auli.";i:4;s:1161:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Mussoorie, Haridwar, Nainital, Almora, Rishikesh, Auli"        
		                 },
		      "description": "Additional / personal use of vehicle.
Any personal expenses, room service and special orders, mineral / packed waters, alcoholic and non alcoholic beverages, porterage, tips.
Any extra excursions or sightseeing apart from the above specified itinerary.
Camera fees, guide charges.
Any incidental and other expenses which are not specified in the inclusions.
Govt service tax - 3.09 % applicable on total billing.
Air ticket / rail ticket
Camera fees (still or movie).,
laundry, horse ride,
Any kind of personal expenses such as monument Fees, laundry, telephone bills and alcoholic beverages. 
Anything not specified in the itinerary
Unspecified meals.
Local car ride.
Cable car ride.
Boat ride.31-0831-03",
		      "name": "Uttarakhand Tour",
		      "telephone": "+91-9874035665"
		    }
		    </script>
			";i:5;N;}