a:6:{i:0;s:9747:"				<div class="h1"><h1>Beauty of Himachal Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northindiatravel.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northindiatravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Beauty of 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Chandigarh City, New Delhi, Dalhousie, Khajjiar, Manali, Shimla, Dharamshala</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.northindiatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beauty of 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="102285"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
										</tr>
					</table>
					</div>
					<br />
					
					Delhi - Shimla - Manali - Rohtang Pass - Manali -  Chamunda – Dharamshala - Dalhousie - Khajjiar - Dalhousie - Chandigarh to Delhi<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> Delhi - Shimla
								</p>
								<p class="aj">Arrive Delhi airport train station and drive to Shimla. One of the most popular hill Resorts of the North. The town is situated at an altitude of 6810 ft, initially chosen as a sanatorium for invalid European officers, but soon developed into a big hill town and became the summer capital of the country. Upon arrival check in to the hotel for Overnight stay.</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 having breakfast proceed for sightseeing tour of Shimla. Visit Kufri, Ridge Maidan, Mall Road and Christ Church. Overnight stay at 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 3:</b> Shimla – Manali
								</p>
								<p class="aj">After having breakfast proceed for Manali. Manali is an important hill station of northern India and is the destination of thousands of tourists every year. Its cool atmosphere provides a perfect haven for the ones afflicted by the hot Indian summers. Besides offering quite a few places for sightseeing, Manali is also famous for adventure sports like skiing, hiking, mountaineering, paragliding, rafting, trekking, kayaking, and mountain biking. En- route visit Hanogi Mata Temple. Overnight stay at hotel 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 - Rohtang Pass - Manali
								</p>
								<p class="aj">Today full day excursion visiting Kothi Gorge, Gulaba, Marhi, Rohtang Pass (Upto Snow Line in case Rohtang is closed due to snow fall. Come back to Manali Later in evening halfday tour of Manali visiting newly constructed Buddhist Monastery. Hadimba Devi temple-It is small temple situated in the dense forest is very interesting. Hadimba is said to be the wife of Bhima from the epic of Mahabharata. Vashisht, it is an extremely picturesque little place clinging to the steep hill side. On the way up to the village you come upon the Vashisht hot baths where a natural sulphar spring is piped into a modern bath -house. Overnight sat at 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 5:</b> Manali – Chamunda – Dharamshala (260 km)
								</p>
								<p class="aj">After breakfast, proceed for Dharamshala. En-route visit Chamunda Devi Temple. Check in to the hotel. Evening at leisure. Overnight stay 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 6:</b> Dharamshala – Dalhousie
								</p>
								<p class="aj">After breakfast visit Bhudhist Monastery, Bhagsunag Temple. Enjoy the scenic beauty of Dharamshala. Later drive to Dalhousie. Check in to the hotel. Overnight stay at 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 7:</b> Dalhousie - Khajjiar - Dalhousie
								</p>
								<p class="aj">Afte Hving breakfast, visit Khajjiar (Khajjiar is closed some time in Dec-Jan due to heavy snow) the mini Switzerland, Kalatop, Satdhara and Gandhi Chowk. Evening free. Overnight stay at 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 8:</b> Dalhousie- Chandigarh (300 kms)
								</p>
								<p class="aj">After breakfast proceed to Chandigarh. On arrival check in to the hotel. Evening free to explore the local markets. Overnight stay at 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 9:</b> Chandigarh to Delhi (250 kms)
								</p>
								<p class="aj">After having breakfast, sightseeing of Chandigarh visit Rockgarden. Rose Garden and Sukhna Lake and transfer to Delhi. On arrival transfer to train station/ airport for onward destination.</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.northindiatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beauty of 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="102285"/>
						</form>
						</div>
						
						";i:1;s:62:"Book Beauty of Himachal Tour - 8 Nights / 9 Days Tour Packages";i:2;s:176:"book beauty of himachal tour - 8 nights / 9 days tour packages, valley tour packages, chandigarh city, new delhi, dalhousie, khajjiar, manali, shimla, dharamshala tour packages";i:3;s:223:"Book Beauty of Himachal Tour - 8 Nights / 9 Days tour packages from MD Tour Travels - Get attractive 8 Nights / 9 Days Valley  tour packages for  Chandigarh City, New Delhi, Dalhousie, Khajjiar, Manali, Shimla, Dharamshala.";i:4;s:603:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chandigarh City, New Delhi, Dalhousie, Khajjiar, Manali, Shimla, Dharamshala"        
		                 },
		      "description": "Delhi - Shimla - Manali - Rohtang Pass - Manali -  Chamunda – Dharamshala - Dalhousie - Khajjiar - Dalhousie - Chandigarh to Delhi",
		      "name": "Beauty of Himachal Tour",
		      "telephone": "+91-9646469331"
		    }
		    </script>
			";i:5;N;}