a:6:{i:0;s:32939:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Dharamshala Tour Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="https://www.westernhimalayanholidays.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="https://www.westernhimalayanholidays.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Dharamshala Tour Package</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/225768.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/225768.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/225768.jpg"  alt="Dharamshala Tour Package" title="Dharamshala Tour Package" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279659.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279659.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279659.jpg"  alt="Dharamshala Tour Package" title="Dharamshala Tour Package" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279660.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279660.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279660.jpg"  alt="Dharamshala Tour Package" title="Dharamshala Tour Package" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279661.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279661.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279661.jpg"  alt="Dharamshala Tour Package" title="Dharamshala Tour Package" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
							
							<ul class="lsn" id="bxslider-pager"><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/225768.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279659.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279660.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/279661.jpg"></a></li></ul>					
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Dharamshala Tour Package</p>
					
											<p class="mb5px"><b>Tour Code :</b> 01206</p>
												<p class="mb5px"><b>Duration :</b> 
						2 Nights / 3 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Dharamshala, Pathankot, Mcleodganj</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px"><i class="fa fa-inr"></i> 6999						</p>
						<p class="xxsmall alpha50">Per Person</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.westernhimalayanholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dharamshala Tour Package - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="144922"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Dharamshala tour package is a perfect weekend tour package for those looking for a refreshment from their busy life. Western Himalayan Holidays is serving as one of the reliable tour operators in Himachal Pradesh. Since the inception, we are serving everyone who is willing to enjoy a vacation in the Himalayan region. We are aided by a team of professional employees who are engaged in designing different travel packages for everyone. Our specialty is designing Kullu Manali honeymoon tour packages at a pocket-friendly price. We ensure the best for our clients by providing special deals and discounts on any package they purchase from us. Being a responsible tour operator, it is our duty to provide the best package as per the requirement of the client. We make the arrangements for booking tickets, making a reservation for hotels, providing cars on a rental basis, and provision for food. People can purchase the packages for visiting places like Shimla, Kullu, Manali, tosh, Dharamshala, McLeodganj Dalhousie, Kinnaur, Lahaul Spiti, Goa, Kerela and Leh Ladakh. All hotels and other accommodation that we book are equipped with amenities like an access to the internet, a continuous supply of power & water, 24-hours security, and an ample parking space.</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Pathankot to Dharamshala										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today Morning Reach Pathankot and Our Cab Will Pick You Up from Railway Station/airport and Transfer to the Hotel. After Freshen Up, Go Out for Dharamshala Local Sightseeing. It is the Buddhist Capital of the Tibetan Government in Exile. Visit the School of Tibetan Studies, Tibetan Institute for Performing Arts and Dal Lake. Dinner and Overnight Stay At Your Hotel in Dharamshala.																											   
												<div class="mt10px">
												
																	
														<p class="dib">Accommodation :<span class="b"> S N Resorts/Sky Lark/Similar</span></p> 
																										</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Dharamshala Mcleodganj										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast At the Hotel, Go Out for Mcleodganj Local Sightseeing, Mcleodganj is a Small Market Filled with Variety of Tibetan Handicrafts and Artifacts. Visit Dharamsala’s Main Buddhist Temple, Dalai Lama Temple, Tsuglagkhang is Situated Opposite the Residence of Dalai Lama, Tsuglagkhang is the Central Cathedral or the Main Temple of the Buddhist. the Temple Houses Three Main Images, Which is Sakyamuni Buddha, Avalokitesvara and Padmasambhava, Then Visit Bhagsunath Temple and Waterfall, Charming Church of St. John, Norbulingka Institute Etc. Dinner and Overnight Stay At the Hotel.															   
												<div class="mt10px">
												
																	
														<p class="dib">Accommodation :<span class="b"> S N Resorts/Sky Lark/Similar</span></p> 
																										</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Chamunda Devi and Pathankot drop										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today Morning, After Breakfast, Checkout from the Hotel and Proceed for Chamunda Devi Temple. Afternoon, Leave for Pathankot and Our Cab Will Drop You to the Railway Station So that You Can Proceed for Your Further Journey. this Ends Our Tour with Sweet Memories.															   
												<div class="mt10px">
												
																	
														<p class="dib">Accommodation :<span class="b"> None</span></p> 
																										</div>	
															
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Veg Meals</li>
																				<li>All Transfer Through Personal Cab Swift Dzire or Toyota Etios.</li><li>
accommodation On Deluxe Room .</li><li>
meal Plan – Map( Bed Tea, Breakfast & Dinner )</li><li>
all Tolls and Parking .</li><li>
all Transfers & Sight Seeings as per Tour Itinerary.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Air fare / train fare.</li><li>
Personal expenses such as laundry, luggage charges, telephone calls, tips & gratuity, mineral water, soft & hard drinks, rafting, rock climbing, paragliding, joy ride (toy train), porterage.</li><li>
Travel insurance, entrance fees & guide charges.</li><li>
Snow vehicle fare, if road is block due to snow.</li><li>
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, which is directly payable on the spot).</li><li>
Room heater charges</li><li>
Anything which is not included in the inclusion.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>30% Advance Percentage of total booking amount.</li><li>
Airfare/Transport fare to be paid full at one time in advance.</li></ul>						
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
						
						<ul><li>If the Client is willing to amend or cancel his/her booking because of whatsoever reasons, the Company is liable to recover Cancellation charges from the Client. All cancellations are to be communicated in written and advance amount is non refundable.</li><li>
* Retention Amount varies as per the number of days left before your package start date. </li><li>
More than 30 days left - Full refund</li><li>
 15-30 days - 30% of the tour cost. </li><li>
1-15 days - 50% of the tour cost.</li><li>
 0-1 days - 100% of the tour cost.</li><li>
* Advance amount is non refundable.</li><li>
* Refund will be made within 15 working days from the date of receipt of the cancellation.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.westernhimalayanholidays.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dharamshala Tour Package - 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="144922"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/manali-tour-packages.htm" title="Tour Packages For Manali">Manali</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/kullu-tour-packages.htm" title="Kullu Tour Packages">Kullu</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/pathankot-tour-packages.htm" title="Pathankot Tour Packages">Pathankot</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/dalhousie-tour-packages.htm" title="Dalhousie Tour Packages">Dalhousie</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/kufri-tour-packages.htm" title="Kufri Tour Packages">Kufri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/nalagarh-tour-packages.htm" title="Nalagarh Tour Packages">Nalagarh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/chandigarh-city-tour-packages.htm" title="Chandigarh City Tour Packages">Chandigarh City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/manikaran-tour-packages.htm" title="Manikaran Tour Packages">Manikaran</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/khajjiar-tour-packages.htm" title="Khajjiar Tour Packages">Khajjiar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/naggar-tour-packages.htm" title="Naggar Tour Packages">Naggar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/mcleodganj-tour-packages.htm" title="Mcleodganj Tour Packages">Mcleodganj</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/hill-station-holidays-catid.htm" title="Hill Station Packages in Himachal">Hill Station</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/paragliding-holidays-catid.htm" title="Paragliding Packages">Paragliding</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/river-rafting-holidays-catid.htm" title="River Rafting Packages">River Rafting</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/kayaking-holidays-catid.htm" title="Kayaking Packages">Kayaking</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/mountaineering-holidays-catid.htm" title="Mountaineering Packages">Mountaineering</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.westernhimalayanholidays.in/skiing-holidays-catid.htm" title="Skiing Packages">Skiing</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/jeep-safari-holidays-catid.htm" title="Jeep Safari Packages">Jeep Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/rock-climbing-holidays-catid.htm" title="Rock Climbing Packages">Rock Climbing</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.westernhimalayanholidays.in/artificial-wall-climbing-holidays-catid.htm" title="Artificial Wall Climbing Packages">Artificial Wall Climbing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Dharamshala, Pathankot, Mcleodganj</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.westernhimalayanholidays.in/holiday-packages/shimla-manali-dharamshla-dalhousie-amritsar-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/226305.jpg"  alt="Shimla Manali Dharamshla Dalhousie Amritsar Tour" title="Shimla Manali Dharamshla Dalhousie Amritsar Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.westernhimalayanholidays.in/holiday-packages/shimla-manali-dharamshla-dalhousie-amritsar-tour.htm" title="Shimla Manali Dharamshla Dalhousie Amritsar Tour"><h3>Shimla Manali Dharamshla Dalhousie Amritsa..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 25999</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Dalhousie, Manali, Shimla, Dh..</p>
															<div class="mt10px small">
							<form name="pkg_145382" id="pkg_145382" method="post" action="https://www.westernhimalayanholidays.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.westernhimalayanholidays.in/holiday-packages/shimla-manali-dharamshla-dalhousie-amritsar-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Shimla Manali Dharamshla Dalhousie Amritsar Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="145382"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.westernhimalayanholidays.in/holiday-packages/shimla-manali-dharamshla-dalhousie-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/226301.jpg"  alt="Shimla Manali Dharamshla Dalhousie Tour" title="Shimla Manali Dharamshla Dalhousie Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.westernhimalayanholidays.in/holiday-packages/shimla-manali-dharamshla-dalhousie-tour.htm" title="Shimla Manali Dharamshla Dalhousie Tour"><h3>Shimla Manali Dharamshla Dalhousie Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 19999</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Manali, Shimla, Dharamshala</p>
															<div class="mt10px small">
							<form name="pkg_145377" id="pkg_145377" method="post" action="https://www.westernhimalayanholidays.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.westernhimalayanholidays.in/holiday-packages/shimla-manali-dharamshla-dalhousie-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Shimla Manali Dharamshla Dalhousie Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="145377"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.westernhimalayanholidays.in/holiday-packages/dalhousie-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/528623/225774.jpg"  alt="Dalhousie Tour Package" title="Dalhousie Tour Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.westernhimalayanholidays.in/holiday-packages/dalhousie-tour-package.htm" title="Dalhousie Tour Package"><h3>Dalhousie Tour Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 5999</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dalhousie, Khajjiar, Pathankot</p>
															<div class="mt10px small">
							<form name="pkg_144924" id="pkg_144924" method="post" action="https://www.westernhimalayanholidays.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.westernhimalayanholidays.in/holiday-packages/dalhousie-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dalhousie Tour Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="144924"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:63:"Book Dharamshala Tour Package - 2 Nights / 3 Days Tour Packages";i:2;s:141:"book dharamshala tour package - 2 nights / 3 days tour packages, hill station tour packages, dharamshala, pathankot, mcleodganj tour packages";i:3;s:184:"Western Himalayan Holidays offers Dharamshala Tour Package - 2 Nights / 3 Days tour package, budget Hill Station tour packages for Dharamshala, Pathankot, Mcleodganj at exciting price.";i:4;s:1691:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dharamshala, Pathankot, Mcleodganj"        
		                 },
		      "description": "Dharamshala tour package is a perfect weekend tour package for those looking for a refreshment from their busy life. Western Himalayan Holidays is serving as one of the reliable tour operators in Himachal Pradesh. Since the inception, we are serving everyone who is willing to enjoy a vacation in the Himalayan region. We are aided by a team of professional employees who are engaged in designing different travel packages for everyone. Our specialty is designing Kullu Manali honeymoon tour packages at a pocket-friendly price. We ensure the best for our clients by providing special deals and discounts on any package they purchase from us. Being a responsible tour operator, it is our duty to provide the best package as per the requirement of the client. We make the arrangements for booking tickets, making a reservation for hotels, providing cars on a rental basis, and provision for food. People can purchase the packages for visiting places like Shimla, Kullu, Manali, tosh, Dharamshala, McLeodganj Dalhousie, Kinnaur, Lahaul Spiti, Goa, Kerela and Leh Ladakh. All hotels and other accommodation that we book are equipped with amenities like an access to the internet, a continuous supply of power & water, 24-hours security, and an ample parking space.",
		      "name": "Dharamshala Tour Package",
		      "telephone": "+91-9967388055"
		    }
		    </script>
			";i:5;N;}