a:6:{i:0;s:28566:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Dharamsala -dalhouise Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.nagtourtravel.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.nagtourtravel.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Dharamsala -dalhouise 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">
					<div class="db vat pr slideArrow">				
												<ul class="bxslider11 fx-height lh0" style="margin:0px;padding:0px;">
																	<li class="pr">
										<div>										
										<div class="lh0 pa blur-bg" style="background:url(https://ttw.wlimg.com/package-images/photo-big/dir_14/397729/259445.jpg);"></div>
										<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/397729/259445.jpg">
										<div class="slide-fixImag" style="margin:0 9%;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/397729/259445.jpg"  height=""  width=""    alt="Dharamsala -dalhouise Package" title="Dharamsala -dalhouise Package"  /></div>
										</a>
										</div>
										</li>
																	</ul>
												<div class="sliderCont-Layer">
					<div class="dt w100">
					<div class="dtc vam"><p class="xxxlarge fw7 lh13em">Dharamsala -dalhouise Package 
					
											<span class="fw3 xsmall yellow">(
						5 Nights / 6 Days 
						)</span>
											</p>
											<p class="mt5px"><span class="fw6">Destination Covered</span> : Dalhousie, Dharamshala</p>
											</div>
					<div class="dtc w200px vam"></div>
					</div>
					</div>
					<div class="slidePrice ac">
					<p class="xxlarge red mb12px">
											<span class="db ttu xsmall mt5px">Price On Request</span>
											</p>
											<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.nagtourtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dharamsala -dalhouise Package - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig c3px dib p10px15px xlarge fw6">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="172311"/>
						</form>
											</div> 
					
					<script>			
					jQuery('.bxslider11').bxSlider({
					  mode:'horizontal',
					  slideWidth:840,
					  auto:true,
					  autoControls:false,
					  stopAutoOnClick:true,
					  pager:false
					});
					</script>
					</div>
					</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> Arrive Dharamsala Airport – Dalhousie										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												On arrival at Dharmshala Airport and drive to Dalhouise.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><b class="dif mr2px vat"> Day 2: </b> <span class="w-title h15px"  style="cursor: default;" > After breakfast visit Khajjiar and Chamba and back to Hotel										
											
																					
											</span>
																						
											</div>		   
											</div> 
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><b class="dif mr2px vat"> Day 3: </b> <span class="w-title h15px" > Today After Breakfast Go to Visit Local Sightseeing of Dalhousie. <br />
satdhara<br />
'satdhara' or Seven Springs Situated On the Way to Panjpulla are Reputed to have Medicinal Properties as Its Water Contains 'mica', Known as 'gandhak' in The   Local   Language. It is a Popular Tourist Attraction of Dalhousie and a Must Visit if You are Traveling to this Place.<br />
<br />
st.andrew's Church<br />
built in the Year 1903, St. Andrew's Church is a Popular Tourist Attraction in Dalhousie. It Was Constructed Due to the Efforts of Protestant Christians. the Church is Located At a Distance of Approximately One and Half Km from the Bus Stand of Dalhousie. Though Quite Old, the Building of the Church is Still in a Very Good Condition. <br />
<br />
st. Patrick's Church<br />
st. Patrick's Church is Situated in Baloon, Falling Under the Area Known as the Dalhousiecantonment. It Lies Approximately Two Km from the Bus Stand and Holds the Distinction of Being the Largest Church of the Hill Station.   St. Patrick's   Church Dates Back to the Year 1909 and Its Main Hall Has a Seating Capacity of 300 Persons. the Funds for the Construction of the Church Were Contributed By the Officers and Ranks of the British Army.<br />
<br />
jandhri Ghat <br />
situated At An Altitude of 2036 Meters, the Palace of Erstwhile Royalty of Chamba At Jandhri Ghat Was the Governing Point for the Rulers Before Dalhousiewent Into the Hands of British. There are a Number of Trophies that Can Be Seen Here. the Streamlets and Tall Pine Trees Provide Some Beautiful Picnic Spots Here.										
											
																					
											</span>
																							<span class="fr pr10px"><i class="fa fa-angle-down"></i></span>
																							
											</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 4											
											:</b> Dharamsala										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast Checkout from Hotel and Drive to Dharmshala			
														   
											</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 5											
											:</b> Dharamsala										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Morning After Breakfast Go for Local Sightseeing of Dharmshala.o/nat Hotel <br />
<br />
dal Lake:surrounded By High and Green Deodar Trees is the Lake, Which Fills a Mountain Bowl. Situated 11-kms Away from the Town, this Lake is Easily Approachable By Road and Makes An Enchanting and Serene Picnic Spot.<br />
<br />
mcleodgang:originally Home of the Semi-nomadic Gaddi Tribe, Mcleodganj is Today the Residence of His Holiness, the Dalai Lama. this Mid 19th Century Place Was Developed as a British Garrison. the Place Was Developed as An Important Administrative Point for the Whole Kangra Valley. Today the Place Has<br />
developed as Headquarters of the Exiled Tibetan Government. the Impressive Monastery Has Larger Than Life Size Images of Buddha, Padmasambhava and Avaloketeshwara.<br />
<br />
the Shrine of Bhasunath:just 11-km from the Town Center of Dharamsala is the Ancient Temple of Bhagsunath. There are Many Fresh Water Springs Close to the Temple, Which are Considered Sacred By the Hindus.<br />
<br />
st.johan Church:one of the Most Poignant Memories of the British Raj is the Church of St. John, Situated in the Wilderness. this Charmingly Dressed Stone Church is Located Just 8-km from Dharamsala On the Way to Mcleod Ganj. Under the Shade of Doedar Branches, a Memorial Has Been Made Over the Body of the British Viceroy, Lord Elgin Who Died At Dharamsala in 1863.<br />
<br />
war Memorial:set Amidst the Pine Groves is a War Memorial, Built On the Entry Point of the to Dharamsala to Commemorate the Post Independence War Heroes of Himachal Pradesh. a Web of Narrow Paths and Landscaped Lawns Lead Towards this Monume			
														   
											</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 6											
											:</b> depart Dharamsala airport										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast Checkout from Hotel and Drive to Dharmshala Airport Drop			
														   
											</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>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* 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>* 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.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.nagtourtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Dharamsala -dalhouise 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="172311"/>
						</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="http://www.nagtourtravel.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/packages-in-amritsar.htm" title="Packages in Amritsar">Amritsar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/packages-in-khajjiar.htm" title="Packages in Khajjiar">Khajjiar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/packages-in-manikaran.htm" title="Packages in Manikaran">Manikaran</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</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="http://www.nagtourtravel.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nagtourtravel.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></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 Dalhousie, Dharamshala</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='http://www.nagtourtravel.com/tour-packages/dharamshala-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/397729/259444.jpg"  height="100"  width="100"    alt="Dharamshala Tour" title="Dharamshala Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nagtourtravel.com/tour-packages/dharamshala-tour.htm" title="Dharamshala Tour"><h3>Dharamshala Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dalhousie, Khajjiar, Dharamshala</p>
															<div class="mt10px small">
							<form name="pkg_172309" id="pkg_172309" method="post" action="http://www.nagtourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nagtourtravel.com/tour-packages/dharamshala-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dharamshala 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="172309"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.nagtourtravel.com/tour-packages/chandigarh-himachal-pradesh-amritsar-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/397729/178679.jpg"  height="100"  width="100"    alt="Chandigarh- Himachal Pradesh – Amritsar Package" title="Chandigarh- Himachal Pradesh – Amritsar Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nagtourtravel.com/tour-packages/chandigarh-himachal-pradesh-amritsar-package.htm" title="Chandigarh- Himachal Pradesh – Amritsar Package"><h3>Chandigarh- Himachal Pradesh – Amritsar ..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Chandigarh City, Dharamshala, Amritsar</p>
															<div class="mt10px small">
							<form name="pkg_178679" id="pkg_178679" method="post" action="http://www.nagtourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nagtourtravel.com/tour-packages/chandigarh-himachal-pradesh-amritsar-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Chandigarh- Himachal Pradesh – Amritsar 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="178679"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.nagtourtravel.com/tour-packages/complete-himachal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/397729/106480.jpg"  height="100"  width="100"    alt="Complete Himachal Tour" title="Complete Himachal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nagtourtravel.com/tour-packages/complete-himachal-tour.htm" title="Complete Himachal Tour"><h3>Complete Himachal Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</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, Kufri, Manali, Shi..</p>
															<div class="mt10px small">
							<form name="pkg_55519" id="pkg_55519" method="post" action="http://www.nagtourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nagtourtravel.com/tour-packages/complete-himachal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Complete Himachal 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="55519"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.nagtourtravel.com/tour-packages/splendid-dalhousie-khajjiar-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/397729/106481.jpg"  height="100"  width="100"    alt="Splendid Dalhousie Khajjiar Tour" title="Splendid Dalhousie Khajjiar Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nagtourtravel.com/tour-packages/splendid-dalhousie-khajjiar-tour.htm" title="Splendid Dalhousie Khajjiar Tour"><h3>Splendid Dalhousie Khajjiar Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dalhousie, Khajjiar, Pathankot</p>
															<div class="mt10px small">
							<form name="pkg_55520" id="pkg_55520" method="post" action="http://www.nagtourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nagtourtravel.com/tour-packages/splendid-dalhousie-khajjiar-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Splendid Dalhousie Khajjiar 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="55520"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.nagtourtravel.com/tour-packages/exotic-landof-hills-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/397729/106479.jpg"  height="100"  width="100"    alt="Exotic Land of Hills Tour" title="Exotic Land of Hills Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nagtourtravel.com/tour-packages/exotic-landof-hills-tour.htm" title="Exotic Land of Hills Tour"><h3>Exotic Land Of Hills Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Chamba, Dalhousie, Khajjiar, Dharamshala..</p>
															<div class="mt10px small">
							<form name="pkg_55518" id="pkg_55518" method="post" action="http://www.nagtourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nagtourtravel.com/tour-packages/exotic-landof-hills-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Exotic Land of Hills 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="55518"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.nagtourtravel.com/tour-packages/dharamsala-sightseeing-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_14/397729/106483.jpg"  height="100"  width="100"    alt="Dharamsala Sightseeing Tour" title="Dharamsala Sightseeing Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nagtourtravel.com/tour-packages/dharamsala-sightseeing-tour.htm" title="Dharamsala Sightseeing Tour"><h3>Dharamsala Sightseeing Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Dharamshala, Pathankot</p>
															<div class="mt10px small">
							<form name="pkg_55522" id="pkg_55522" method="post" action="http://www.nagtourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nagtourtravel.com/tour-packages/dharamsala-sightseeing-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dharamsala Sightseeing 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="55522"/>
							</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:68:"Book Dharamsala -dalhouise Package - 5 Nights / 6 Days Tour Packages";i:2;s:134:"book dharamsala -dalhouise package - 5 nights / 6 days tour packages, hill station tour packages, dalhousie, dharamshala tour packages";i:3;s:187:"Book Dharamsala -dalhouise Package - 5 Nights / 6 Days tour packages from Nag Tours and Travels - Get attractive 5 Nights / 6 Days Hill Station  tour packages for  Dalhousie, Dharamshala.";i:4;s:423:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Dalhousie, Dharamshala"        
		                 },
		      "description": "",
		      "name": "Dharamsala -dalhouise Package",
		      "telephone": "+91-9736363609"
		    }
		    </script>
			";i:5;N;}