a:6:{i:0;s:13473:"				<div class="h1"><h1>Essence of Himachal with Golden Temple Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.getsholidayindiatour.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.getsholidayindiatour.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Essence of Himachal with Golden Temple 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">Tour Code </td>
						<td class="p5px pl0px vat">GHIT-55</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Dalhousie, Manali, Shimla, Dharamshala, Amritsar</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.getsholidayindiatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Essence of Himachal with Golden Temple 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="116335"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
										</tr>
					</table>
					</div>
					<br />
					
					Accommodation on Double / Twin Sharing Basis as Per Package Selected.<br />
MAP Plan (Breakfast and Dinner).<br />
All Sightseeing as per Itinerary.<br />
All Transportation by Indigo/Dezire (2-4Pax) & Innova- Xylo (6Pax).Any Kind of Personal Expenses or Optional Tours / Extra Meals Ordered.<br />
Tips, Insurance, Laundry, Phone Calls.<br />
Any Kind of Drinks (Alcoholic, Mineral, Aerated).<br />
Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad weather, ill health, roadblocks and/or any factors beyond control.<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> New Delhi – Shimla
								</p>
								<p class="aj">Arrive Delhi airport / railway station and drive to Shimla (350 Kms. / 08 Hrs.) the former summer capital of British India, set amidst the snow capped Shivalik Mountains which offers some of the most stunning views of the mighty Himalayas. Enroute visit Pinjore Gardens or Ropeway at Timber Trail, Parwanoo. Arrive and check into the hotel. Evening free to stroll on The Mall and the famous Ridge. Ridge is famous for its stunning vistas of the valley and the Christ Church which is the most photographed landmark of Shimla. Overnight 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 2:</b> Shimla
								</p>
								<p class="aj">After Breakfast Excursion to Kufri. Kufri is famous for its Himalayan National Park, Poney and Yak Ride and One can see the endless Himalayan Panorama from Kufri, after lunch sightseeing of various places in and around. Shimla mosques built in(1830), Vice regal Lodge built in (1885), Christ Church built in (1844), The Gaiety Theatre- the first beauty contest of world was supposed to start (1887), The Grindlays Bank (1912)- the world wide bank started by Robert Melville Grindlay, The Scandal Point and The famous Shopping Plaza of the North The Mall. O/N 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> Shimla to Manali (265 Kms. / 8 Hrs.)
								</p>
								<p class="aj">Transfer from Shimla to Manali by surface Enroute visit Kullu valley, Beas River, Dashehra maidan etc. Arrive and transfer to hotel Manali. Evening free for rest. 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 Sightseeing)
								</p>
								<p class="aj">Morning proceed to Visit the 450 years old Hidimbadevi Temple, the oldest temple in Manali, Tibetean center & monastery, Vasisth village, known for its hot Sulpher springs Roerich art Gallery. Bahist Temple, Solang Valley which offers a spectacular view of glaciers and snow capped peaks..at an altitude of 3978 meters. Also visit Kothi, Rahala Water falls on the way. (Subject to weather conditions and road being open). Rest of the day is at leisure or takes a stroll down the Mall road. 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> Rohtang Pass (100 Kms. Round Tour)
								</p>
								<p class="aj">Early morning visit A place not to be missed - Rohtang Pass, (51 Kms. / 3 Hrs.) from Manali at an altitude of 3978 meters. Also visit Kothi, Rahala Water falls on the way.(subject to weather conditions and road being open). Rest of the day is at leisure or takes a stroll down the Mall road. Night stay in Manali. (Visit to Rohtang Pass not included in the cost. subject to weather conditions and road being open).(As per Himachal Goverment Rouling outsiders not go to do the Rohtang Pass & Guest Have to Take Car from union on Direct Payment Basis. )</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 to Dharmshala (280 Kms. / 10 Hrs.)
								</p>
								<p class="aj">A distance of 260 kilometer on the way stopping at Baijnath known for its Shiva Temple and further at Palampur famous For Tea Garden. Dharamhsala is a hill-station lying on the spur of the Dhauladhar Mountains about 18 kms north-east of Kangra, It is known for its scenic beauty set amidst high pine and oak trees. Since 1960, when it became the temporary headquarters of His Holiness The Dalai Lama, Dharamshala has risen to international repute as “The Little Lhasa in India”. O/N Hotel 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 7:</b> Dharmshala to Dalhousie (145 Kms. / 5 Hrs.)
								</p>
								<p class="aj">After Breakfast drive from Dharamshala towards Dalhousie after doing the local sightseeing of Places which includes, His holiness Dalai lama residence at Mc Leodgunj, War memorial, Bhagsunath temple and Dal Lake. Reach Dalhousie in the evening. O/N Hotel 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 8:</b> Dalhousie - Khajjiar
								</p>
								<p class="aj">Dalhousie has been named after the British Governor – General of the l9th century, Lord Dalhousie. Surrounded by varied vegetation – pines, dodders, oaks and flowering rhododendron. Local sightseeing of Dalhousie includes visit to Panjipula, Subhash Baoli and excursion to Khajjiar 24 Kms. from Dalhousie surrounded by thick Deodar forest. Drive from Dalhousie to Khajjiar is awesome. O/N 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 9:</b> Dalhousie – Amritsar (200 Kms. / 3-4 Hrs.)
								</p>
								<p class="aj">Transfer from Dalhousie to Amritsar by Surface. Arrive Amritsar and check in to your pre booked hotel. After freshen up visit Golden Temple and enjoy the spiritual place. Overnight at 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 10:</b> Amritsar
								</p>
								<p class="aj">Morning after breakfast visit Wagah Border, Jallianwala Bagh, Golden Temple, Mata Mandir, Durgiana Temple and in evening visit the local market to buy some stuff as a memory of the trip. Overnight stay at Hotel.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Amritsar to Delhi (470 Kms. / 8-9 Hrs.)
									</p>
									<p class="aj">After B/F check out from hotel. Depart for Delhi. On arrival drop at Railway Station/ Airport.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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">Exclusions :</p> <ul><li>Any Kind of Personal Expenses or Optional Tours / Extra Meals Ordered.</li><li>
Tips, Insurance, Laundry, Phone Calls.</li><li>
Any Kind of Drinks (Alcoholic, Mineral, Aerated).</li><li>
Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad weather, ill health, roadblocks and/or any factors beyond control.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p><strong>NOTE</strong>

<ul>
	<li>Rooms are subject to availability.</li>
	<li>Charges for AC / Heater will be extra and as per hotel to hotel basis.</li>
	<li>Visit to Rohtang Pass will be extra only.</li>
	<li>AC will not operate on Hills.</li>
	<li>Government Service Tax (GST) will be extra only.</li>
	<li>Vehicles are on Disposal from Station to Station or Airport to Airport.</li>
	<li>Vehicle Charges are inclusive of all toll taxes / parking and driver allowance.</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.getsholidayindiatour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Essence of Himachal with Golden Temple 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="116335"/>
						</form>
						</div>
						
						";i:1;s:73:"Book Essence of Himachal with Golden Temple Tour - 111 Days Tour Packages";i:2;s:159:"book essence of himachal with golden temple tour - 111 days tour packages, valley tour packages, dalhousie, manali, shimla, dharamshala, amritsar tour packages";i:3;s:199:"Gets Holiday India Tour offers Essence of Himachal with Golden Temple Tour - 111 Days tour package, budget Valley tour packages for Dalhousie, Manali, Shimla, Dharamshala, Amritsar at exciting price.";i:4;s:997:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dalhousie, Manali, Shimla, Dharamshala, Amritsar"        
		                 },
		      "description": "Accommodation on Double / Twin Sharing Basis as Per Package Selected.
MAP Plan (Breakfast and Dinner).
All Sightseeing as per Itinerary.
All Transportation by Indigo/Dezire (2-4Pax) & Innova- Xylo (6Pax).Any Kind of Personal Expenses or Optional Tours / Extra Meals Ordered.
Tips, Insurance, Laundry, Phone Calls.
Any Kind of Drinks (Alcoholic, Mineral, Aerated).
Cost incidental to any change in the itinerary/ stay on account of flight cancellation due to bad weather, ill health, roadblocks and/or any factors beyond control.",
		      "name": "Essence of Himachal with Golden Temple Tour",
		      "telephone": "+91-8532003202"
		    }
		    </script>
			";i:5;N;}