a:6:{i:0;s:13967:"				<div class="h1"><h1>Himachal Tour With 15 Adults</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 With 15 Adults</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, Dalhousie, Khajjiar, Kufri, Manali, Shimla, Dharamshala, Amritsar</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 13500 Per Person						</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 With 15 Adults - 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="128050"/>
						</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/205193.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/438757/205193.jpg"  width="150" height="150"    alt="Himachal Tour With 15 Adults" title="Himachal Tour With 15 Adults" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Meal plan : Lunch ,<br />
Cabs : Non-<br />
AC Airfare<br />
Others : Other Exclusions (Car at disposal<br />
All kind of personal expenses such as tips, laundry, telephone bills and beverages.<br />
It also does not include any meals unless and otherwise specifically mentioned..<br />
Optional, suggested or unspecified activities.<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> ARRIVAL
								</p>
								<p class="aj">Arrivel Chandigrah and drive to Shimla (4 hrs), perched at 7000 feet above sea level, The heady combinations of Chill mountain air, orchards and colonial charms still make Shimla a dream get away. Arrive & transfer to hotel. Rest of the day is free to explore various scenic sights or visit mall road and shopping. Night stay in 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 - KUFRI - SHIMLA
								</p>
								<p class="aj">Morning proceed for the sightseeing of Kalbadi devi Temple, Jakhu Temple, Hanuman Temple or stop for a while at the beautiful stained – glass - windows of Christ Church, which was built in the 1850 ‘s. Afternoon visit Kufri a 30 Minutes drive from Shimla, an exotica of nature as a place surrounded by dense forest and snow caped mountains amidst virgin peaks and natures flora and fauna where one can completely relax and tune oneself for natural beauty, .Evening free to enjoy the scenic beauty of Kufri. Fagu, Indira Gandhi Holiday Home, horse riding (optional) in the apple orchids. Rest of the day is free to explore various scenic sights or visit mall road and shopping. Night stay in 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 - KULLU - MANALI
								</p>
								<p class="aj">Morning check out from the Hotel & drive to Manali (7-8 Hours), valley of Gods, is a combination of natural splendor and rich cultural heritage. Arrive & transfer to hotel. Rest of the day at leisure. 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 MANALI - SNOW - POINT GULLABA
								</p>
								<p class="aj">Morning proceed to Visit the 450 years old Hidimbadevi Temple built in the tranquil and serene woods, the oldest temple in Manali, Tibetan center & monastery, Vashisht village, known for its hot Sulphur springs Roerich art Gallery. Take a sledge ride down the slopes & try luck by climbing the little snow hills. On descenting to Manali, and Solang Valley. 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> MANALI - DHARAMSHA
								</p>
								<p class="aj">After breakfast check out from the Hotel & drive to (6 - 7 hrs) Dharamshala on this day we visit Kullu have adventure of river rafting paragliding and then palampur ,Baijnath . Overnight stay at Dharamshala.</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 check out from the Hotel & explore local places of Mcleodganj dharamshala ,bhagsunaag and then drive to Dalhousie (4 hrs), situated at 2039 mts in the outer slopes of the Dhaula Dhar range with its natural beauty and natural surroundings. Arrive & transfer to hotel. Rest of the day at leisure. Night stay in 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 7:</b> DALHOUSIE - KHAJJIAR - DALHOUSIE
								</p>
								<p class="aj">Morning drive to Khajjiar, one of the most scenic saucer shaped Plateau and is surrounded by dense pine and deodar forests, its beauty has further been enhanced by a small lake in the center with a floating island and 9-hole golf course here are the other interesting places to cover. Return to Dalhousie Hotel stay over night.</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 - AMRITSAR
								</p>
								<p class="aj">Morning after breakfast drive to Amritsar (3-4hrs) by on tour sightseeings and in evening visit Wagah border and come back to Amritsar . over night 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 9:</b> AMRITSAR LOCAL - CHANDIGRAH DROP
								</p>
								<p class="aj">Morning after breakfast move to visit golden temple , Jalyawala baag and move towords Chandigrah. Cab will drop you at Airport/Railway .<br />
TOUR ENDS</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>Cabs : AC ( Note : A/C will won’t be operational in hills .</li><li>
Dinner,Breakfast</li><li>
Hotel Accomodation</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Meal plan : Lunch ,</li><li>
Cabs : Non-</li><li>
AC 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>~^#^~~^#^~<ul>
	<li>The rates are subjects to change without any prior notice. - Accommodation in the itinerary at the mentioned hotels or the similar hotels .</li>
	<li>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.</li>
	<li>From the booking date till 30 days prior to the departure date, 30 % of the package cost is chargeable.</li>
	<li>From 30 days to 15 days prior to the departure date, 50 % of the package cost is chargeable.</li>
	<li>From 15 days to 7 days prior to departure date, 75 % of the package cost is chargeable.</li>
	<li>For cancellations made within 5 days prior to the departure date, 100% of the package cost is chargeable.</li>
	<li>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 depending upon availability at the time of check - in. the category of room as specified on your confirmation voucher</li>
	<li>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.</li>
	<li>Room Heater charges will be extra charged as per hotel rates in every hotel.</li>
	<li>Meal plan will be veg in every hotel.( Non veg will be included on travellers request ).</li>
	<li>Rohtang Pass Permit and sighscene will be provided as per govt. Terms and conditions.</li>
	<li>Below 5 Years child will be complementry.More then 5 yrs Child will be charged as adults cost.</li>
	<li>All payments of package cost should be cleared before Last day check out of the tour.</li>
</ul>

<p><strong>Confirmation Process</strong>

<ul>
	<li>We would be delighted to plan your holiday and confirm your reservation depending upon the availability from the hotels/ airlines at the time of making payments. Payments can be made by Cheque or Cash can be deposited in any bank across the country.</li>
	<li>You can deposit the payment either by cash, cheque or online in any branch of this Best regards,</li>
</ul>

<p>&nbsp;<br />
Account Holder - - Tanish himachal tours<br />
Bank - Coorporation Bank<br />
Account no - 057501601000641<br />
IFSC - CORP0000575												</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 With 15 Adults - 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="128050"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Himachal Tour With 15 Adults - 8 Nights / 9 Days Tour Packages";i:2;s:193:"book himachal tour with 15 adults - 8 nights / 9 days tour packages, hill station tour packages, chandigarh city, dalhousie, khajjiar, kufri, manali, shimla, dharamshala, amritsar tour packages";i:3;s:246:"Book Himachal Tour With 15 Adults - 8 Nights / 9 Days tour packages from Tanish Himachal Tours - Get attractive 8 Nights / 9 Days Hill Station  tour packages for  Chandigarh City, Dalhousie, Khajjiar, Kufri, Manali, Shimla, Dharamshala, Amritsar.";i:4;s:814:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chandigarh City, Dalhousie, Khajjiar, Kufri, Manali, Shimla, Dharamshala, Amritsar"        
		                 },
		      "description": "Meal plan : Lunch ,
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": "Himachal Tour With 15 Adults",
		      "telephone": "+91-9736035555"
		    }
		    </script>
			";i:5;N;}