a:6:{i:0;s:10673:"				<div class="h1"><h1>Himachal Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.saisaharatravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.saisaharatravels.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Himachal 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">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Chandigarh City, New Delhi, 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.saisaharatravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himachal 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="106213"/>
						</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_10/270877/176379.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/270877/176379.jpg"  width="150" height="150"    alt="Himachal Tour" title="Himachal 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 - Arrival
								</p>
								<p class="aj">Once you arrive at the Delhi airport or railway station, you will get an assisted transfer to your hotel.  After some rest, leave for sightseeing. You will cover the attractions of Old and New Delhi. The day’s visit might include Red Fort, Jama Masjid, Chandni Chowk, President’s House, Qutub Minar etc. 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 2:</b> Delhi - Manali
								</p>
								<p class="aj">After breakfast, get transported to the New Delhi railway station for boarding the train to Chandigarh. Once you arrive in Chandigarh, get an on road transfer to Manali. Manali, located at an altitude of 6726 feet is an extremely popular hill station, amidst the Beas River Valley in Himachal Pradesh. Once you reach Manali, check into the hotel. After journeying for the entire, now it is time for a good night’s sleep. 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 3:</b> Manali - Rohtang Pass - Manali
								</p>
								<p class="aj">Entire day 3 is going to be full of activity. After breakfast, you will go for Gulaba, Kothi Gorge, Marhi, Rohtang Pass (Subject to weather) and Solang Valley. Admire the scenic beauty around you. While at Rohtang Pass and Solang Valley, you can enjoy a number of adventure and fun activities like Igloo-making, Paragliding, Trekking, Skiing and more. Back to Manali for an 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 4:</b> Manali- Kullu
								</p>
								<p class="aj">On the 4th day, have your breakfast and leave for covering the attractions of Manali. Visit the popular Hidimba Devi Temple constructed during 1553, Manu Temple, Tibetan Monastery and Vashisht Village. Have your lunch, and get transportation to Kullu by road. On the way, visit the Vaishno Devi Temple. Once you arrive in Kullu, check into a hotel. The evening is free for enjoying fun activities. Explore the local bazaar of from where you can shop for woolens, which are of excellent quality. Admire the amazing surroundings. 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 5:</b> Kullu- Shimla
								</p>
								<p class="aj">Relish an assortment of delicacies in your breakfast and by road get transferred Shimla. The capital of Himachal Pradesh is one of the most popular hill stations of India. The buildings of this hill town have kept intact the colonial feel. Once you reach Shimla, check into the hotel. Spend rest of the day in doing activities of your interest. Take a leisure walk admiring the natural beauty that is spread around you. In the evening, you can shop at the Mall road or can take a leisure walk on the Ridge road. 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> Shimla - Kufri - Chail - Shimla
								</p>
								<p class="aj">after breakfast is fixed for an entire day’s excursion to Naldehra, Kufri and Chail. Kufri is an extremely popular destination for adventure activities such as skiing and tobogganing. These places are extremely beautiful and are a treat for one’s eyes. Try your hand at hiking, once in Chail. Back to Shimla for an 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> Shimla - Chandigarh
								</p>
								<p class="aj">After breakfast, half-day is fixed for sightseeing in Shimla where you are going to cover attractions like Sankat Mochan Temple, Indian Institute of Advanced Studies and Jakhu Temple, an ancient temple, dedicated to Lord Hanuman. After lunch, begin your road journey for Chandigarh. Once you arrive, check-in at the hotel. If time and energy permits, you can shop at the popular markets of Chandigarh. 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 8:</b> Chandigarh - Delhi
								</p>
								<p class="aj">Have your breakfast and leave for a half - day tour of Chandigarh. You are going to cover the well-known Rock Garden, a beautiful sculpture garden, also known as Nek Chand’s Rock Garden. Afterwards, you are going to visit the beautiful Sukhna Lake, a popular tourist attraction in Chandigarh. Try boat riding on this amazing artificial lake. Return back to Delhi by road. Get down at the airport or the railway station for your onward destination journey.</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>
																		<li>Transport</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.saisaharatravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himachal 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="106213"/>
						</form>
						</div>
						
						";i:1;s:52:"Book Himachal Tour - 7 Nights / 8 Days Tour Packages";i:2;s:139:"book himachal tour - 7 nights / 8 days tour packages, valley tour packages, chandigarh city, new delhi, kullu, manali, shimla tour packages";i:3;s:197:"Book Himachal Tour - 7 Nights / 8 Days tour packages from Sai Sahara Tours & Travels - Get attractive 7 Nights / 8 Days Valley  tour packages for  Chandigarh City, New Delhi, Kullu, Manali, Shimla.";i:4;s:434:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chandigarh City, New Delhi, Kullu, Manali, Shimla"        
		                 },
		      "description": "",
		      "name": "Himachal Tour",
		      "telephone": "+91-9623788906"
		    }
		    </script>
			";i:5;N;}