a:6:{i:0;s:15096:"				<div class="h1"><h1>Delightful Himachal Tour Package</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>Delightful Himachal Tour Package</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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Chandigarh City, Kufri, Kullu, Manali, Mandi, Shimla</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="Delightful Himachal Tour Package - 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="54692"/>
						</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_11/307359/105483.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/105483.jpg"  width="150" height="150"    alt="Delightful Himachal Tour Package" title="Delightful Himachal Tour Package" /></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_11/307359/105482.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/105482.jpg"  width="150" height="150"    alt="Delightful Himachal Tour Package" title="Delightful Himachal Tour Package" /></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> Chandigarh to Shimla & Shimla Local Market Visit
								</p>
								<p class="aj">Pick up Chandigarh Railway station & Drop Kalka Station & Again Pick Shimla Railway station. Then Go Shimla Hotel After Fresh Visit, Local market Shimla One of the most popular places to go to for shopping is at the Mall road in Shimla. This place is the shopping hub and commercial center of Shimla, local side see the Shimla. All Local side seen, National Park Poney and Yak Ride and One can see the endless Himalayan One can find small Souvenirs and knick- knacks here along handicrafts and other artifacts that Shimla is famous for. You can buy the famous Himachali caps that are available in almost any Project, Pandoh dam local. The Ridge that lies along the famous Mall Road is the main venue of all the cultural activities in the town. Being the most popular shopping center in the city, Shimla Ridge links the most important commercial spots such as Lakkar Bazaar, The Mall, Scandal Point, Jakhu Hill, among others. The Ridge is home to numerous Shimla's landmarks built in Neo-Gothic style that are a must for sightseeing in Shimla. The place is host to the famous Shimla Summer festival that goes on for 5 days and invites travelers from all corners of the world. The festival showcases different performances by local and national artists. Christ Church is the second oldest church in Northern India, Night Shimla.</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 to Kufri & Local visit
								</p>
								<p class="aj">Morning After Breakfast See Run way Side Seen to Move kufri,. Kufri is famous for its Himalayan Panorama from Kufri, explore the various places in and around Shimla. Lying just 24 km from Shimla Mall Road, Shilon Bagh houses outstanding resorts. From here you can access easily a fabulous tourist destination Kufri, situated at (2,633 meters in height) 16 km far from Shimla. The region is an epitome of serenity and tranquility that embraces the most pristine and breathtaking environs. The region is highly visited for its awe-inspiring beauty that is the love of every backpacker who wishes to rejoice amidst the most natural environs of Shimla. Apart from this, the region offers some of the finest accommodation facilities to travelers to make sure they enjoy the most empyrean luxury and comfort. Another tourist attraction Jakhu Hill is located just 2 km away from Shimla. Lying at a height of 8000 ft, Jakhu Hill has the highest peak of this hill station, offering an amusing view of Shimla and also the snow-clad Himalayas. The Jakhu Hill is also home to the famous Jakhu temple, which is located the hill comprises a large statue of Lord Hanuman that stands at an elevation of 2,455 m (8,000 feet) above sea level and is one of its kind to be situated at such great height. Dedicated to Lord Hanuman, The temple is one of the most pious places in Shimla that is visited by numerous travelers Night Shimla.</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 Local market Shopping to Kullu to Mandi to Manali
								</p>
								<p class="aj">Morning Post Breakfast Check out Hotel Shopping local market to See run way side seen to Kullu According to ancient Hindu scriptures, the area was known as ‘Kulantapitha' the end of the habitable world. Nestling within the high Himalayan ranges, the Kullu valley remained isolated from the rest of the world till very recently. The Hindu rulers of Kullu initially ruled over an area restricted to the upper Beas River valley, with their capital in the ancient village of Jagatsukh near Manali. The valley was a gateway to Lahaul and Ladakh andan important stop on the crucial trade route between central Asia and the Gangetic Plains down south. This made the area prosperous and by the 17th century AD, the kingdom had expanded its boundaries to Lahaul-Spiti in the north and the Sutlej River in the east. The capital of the kingdom was first shifted to Naggar, then to Sultanpur before finally settling at Kullu. Kullu grew into an important town when Raja Jagat Singh shifted the capital of the kingdom from Naggar in the mid-17th century. The idol of Lord Raghunathji (Lord Rama, an incarnation of Vishnu, one of the gods in the Hindu trinity), the presiding deity of this town, was brought from his mythical birthplace in Ayodhya by the king. Declared the district headquarters after independence, Kullu is now an important market town for the region, and a transit point for travelers going on to the more popular Manali, 40 kms north. Kullu is also the focal point for trekkers into the Parvati valley and the Pin valley & Then See Run Way Side Seen To Move to Mandi The present District Of Mandi was formed with the merger of two princely states Mandi and Suket on 15th April 1948, when the State of Himachal Pradesh came into existence. Ever since the formation of the district, it has not witness any changes in it's jurisdiction., Mandi local Market visit & Then See Run Way Side Seen to go Manali see Run way Side Seen to Kullu to Mandi , Mandi local Market visit & Then Move Manali Manali is situated near the end of the valley on the National Highway leading to Leh. The landscape here is breath taking. One sees well-defined snow capped peaks, the Beas river with its clear water meanders through the town. On the other side are Deodar and pine trees, tiny fields and fruit orchards. It is an excellent place for a holiday, a favorite resort for trekkers to Lahaul, Spiti, Bara Bhangal, and Zanskar range. Night 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 to Rohtang pass & Manali Local Side Seen Visit
								</p>
								<p class="aj">Morning move to Rohtang pass, gateway to Lahaul-Spiti valley. It affords a wide panoramic view of the mountains. Here one sees the majesty of the mountains at its height and splendour. At the top of the pass the air seems to glitter against the snow as you look down over herring boned ridges into the Lahaul valley local Manali like Hidimba temple, Manu temple ,Vashisht Bath, Van Vihar see run way side seen Manali is situated near the end of the valley on the National Highway leading to Leh. The landscape here is breath taking. One sees well-defined snow capped peaks, the Beas river with its clear water meanders through the town. On the other side are Deodar and pine trees, tiny fields and fruit orchards. It is an excellent place for a holiday, a favorite resort for trekkers to Lahaul, Spiti, Bara Bhangal, and Zanskar ranges. From temples to antiquity, to picturesque sight-seeing spots and adventure activities, Manali is a popular resort for all seasons and for all travelers visit see run way side seen Manali is situated near the end of the valley on the National Highway leading to Leh. The landscape here is breath taking. One sees well-defined snow capped peaks, the Beas river with its clear water meanders through the town. On the other side are Deodar and pine trees, tiny fields and fruit orchards. It is a excellent place for a holiday, a favorite resort for trekkers to Lahaul, Spiti, Bara Bhangal (Kangra), and Zanskar ranges. From temples to antiquity, to picture sight-seeing spots and adventure activities, Manali is a popular resort for all season and for all travelers Explore the beautiful surrounding of Manali. Night 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> Manali to Manikaran
								</p>
								<p class="aj">Morning After Breakfast Check Out hotel See Run way Side Seen to Visit Manikaran, Manikaran, is famous for its hot springs. Thousands of people take a holy dip in hot waters here. The water is so hot that dal, rice & vegetables etc. can be cooked in it. It is also a well known pilgrimage place for both Hindus & Sikhs. Ramchandra and Shiva temples besides a Gurudwara are there. According to an old legend, Manikaran is connected with Lord Shiva and his divine consort, Parvati, who lost her ear rings here, which gave birth to hot waters on the bank of Parvati river Manikaran is a pilgrimage centre for Hindus and Sikhs. The Hindus believe that Manu recreated human life in Manikaran after the flood, making it a sacred area. It has many temples and a Gurudwara.[1] There are temples of the Hindu deities Rama, Krishna, and Vishnu.[2] The area is well known for its hot springs[3] and its beautiful landscape</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 Drop Chandigarh
								</p>
								<p class="aj">Morning After Breakfast Check Out hotel See Run way Side Seen to To Drop Chandigarh.</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="Delightful Himachal Tour Package - 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="54692"/>
						</form>
						</div>
						
						";i:1;s:71:"Book Delightful Himachal Tour Package - 5 Nights / 6 Days Tour Packages";i:2;s:161:"book delightful himachal tour package - 5 nights / 6 days tour packages, valley tour packages, chandigarh city, kufri, kullu, manali, mandi, shimla tour packages";i:3;s:208:"Book Delightful Himachal Tour Package - 5 Nights / 6 Days tour packages from MD Tour Travels - Get attractive 5 Nights / 6 Days Valley  tour packages for  Chandigarh City, Kufri, Kullu, Manali, Mandi, Shimla.";i:4;s:456:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chandigarh City, Kufri, Kullu, Manali, Mandi, Shimla"        
		                 },
		      "description": "",
		      "name": "Delightful Himachal Tour Package",
		      "telephone": "+91-9646469331"
		    }
		    </script>
			";i:5;N;}