a:6:{i:0;s:11858:"				<div class="h1"><h1>Himachal Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.tanishhimachaltours.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.tanishhimachaltours.com/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Himachal 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">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Dalhousie, Manali, Shimla, Dharamshala, Amritsar</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.tanishhimachaltours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himachal 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="65994"/>
						</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_15/438757/121303.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/438757/121303.jpg"  width="150" height="150"    alt="Himachal Tour" title="Himachal 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> New Delhi - Shimla
								</p>
								<p class="aj">Arrive Delhi airport / railway station and drive to Shimla (350 Kms. / 08 Hrs.) the former summer capital of British India, set amidst the snow capped Sivalik Mountains which offers some of the most stunning views of the mighty Himalayas. Enroute visit Pinjore Gardens or Rope way at Timber Trail, Parwanoo. Arrive and check into the hotel. Evening free to stroll on The Mall and the famous Ridge. Ridge is famous for its stunning vistas of the valley and the Christ Church which is the most photographed landmark of Shimla. Overnight in the hotel.</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> Shimla
								</p>
								<p class="aj">After Breakfast Excursion to Kufri. Kufri is famous for its Himalayan National Park, Poney and Yak Ride and One can see the endless Himalayan Panorama from Kufri, after lunch sightseeing of various places in and around. Shimla mosques built in(1830), Vice regal Lodge built in (1885), Christ Church built in (1844), The Gaiety Theatre- the first beauty contest of world was supposed to start (1887), The Grindlays Bank (1912)- the world wide bank started by Robert Melville Grindlay, The Scandal Point and The famous Shopping Plaza of the North The Mall. O/N Hotel.</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> Shimla to Manali (265 Kms. / 8 Hrs.)
								</p>
								<p class="aj">Transfer from Shimla to Manali by surface Enroute visit Kullu valley, Beas River, Dashehra maidan etc. Arrive and transfer to hotel Manali. Evening free for rest. Night stay in Manali.</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> Manali (Local Sightseeing)
								</p>
								<p class="aj">Morning proceed to Visit the 450 years old Hidimba Devi Temple, the oldest temple in Manali, Tibetan center & monastery, Vashisth village, known for its hot Sulphur springs Roerich art Gallery. Bahist Temple, Solang Valley which offers a spectacular view of glaciers and snow capped peaks..at an altitude of 3978 meters. Also visit Kothi, Rahala Water falls on the way. (Subject to weather conditions and road being open). Rest of the day is at leisure or takes a stroll down the Mall road. Night stay in Manali.</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> Rohtang Pass (100 Kms. Round Tour)
								</p>
								<p class="aj">Early morning visit A place not to be missed - Rohtang Pass, (51 Kms. / 3 Hrs.) from Manali at an altitude of 3978 meters. Also visit Kothi, Rahala Water falls on the way.(subject to weather conditions and road being open). Rest of the day is at leisure or takes a stroll down the Mall road. Night stay in Manali. (Visit to Rohtang Pass not included in the cost. subject to weather conditions and road being open).(As per Himachal Government Rouling outsiders not go to do the Rohtang Pass & Guest Have to Take Car from union on Direct Payment Basis. )</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> Manali to Dharamsala (280 Kms. / 10 Hrs.)
								</p>
								<p class="aj">A distance of 260 kilometer on the way stopping at Baijnath known for its Shiva Temple and further at Palampur famous For Tea Garden. Dharamsala is a hill-station lying on the spur of the Dhauladhar Mountains about 18 kms north-east of Kangra, It is known for its scenic beauty set amidst high pine and oak trees. Since 1960, when it became the temporary headquarters of His Holiness The Dalai Lama, Dharamshala has risen to international repute as “The Little Lhasa in India”. O/N Hotel Dharamsala</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> Dharamsala to Dalhousie (145 Kms. / 5 Hrs.)
								</p>
								<p class="aj">After Breakfast drive from Dharamshala towards Dalhousie after doing the local sightseeing of Places which includes, His holiness Dalai lama residence at McLeod Ganj, War memorial, Bhagsunath temple and Dal Lake. Reach Dalhousie in the evening. O/N Hotel Dalhousie</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> Dalhousie - Khajjiar
								</p>
								<p class="aj">Dalhousie has been named after the British Governor - General of the l9th century, Lord Dalhousie. Surrounded by varied vegetation - pines, dodders, oaks and flowering rhododendron. Local sightseeing of Dalhousie includes visit to Panjipula, Subhash Baoli and excursion to Khajjiar 24 km from Dalhousie surrounded by thick Deodar forest. Drive from Dalhousie to Khajjiar is awesome. O/N Hotel</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> Dalhousie - Amritsar(200 Kms. / 3-4 Hrs.)
								</p>
								<p class="aj">Transfer from Dalhousie to Amritsar by Surface. Arrive Amritsar and check in to your pre booked hotel. After freshen up visit Golden Temple, Mata Mandir, Jallianwala Bagh and enjoy the place. Overnight at Hotel.</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> Amritsar to Delhi (470 Kms. / 8-9 Hrs.)
								</p>
								<p class="aj">After B/F check out from hotel. Visit Wagah Border and then from there only Depart for Delhi. On arrival drop at Railway Station/ Airport.</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.tanishhimachaltours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himachal 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="65994"/>
						</form>
						</div>
						
						";i:1;s:53:"Book Himachal Tour - 9 Nights / 10 Days Tour Packages";i:2;s:139:"book himachal tour - 9 nights / 10 days tour packages, valley tour packages, dalhousie, manali, shimla, dharamshala, amritsar tour packages";i:3;s:193:"Book Himachal Tour - 9 Nights / 10 Days tour packages from Tanish Himachal Tours - Get attractive 9 Nights / 10 Days Valley  tour packages for  Dalhousie, Manali, Shimla, Dharamshala, Amritsar.";i:4;s:433:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dalhousie, Manali, Shimla, Dharamshala, Amritsar"        
		                 },
		      "description": "",
		      "name": "Himachal Tour",
		      "telephone": "+91-9736035555"
		    }
		    </script>
			";i:5;N;}