a:6:{i:0;s:11218:"				<div class="h1"><h1>Enchanting Himachal Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bluedolphintravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bluedolphintravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Enchanting 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Chandigarh City, New Delhi, Kufri, Manali, Shimla, Rohtang Pass</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.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Enchanting 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="94468"/>
						</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/428110/161133.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428110/161133.jpg"  width="150" height="150"    alt="Enchanting Himachal Tour" title="Enchanting 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 - Shimla
								</p>
								<p class="aj">You will meet our representative, after arriving in New Delhi, who’ll escort you to your first destination Shimla by road. Complete all check-in formalities at a pre-booked hotel in Shimla and relax your limbs. The evening is scheduled for shopping at the famous Mall Road. Well-known as The Mall, it is the town’s main street dotted with showrooms, restaurants and shops. This road bustles with tourist activity all day long. Return back 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 2:</b> Shimla - Kufri - Shimla
								</p>
								<p class="aj">Shimla, The Summer Capital of British India, is home to various tourist destinations. Post breakfast on day 2, depart from your hotel for visiting the attractions. The must-see destinations of the day include Kufri- an alluring hill town blessed with scenic locations, Jakhoo Temple- an admired ancient Hindu shrine that is dedicated to Lord Hanumana, Shri Sankat Mochan Temple-another popular temple dating back to 1950’s, City Church-  the second-oldest church in North India that stands in Neo-Gothic manner, and more. Later, stroll on the The Ridge road to relish the wonderful weather. Have your dinner and stay at the hotel for the 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 3:</b> Shimla - Manali
								</p>
								<p class="aj">On day 3 of the tour, after the morning supper, start heading towards Manali. Treat your eyes to the snow-shrouded peaks and abundant foliage on the way. Upon reaching, check-in at your lodge. Relax for some time. You are free to spend the day as per your liking. In the evening, visit the vivacious and rambling Mall road for shopping. You can purchase some nice woolen clothes, handicrafts and more. Savor dinner and spend your night in 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> Manali - Rohtang Pass - Manali
								</p>
								<p class="aj">On day 4 of the expedition, once you have your morning supper, get all set to walk around the tantalizing hill town of Manali, which is also well-liked for offering interesting escapade opportunities to enthusiasts. Today, you’ll relish the stopover at Rohtang Pass and Solang Valley. Once you visit these two places, you can’t just resist yourself from praising the alluring landscape but you can also partake in various kinds of adventure activities such as paragliding, zip lining, rappelling, rock climbing etc. Though out-of-the-way during winters, both these destinations bustle with vacationer activities in the summer season. Return to the hotel, have a meal, and retire for the 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 5:</b> Manali Sightseeing
								</p>
								<p class="aj">Relish the rustic charm of Manali on Day 5 of the tour. After breakfast, the group will drive towards Old Manali, an abode to historic temples. Today, you visit Manu Temple- close to the main market, this temple enshrines Manu Rishi who was a noted Hindu Sage, Hidimba Devi Temple- an ancient temple housing Devi Hidimba, the spouse of one of the five Pandavas, Bhim, and Vashisht Temple- estimated to be around 4000 years old. The next stopover is the Tibetan Monastery. Later in the evening, witness the exotic wildlife of the region at Van Vihar National Park. Return back to the hotel for savoring dinner and 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 6:</b> Manali - Chandigarh
								</p>
								<p class="aj">On day 6, you’ll be served a delicious breakfast. Post breakfast, we’ll execute the check-out formalities. Subsequently, begin driving towards ‘The City Beautiful’ Chandigarh. After you reach Chandigarh, check-in at the hotel. The evening is for engaging in leisure activities. One may visit the noted markets, may stuff yourselves with the local delicacies and more. Probably the best-designed city of the country, Chadigarh is well-known for its architecture, attractions and metropolitan designing. 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 7:</b> Chandigarh - Delhi
								</p>
								<p class="aj">This is the final day of the vacation. After breakfast, we’ll embark on a local excursion of Chandigarh. The attractions scheduled for the day include Nek Chand Rock Garden- a garden comprising of bits and pieces that are crafted from urban and industrial throw-away such as plastic bottles, bangles, human hair etc, Zakir Hussain Rose Garden- Asia’s largest botanical garden that houses 50,000 rose-bushes of around 1600 varied genus, and Shanti Kunj- settled away from the customary hustle-bustle of the conurbation, this garden has plants with medicinal properties. After this, relish boating at Sukhna Lake, another admired attraction. We will bid adieu to Chandigarh as soon as we hit the road back to Delhi. You will be escorted to the airport to board the flight for your forward flight.</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>
															</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.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Enchanting 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="94468"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Enchanting Himachal Tour - 6 Nights / 7 Days Tour Packages";i:2;s:164:"book enchanting himachal tour - 6 nights / 7 days tour packages, valley tour packages, chandigarh city, new delhi, kufri, manali, shimla, rohtang pass tour packages";i:3;s:201:"Blue Dolphin Travels offers Enchanting Himachal Tour - 6 Nights / 7 Days tour package, budget Valley tour packages for Chandigarh City, New Delhi, Kufri, Manali, Shimla, Rohtang Pass at exciting price.";i:4;s:459:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Chandigarh City, New Delhi, Kufri, Manali, Shimla, Rohtang Pass"        
		                 },
		      "description": "",
		      "name": "Enchanting Himachal Tour",
		      "telephone": "+91-9558888723"
		    }
		    </script>
			";i:5;N;}