a:6:{i:0;s:16898:"				<div class="h1"><h1>Manali - Shimla Holidays Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.himalayannavigators.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Manali - Shimla Holidays 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">Tour Code </td>
						<td class="p5px pl0px vat">HN0056</td>
						</tr>
												<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">New Delhi, Kufri, Kullu, Manali, 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.himalayannavigators.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Manali - Shimla Holidays 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="26839"/>
						</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/292604/52624.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52624.jpg"  width="150" height="150"    alt="St. Michael's Catholic Church, Shimla" title="St. Michael's Catholic Church, Shimla" /></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/292604/52618.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52618.jpg"  width="150" height="150"    alt="Vashisht Rishi Temple, Manali" title="Vashisht Rishi Temple, Manali" /></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/292604/52626.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52626.jpg"  width="150" height="150"    alt="Skiing at Solang Valley" title="Skiing at Solang Valley" /></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/292604/52625.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52625.jpg"  width="150" height="150"    alt="Mall Road, Shimla" title="Mall Road, Shimla" /></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/292604/52623.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52623.jpg"  width="150" height="150"    alt="The Ridge, Shimla" title="The Ridge, Shimla" /></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/292604/52622.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52622.jpg"  width="150" height="150"    alt="Hadimba Temple, Manali" title="Hadimba Temple, Manali" /></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/292604/52621.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52621.jpg"  width="150" height="150"    alt="Solang Valley, Manali (In Summer)" title="Solang Valley, Manali (In Summer)" /></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/292604/52620.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52620.jpg"  width="150" height="150"    alt="Manikaran" title="Manikaran" /></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/292604/52619.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52619.jpg"  width="150" height="150"    alt="Nagar Castle" title="Nagar Castle" /></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/292604/52627.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/292604/52627.jpg"  width="150" height="150"    alt="Solang Valley at Manali (Winters)" title="Solang Valley at Manali (Winters)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Manali at an altitude of 2,050 meters ((6,726 ft) in the Beas River Valley is a hill station nestled in the mountains of the Indian state of Himachal Pradesh near the northern end of the Kullu Valley. Manali is primary attraction for the tourists who want to visit the Himalayas. Rohtang Pass is very much popular among tourists. Beas River nearby Kullu also offers opportunities for rafting. Manali is also known as adventures paradise and offer various adventure activities too.<br />
<br />
Shimla are important hill station and dream destinations for honeymoon Couples located at the altitude of 2200 meters above from sea level. It’s cool atmosphere provides perfect heaven for the ones afflicted by the hot Indian summers. The high mountains of Manali are surrounded by the only snow but also with deep boulder strewn gorges. There are thick forests full of cool breeze and one could easily be fascinated by bird songs. Here you will also enjoy fields of wild flowers, small picturesque hamlets and fruit laden orchards.        <br />
<br />
Tour Excursion: DelhiAny Air fare/Train fare.<br />
Services of the vehicle on leisure days and for sightseeing not included in the itinerary <br />
Any meals other then specified in above package inclusion.<br />
Monuments entry fees/camera fees/Guide fees/entrainment fees.<br />
Expenses of personal nature such as telephone calls, laundry, liquor etc.<br />
Heater and Ac Charges.<br />
Any other which is not mentioned in above package Inclusion.<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> Manali Arrival - Half Day City Sightseeing Tour
								</p>
								<p class="aj">After a long 14 hours journey from Delhi reach Manali by today morning. Upon arrival at Manali Volvo bus stand our cab will pick you and transfer to your hotel. Get freshen up and same day get ready for today’s sightseeing. Take a half day city tour of Manali; visit the Hidimba Temple, unique for its pagoda architectural design located in the midst of a very old pine Forest. Then to Visit the Vashisht Sulfur Hot Water Spring, and then to Tibetan Monastery, which is at the heart of the city. Evening return back to hotel. Rest of the day free to leisure and Independent activities. Overnight stay at hotel.</p>					
									<p><b>Meals : </b> 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> Rohtang Pass Excursion Up To Snow Line (51 km)
								</p>
								<p class="aj">Today after breakfast drive to Rohtang Pass/ Snow Point. The total distance is 51 km, Situated at an altitude of 4,111 meters (13,400 ft) above from sea level on the NH 21 to Leh. Here one can sees the majesty of the mountains at its height and splendor. At the top of the Pass the air seems to glitter against the snow as you look down over herringboned ridges into the Lahaul Valley. Enroute visit Kothi Gorge, Gulaba, Rahala Falls, Marhi and Solang Valley and enjoy skiing, Paragliding and other adventurous activities (package cost does not include any of such activates). Return to hotel by evening. Rest of the day free to leisure and Independent activities. Overnight stay at hotel.</p>					
									<p><b>Meals : </b> Breakfast + 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> Manikaran Excursion or Nagar Castle Sightseeing
								</p>
								<p class="aj">Morning leave for Manikaran, total distance is 85 km. Full day excursion visiting Kullu, Vaishno Devi temple, Angora farm, Kasol valley, Manikaran hot water spring, Shiva temple, Gurudwara and Rama temple. Manikaran has the World’s hottest Sulfur Spring Waters and is a holy place for Hindus & Sikhs alike. If you are adventure lover Enjoy White Water rafting on the way to Manikaran at your own cost (package does not include). Evening Proceed back to Manali. Rest of the day free to leisure and Independent activities. Overnight stay at hotel. <br />
<br />
or<br />
<br />
Today Morning after breakfast proceed to Nagar - Kullu sightseeing. Visit Nagar Castle, Nicolas Rorich Art Gallery and The Museum at Nagar. On the way visit Ancient Sandhya Gaytri Temple and Shiva Temple at Jagatsukh. After that proceed back to Manali.  Rest of the day free to leisure and Independent activities. Overnight stay at hotel.</p>					
									<p><b>Meals : </b> Breakfast + 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> Manali - Shimla Transfer (270 km, 06 hrs.)
								</p>
								<p class="aj">Morning after breakfast leave Manali and board you deluxe coach for your onward journey to Shimla. Evening upon arrival at Shimla transfer to your hotel and check in. Rest of the free for leisure. Overnight Stay at Hotel.</p>					
									<p><b>Meals : </b> Breakfast + 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> Kufri Excursion
								</p>
								<p class="aj">Today after breakfast proceed for sightseeing of Kufri. Kufri is a small hill station in Shimla district of Himachal Pradesh state in India. It is located 13 km from the state capital Shimla on the National Highway No. 22. The highest point in the surrounding region, visit Himalayan Wild Life Zoo which hosts rare Antelopes, Felines and Birds including Himalayan Monal, the recent state bird of Himachal Pradesh. During winter a meandering path through the potato plantations turns into a popular Ski track. Spend your whole day there and return back to Shimla by evening. Overnight at stay hotel.</p>					
									<p><b>Meals : </b> Breakfast + 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> Shimla - Delhi (Departure)
								</p>
								<p class="aj">Morning after check out from hotel and proceed to Mall Road. Spend your time to explore Local market and Mall Road Shimla. Board your Volvo for your journey back to Delhi by evening.<br />
<br />
Boarding Time: 08:00 Pm<br />
Departure Time: 08:30 Pm</p>					
									<p><b>Meals : </b> 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>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any Air fare/Train fare.</li><li>
Services of the vehicle on leisure days and for sightseeing not included in the itinerary </li><li>
Any meals other then specified in above package inclusion.</li><li>
Monuments entry fees/camera fees/Guide fees/entrainment fees.</li><li>
Expenses of personal nature such as telephone calls, laundry, liquor etc.</li><li>
Heater and Ac Charges.</li><li>
Any other which is not mentioned in above package Inclusion.</li></ul><br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Delhi.<br /><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. ~^#^~						
    	<p class="h dif xlarge b mb5px">Package Cost</p>
    	<div class="otherDetails aj">Standard Package Just at Rs. 9,499 Per person</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Hotel at Manali</td>
				<td class="headHr p5px b">Hotel at Shimla</td>
			</tr>
			<tr>
				<td class="data p5px">03 NIghts</td>
				<td class="data p5px">02 Nights</td>
			</tr>
			<tr>
				<td class="data p5px">Silvermoon Manali</td>
				<td class="data p5px">Hotel Nature Villa</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.himalayannavigators.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Manali - Shimla Holidays 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="26839"/>
						</form>
						</div>
						
						";i:1;s:71:"Book Manali - Shimla Holidays Package - 5 Nights / 6 Days Tour Packages";i:2;s:156:"book manali - shimla holidays package - 5 nights / 6 days tour packages, lakes & rivers tour packages, new delhi, kufri, kullu, manali, shimla tour packages";i:3;s:208:"Book Manali - Shimla Holidays Package - 5 Nights / 6 Days tour packages from Himalayan Navigators - Get attractive 5 Nights / 6 Days Lakes & Rivers  tour packages for  New Delhi, Kufri, Kullu, Manali, Shimla.";i:4;s:1894:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Kufri, Kullu, Manali, Shimla"        
		                 },
		      "description": "Manali at an altitude of 2,050 meters ((6,726 ft) in the Beas River Valley is a hill station nestled in the mountains of the Indian state of Himachal Pradesh near the northern end of the Kullu Valley. Manali is primary attraction for the tourists who want to visit the Himalayas. Rohtang Pass is very much popular among tourists. Beas River nearby Kullu also offers opportunities for rafting. Manali is also known as adventures paradise and offer various adventure activities too.

Shimla are important hill station and dream destinations for honeymoon Couples located at the altitude of 2200 meters above from sea level. It’s cool atmosphere provides perfect heaven for the ones afflicted by the hot Indian summers. The high mountains of Manali are surrounded by the only snow but also with deep boulder strewn gorges. There are thick forests full of cool breeze and one could easily be fascinated by bird songs. Here you will also enjoy fields of wild flowers, small picturesque hamlets and fruit laden orchards.        

Tour Excursion: DelhiAny Air fare/Train fare.
Services of the vehicle on leisure days and for sightseeing not included in the itinerary 
Any meals other then specified in above package inclusion.
Monuments entry fees/camera fees/Guide fees/entrainment fees.
Expenses of personal nature such as telephone calls, laundry, liquor etc.
Heater and Ac Charges.
Any other which is not mentioned in above package Inclusion.",
		      "name": "Manali - Shimla Holidays Package",
		      "telephone": "+91-8091208888"
		    }
		    </script>
			";i:5;N;}