a:6:{i:0;s:8188:"				<div class="h1"><h1>Delights of Himachal Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.geetcompany.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Delights of Himachal Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/22362/55097.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/55097.jpg"  width="150" height="150"    alt="Delights of Himachal Tour" title="Delights of Himachal Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Tour Code :</b> 114</p>
												<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Dalhousie, Dharamshala</p>
												<p><b>Price (Starting From) :</b>						
						INR 18099 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Delights of Himachal Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="28083"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
											<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Delhi - Dalhousie
									</p>
									<div class="data p10px">pick up from Delhi and directly transfer to Dalhousie. Check-in to the hotel. Day is at leisure. Overnight stay at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Dalhousie - Panchpula, Subash Baoli, St John's Church
									</p>
									<div class="data p10px">After enjoying a delicious breakfast, set out on a sightseeing tour visiting Panchpula, Subash Baoli, St. John\'s Church and St. Francis Church. Return and have a good night\'s sleep at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Dalhousie - Khajjiar - Dalhousie - Excursion to Khajjiar
									</p>
									<div class="data p10px">Get up to a lazy morning and after enjoying breakfast, go for an excursion to Khajjiar, popularly known as \'Mini Switzerland\'. Return to Dalhousie for an enjoyable dinner and a comfortable overnight stay at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Dalhousie - Dharamsala
									</p>
									<div class="data p10px">After a tasty breakfast, proceed to Dharamshala, where His Holiness Dalai Lama lives in exile. Upon arrival check in at the hotel. Spend the afternoon at leisure followed by dinner and an overnight stay at the hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Dharamsala  Sightseeing
									</p>
									<div class="data p10px">This morning set out on a city tour of Dharamshala/Mc Leod Ganj visiting Dalai Lama Temple Complex, Bhagsunag Fall & Temple, Church of St. John, War Memorial, Kangra Art Museum, Cricket Stadium and Norburlinka Institute. Spend the rest of the day at leisure and comfortably stay at hotel overnight.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Dharamsala - Delhi
									</p>
									<div class="data p10px">Post breakfast transfer to Delhi.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Dalhousie<br />
<br />
Dalhousie (2036 m) is a hill station full of colonial charm that holds lingering echoes of the Raj. Spread out over the five hills (Kathlog, Potreys, Tehra, Bakrota and Balun) the town is named after the 19th century British Governer General Lord Dalhousie. It was popular with the British Army personnel in 1860's. The town’s varying altitude shades it with a variety of vegetation that includes stately grooves of pines, Deodar, oaks and flowering rhododendrowns. Rich in colonial architecture, the town preserves some beautiful churches. St. John church is the oldest one built in 1863, St. Francis was built in 1894, St. Andrew in 1903 and St. Patric in 1909.<br />
<br />
Dharamsala<br />
<br />
In 1905, tragedy struck Dharamshala when an earthquake levelled it completely. After its reconstruction, Dharamshala flourished as a quiet health resort. It is divided into two distinct parts. Lower Dharamshala has civil offices and business establishments with courts. Kotwali bazaar and Upper Dharamshala comprise of places with names which bear witness to its history like McLeod Ganj and Forsythe Ganj. Since 1960, when it became a temporary headquarter of His Holiness The Dalai Lama, Dharamshala has risen to international fame as "The Little Lhasa in India". Mc Leod Ganj is 9 km from Dharamshala.<br />
<br />
In and around Dharamshala, one can visit the Kangra Art museum at Kotwali bazaar, War memorial, Kunal Pathri temple and tea gardens on way to Kunal Pathri. There is also a beautiful Cricket stadium in the city facing mighty Dhauladhar.Any Meals other than mentioned in inclusions<br />
Any Entrance & Guide Charges<br />
Train / Air Tickets<br />
Personal expenses such as tips, porterage, telephone calls, rooms service, etc<br />
Travel Insurance.<br />
Trip to Rohtang Pass in Manali<br />
GST - 3.09% extra01-1031-03							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Transport</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>Any Meals other than mentioned in inclusions</li><li>
Any Entrance & Guide Charges</li><li>
Train / Air Tickets</li><li>
Personal expenses such as tips, porterage, telephone calls, rooms service, etc</li><li>
Travel Insurance.</li><li>
Trip to Rohtang Pass in Manali</li><li>
GST - 3.09% extra</li></ul><br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:64:"Book Delights of Himachal Tour - 5 Nights / 6 Days Tour Packages";i:2;s:124:"book delights of himachal tour - 5 nights / 6 days tour packages, valley tour packages, dalhousie, dharamshala tour packages";i:3;s:155:"Geet & Company offers Delights of Himachal Tour - 5 Nights / 6 Days tour package, budget Valley tour packages for Dalhousie, Dharamshala at exciting price.";i:4;s:2213:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dalhousie, Dharamshala"        
		                 },
		      "description": "Dalhousie

Dalhousie (2036 m) is a hill station full of colonial charm that holds lingering echoes of the Raj. Spread out over the five hills (Kathlog, Potreys, Tehra, Bakrota and Balun) the town is named after the 19th century British Governer General Lord Dalhousie. It was popular with the British Army personnel in 1860's. The town’s varying altitude shades it with a variety of vegetation that includes stately grooves of pines, Deodar, oaks and flowering rhododendrowns. Rich in colonial architecture, the town preserves some beautiful churches. St. John church is the oldest one built in 1863, St. Francis was built in 1894, St. Andrew in 1903 and St. Patric in 1909.

Dharamsala

In 1905, tragedy struck Dharamshala when an earthquake levelled it completely. After its reconstruction, Dharamshala flourished as a quiet health resort. It is divided into two distinct parts. Lower Dharamshala has civil offices and business establishments with courts. Kotwali bazaar and Upper Dharamshala comprise of places with names which bear witness to its history like McLeod Ganj and Forsythe Ganj. Since 1960, when it became a temporary headquarter of His Holiness The Dalai Lama, Dharamshala has risen to international fame as "The Little Lhasa in India". Mc Leod Ganj is 9 km from Dharamshala.

In and around Dharamshala, one can visit the Kangra Art museum at Kotwali bazaar, War memorial, Kunal Pathri temple and tea gardens on way to Kunal Pathri. There is also a beautiful Cricket stadium in the city facing mighty Dhauladhar.Any Meals other than mentioned in inclusions
Any Entrance & Guide Charges
Train / Air Tickets
Personal expenses such as tips, porterage, telephone calls, rooms service, etc
Travel Insurance.
Trip to Rohtang Pass in Manali
GST - 3.09% extra01-1031-03",
		      "name": "Delights of Himachal Tour",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;}