a:6:{i:0;s:11610:"				<div class="h1"><h1>Himachal Highlight with Kasauli Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.amenityworldholidayz.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.amenityworldholidayz.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Himachal Highlight with Kasauli 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Chail, Manali, Shimla, Kasauli, Naldhera</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.amenityworldholidayz.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himachal Highlight with Kasauli 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="49351"/>
						</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_13/388058/96292.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/388058/96292.jpg"  width="150" height="150"    alt="Himachal Highlight with Kasauli Tour" title="Himachal Highlight with Kasauli Tour" /></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> Delhi - Kasauli
								</p>
								<p class="aj">On arrival in Delhi, meet our Ihpl representative, who will help you take a transfer to your first destination, Kasauli by road. Kasauli is a famous hill station near Shimla. This hill station is known for the serenity and tranquility that it offers. Kasauli is one destination which promises to complete your holiday. On reaching Kasauli, check-in to the hotel and freshen up. Later, step out to explore the natural beauty of the place. Visit famous attractions of the place including Sunset and Monkey Points. After sightseeing at these places, you can go for a stroll at the Mall Road Kasauli. Return to the hotel for dinner. Have a comfortable stay at 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 2:</b> Kasauli - Chail
								</p>
								<p class="aj">This morning, you leave Kasauli and head towards Chail. After having your breakfast at the hotel, start driving towards Chail, which is around 73 kms from Kasauli. Chail is a beautiful hill station known to house the world’s highest cricket ground. This destination, allows all the tourists to relax and rejuvenate in the lap of nature. The place remains thronged with tourists all through the year who love trekking and exploring the serene landscapes of the place.<br />
<br />
On arrival in Chail, check-in to the hotel. After taking some rest, you can go for a short sightseeing trip. When in Chail, you can’t afford to miss visiting attractions such as Chail Palace, Chail Wildlife Sanctuary, Kali Ka Tibba and Sadhupul Lake. Visit all these places and enjoy having a look at the beautiful valleys forming their backdrop. Later, return to the hotel. Enjoy your 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> Chail - Shimla
								</p>
								<p class="aj">After having your breakfast in the morning, leave for Shimla. Drive towards Shimla which is around 40 kms from Chail. Known as the "Queen of Hills", Shimla is an alluring holiday destination. The place is truly blessed by nature and has much to offer to all the tourists, right from the spectacular views of the Himalayas to captivating attractions. So, once you reach this beautiful hill station, check-in to the hotel and freshen up. Go out for sightseeing at the different attractions of this place. You can start with Christ church Shimla .Which is a famous tourist attraction and then continue with Vice regal Lodge, and Jakhu Temple etc. In the evening, you can roam around the mall road and shop at the local shopping centers. Later, return to the hotel. Stay overnight 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 4:</b> Shimla - Naldhera
								</p>
								<p class="aj">This morning brings in new freshness to your holiday with another stunning destination. Today, you head towards Naldhera by road. This small town has a charm of its own which leaves every tourist spellbinding. The place is set amidst tall trees and lofty mountains which add to the beauty of this place. It is the perfect destination if you wish to spend some time in tranquility. So, once you reach Naldhera, check-in to the hotel and then step out to enjoy the fresh air of this place. Later, visit the Naldhera Golf Course which is India’s oldest and beautiful Golf Course. Also visit famous attractions of the place including Shaily Peak, Tattapani, Craignano and Mahakali Temple.</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> Naldhera - Manali
								</p>
								<p class="aj">Today, you take a transfer to your next destination, Manali. Have your breakfast and then start driving towards Manali which is around 235 kms from Naldhera. Manali is a beautiful hill station set in the lap of the Himalayas. It is a popular hill station where people visit throughout the year to explore the beauty of nature at its best. This place promises to leave you mesmerized in just one glance. The place has a lot to offer to adventure lovers with activities such as skiing, mountaineering and trekking.<br />
<br />
On arrival in Manali, check-in to the hotel. Take some rest and then step out to experience the enthralling beauty of nature. You can enjoy activities like trekking and skiing to get the best of this alluring destination. Don’t miss visiting the famous attractions of the place including Hidimba Temple, and Rahala Falls etc. Later, return to the hotel and stay overnight.</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 - Rohtang Pass - Manali
								</p>
								<p class="aj">This morning you leave for the star attraction of this tour, Rohtang Pass. Have your breakfast and then start heading towards Rohtang Pass which is around 52 km from Manali. You really can’t afford to miss this place which is known as the ‘Highest Jeepable Road in the world’. The place is crowded by tourists all around the year. Here, you get to enjoy enthralling views of the snow capped mountains in chilly weather. You can enjoy activities such as skiing, skating and mountain biking. After enjoying some great time at this place, leave for Manali. Have a comfortable 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 7:</b> Manali - Delhi
								</p>
								<p class="aj">This day you leave Manali and head towards Delhi. On reaching Delhi, you can depart for your onward journey. The tour ends here.</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>
												</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.amenityworldholidayz.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himachal Highlight with Kasauli 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="49351"/>
						</form>
						</div>
						
						";i:1;s:75:"Book Himachal Highlight with Kasauli Tour - 6 Nights / 7 Days Tour Packages";i:2;s:164:"book himachal highlight with kasauli tour - 6 nights / 7 days tour packages, valley tour packages, new delhi, chail, manali, shimla, kasauli, naldhera tour packages";i:3;s:218:"Book Himachal Highlight with Kasauli Tour - 6 Nights / 7 Days tour packages from Amenity World Holidayz - Get attractive 6 Nights / 7 Days Valley  tour packages for  New Delhi, Chail, Manali, Shimla, Kasauli, Naldhera.";i:4;s:459:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Chail, Manali, Shimla, Kasauli, Naldhera"        
		                 },
		      "description": "",
		      "name": "Himachal Highlight with Kasauli Tour",
		      "telephone": "+91-9827239142"
		    }
		    </script>
			";i:5;N;}