a:6:{i:0;s:15858:"				<div class="h1"><h1>Shimla - Manali 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>Shimla - Manali 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">Chandigarh City, New Delhi, Manali, Manikaran, 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.tanishhimachaltours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Shimla - Manali 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="171563"/>
						</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/258506.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/438757/258506.jpg"  width="150" height="90"    alt="Shimla - Manali Tour" title="Shimla - Manali Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Meal plan : Lunch ,<br />
NON VEG MEAL<br />
<br />
Cabs : Non-AC <br />
<br />
Airfare <br />
<br />
Others : Other Exclusions (*Car at disposal <br />
<br />
All kind of personal expenses such as tips, laundry, telephone bills and beverages. <br />
<br />
It also does not include any meals unless and otherwise specifically mentioned.. <br />
<br />
Optional, suggested or unspecified activities. <br />
<br />
Camera fee (still or movie)<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">Start Your Journey from Delhi Air Port. Drive Your Way to Shimla in a Private Vehicle By Overnight Journey.</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 KUFRI
								</p>
								<p class="aj">In Morning After Reaching Shimla have Some Fresh Up and Rest Till Afternoon Then Move to Visit Kufri., ,Kufri -(altitude 2622 M) Known for Its Ski Runs Kufri. 16kms Away from Shimla, Attracts the Largest Number of Tourists Who Come to Shimla It Has a Backdrop of Peaks Covered with Snow. <br />
green Valley - Green Valley is One of the Most Beautiful Places in Shimla. Noted for Its Elite Beauty, this is a Stopover On the Way to Kufri from Shimla. the Place is Ideal for Photographing as It Offers Some of the Most Mesmerizing Sights that Nature Has to Offer. the Criss-crossed Mountains Seem to have Been Blanketed Under Carpets of Greens and It is One of the Most Photographed Sights in Shimla. overnight Stay At 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
								</p>
								<p class="aj">After Breakfast Visit Local Sight Scenes of Shimla <br />
viceregal Lodge <br />
the Mall <br />
jakhoo Temple <br />
ridge Maidan. <br />
overnight Stay At 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 4:</b> SHIMLA MANALI
								</p>
								<p class="aj">After Early Breakfast We Move Towards Manali. On the Way Sight-seeing like Sundernagar Lake, Pandoh Dam, Vaishno Devi Temple, Kullu.the Cab Will Run On Road Besides Beautiful River Beas and also You Will Feel the Actual Beauty of Huge Mountains and Valleys.you Will also Met with a Tunnel Known as Aut Tunnel Which is 3 Kms Long.<br />
till Manali You Will Feel the Fresh Airs and Clatter of River Beas After Reached Manali Check in to Hotel.overnight Stay At 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 LOCAL
								</p>
								<p class="aj">After Breakfast Cab Will Move Towards Local Places of Manali.<br />
hadimba Temple<br />
situated Atop a Hillock the Hidimba Devi Temple is Surrounded By Thick Deodar Forests and Was Built in 1553. the Temple is Dedicated to the Rakshasa Hidimba Who Was also the Wife of the Pandava Bhima. the Temple Structure is Built in a Distinctive Architectural Style that Somewhat Crosses Indian Architecture with the One Employed in the Buddhist Monasteries. the Structure is Made Primarily of Wood and 70 Meters from the Temple also Lays the Temple Dedicated to Ghatotkacha, the Son of Bhima and Hidimba and a Hero of the Mahabharatha War.<br />
vashist Hot Water Springs<br />
the Place Lies At a Distance of 4-5 Kilometers from Manali and is Situated Across the Beas River. the Village of Vashist is Famous for Its Sulphurous Hot Water Springs and is a Popular Attraction among Tourist and Pilgrims. the Springs Can also Be Enjoyed in Privacy At the Turkish-styles Bath Houses Which are Available Here. the Village is also Famous for Its Stone Temples Which are Dedicated to a Local Saint Vashishta.<br />
tibetan Monasteries<br />
one of the Most Fascinating Aspects of Manali is the Fact that It Has Several Colourful Monasteries. These Monasteries Serve Not Only as a Place of Worship But also as Guardians of the Rich Culture and History of the Tibetan People Settled in Kullu and Manali.<br />
the Two Most Important Monasteries that Draw a Huge Number of Tourists to Manali from Across the Globe are the Gadhan Thekchoking Gompa and the Himalayan Nyingamapa Gompa. You Can Shop for Beautiful Handicrafts that are Made By Tibetan People At These Monasteries.<br />
overnight Stay At 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 6:</b> MANALI SOLANG
								</p>
								<p class="aj">After breakfast, visit the Solang Valley the place is also well known for adventurous sports whether summer sports or winter sports. Parachuting, skating/skiing, zorbing and paragliding are some of the famous sports played here. Few ski agencies also offer different courses as well as equipment to enjoy but these agencies are active only in winter seasons since snow melts in summer season <br />
Rohtang Pass (Closed from Nov to May) by surface (51 kms), / subjected to NGT guide line and Upto possible due to snow fall, otherwise visit at own cost, situated at an altitude of 3979 mtrs above sea level. Rohtang Pass is the gateway to Leh & Lahaul-Spiti valley. It affords a wide panoramic view of the mountains, Glaciers, peaks and Chandra river flows down in the Lahaul valley. 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 herringboned ridges into the Lahaul valley. Later back to Manali, Note: Rohtang Pass sightseeing tour as per the NGT directions <br />
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 7:</b> MANALI-KASOL-MANIKARAN-CHANDIGARH
								</p>
								<p class="aj">Today morning after breakfast check out from hotel and depart with your journey back to Chandigarh <br />
On arrival in Kullu you can do River Rafting (on your own expenses if it is operational) and shopping for World famous Pashmina Shawls. Then visit Vaishno Devi Temple and local market. After that proceed towards Manikaran Sahib, On arrival at Manikkaran Sahib take a bath in Natural Hot Springs of Sulphur and then visit Old Shiv Temple, Ram Temple and Gurudwara Manikaran Sahib. Manikaran is located in the Parvati valley (Altitude of 1760 Meters) and along the river Beas. <br />
Overnight stay at Chandigarh.</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> CHANDIGARH LOCAL AND  DELHI
								</p>
								<p class="aj">After Breakfast Visit Chandigarh Local Places Sukhna Lake ,Rock Garden and Rose Gardenand Then Move Towards Delhi.overnight Stay At Delhi.</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> DELHI LOCAL
								</p>
								<p class="aj">After Breakfast Visit Local Places of Delhi.akshardham,Red Fort,India Gate.overnight Stay At Delhi.</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> DELHI DROP
								</p>
								<p class="aj">After Breakfast Cab Will Drop You At Airport/railway Station Delhi.</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>Meals</li>
																		<li>Sightseeing</li>
																<li>Meal plan : MAP(Breakfast  and Dinner )</li><li>
Cabs : AC </li><li>
Accommodation at all places</li><li>
A/c  will not be operational in hills</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Meal plan : Lunch ,</li><li>
NON VEG MEAL</li><li>
Cabs : Non-AC </li><li>
Airfare </li><li>
Others : Other Exclusions (*Car at disposal </li><li>
All kind of personal expenses such as tips, laundry, telephone bills and beverages. </li><li>
It also does not include any meals unless and otherwise specifically mentioned.. </li><li>
Optional, suggested or unspecified activities. </li><li>
Camera fee (still or movie)</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p>&nbsp;hotels&nbsp; or the similar hotels . 2. The confirmation is subjects to availability. -Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad Weather, ill health, strike, roadblocks and/or any factors beyond control. -It is a suggestion for you that please book this offer as soon as possible because we are not holding any booking and it is totally depend on the availability of rooms and flight.<br />
3. From the booking date till 30 days prior to the departure date, 30 % of the package cost is chargeable.<br />
4. From 30 days to 15 days prior to the departure date, 50 % of the package cost is chargeable.<br />
5. From 15 days to 7 days prior to departure date, 75 % of the package cost is chargeable.<br />
6. For cancellations made within 5 days prior to the departure date, 100% of the package cost is chargeable.<br />
7. No refund will be made for any unused accommodation, missed meals, transportation segments, sightseeing tours or any other service due to Bad weather, ill health, Strike, Road Blocks or any other factor beyond our Control. Such unused items are neither refundable nor exchangeable. - Room allocation is done by the hotel&nbsp; depending upon availability at the time of check-in. the category of room as specified on your confirmation voucher.<br />
8. No refund shall be claimed, if the services &amp; amenities of hotel were not up to your expectations, it will be considered on case to case basis.<br />
9. Room Heater charges will be extra charged as per hotel&nbsp; rates in every hotel.<br />
10. Meal plan will be veg in every hotel.( Non veg will be included on travellers request ).<br />
11. Rohtang Pass Permit and sighscene will be provided as per govt. Terms and conditions.<br />
12. Below 5 Years child will be complementry.More&nbsp;then 5 yrs Child will be charged as adults cost.

<p>&nbsp;												</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="Shimla - Manali 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="171563"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Shimla - Manali Tour - 9 Nights / 10 Days Tour Packages";i:2;s:157:"book shimla - manali tour - 9 nights / 10 days tour packages, hill station tour packages, chandigarh city, new delhi, manali, manikaran, shimla tour packages";i:3;s:195:"Tanish Himachal Tours offers Shimla - Manali Tour - 9 Nights / 10 Days tour package, budget Hill Station tour packages for Chandigarh City, New Delhi, Manali, Manikaran, Shimla at exciting price.";i:4;s:818:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chandigarh City, New Delhi, Manali, Manikaran, Shimla"        
		                 },
		      "description": "Meal plan : Lunch ,
NON VEG MEAL

Cabs : Non-AC 

Airfare 

Others : Other Exclusions (*Car at disposal 

All kind of personal expenses such as tips, laundry, telephone bills and beverages. 

It also does not include any meals unless and otherwise specifically mentioned.. 

Optional, suggested or unspecified activities. 

Camera fee (still or movie)",
		      "name": "Shimla - Manali Tour",
		      "telephone": "+91-9736035555"
		    }
		    </script>
			";i:5;N;}