a:6:{i:0;s:11610:"				<div class="h1"><h1>Mussoorie Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.trishmitours.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.trishmitours.co.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Mussoorie Package</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">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Mussoorie</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 48168 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.trishmitours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mussoorie 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="132217"/>
						</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_13/367374/210228.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/367374/210228.jpg"  width="150" height="150"    alt="Mussoorie Package" title="Mussoorie Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Personal expenses such as laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, porterage<br />
Anything not mentioned in the inclusions<br />
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary<br />
Entrance Fees & Guide charges<br />
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, who is directly<br />
payable on the spot)<br />
Any increase in Airlines taxes or fuel price at the time of departure, leading to increase in cost on surface transportation & land arrangements, which may<br />
come into effect prior to departure<br />
Still camera/ video camera charger<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> Dehradun Sightseeing - Mussoorie
								</p>
								<p class="aj">On arrival at airport you will be picked up & transferred to Mussoorie. En-route visit Dehradun<br />
Sheshtradhara, Robers Cave etc..Late afternoon arrive in Mussoorie & check in at your hotel. Evening at<br />
leisure. Overnight at 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> Mussoorie
								</p>
								<p class="aj">Morning after breakfast at hotel proceed for a full day local tour of Mussoorie visit Gun Hill , Kempty Fall ,<br />
Camel's Back Road , Nag Devta Temple , Mussoorie Lake , Van Chetna Kendra Jwalaji Temple (Benog Hill).<br />
Later back to hotel for overnight stay at hotel. Overnight stay 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 3:</b> Mussoorie
								</p>
								<p class="aj">After breakfast excursion to Dhanaulti which is 33 kms away and to the ancient mountain top shrine of<br />
Surkhanda Devi, climbing upto 9700 feet / 2940 meters. Deodar and Pine Trees, beautiful valleys, snow<br />
capped mountains. evening enjoy at mall road, back to the hotel. Overnight at Mussoorie.</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> Mussoorie - Dehradun Drop
								</p>
								<p class="aj">After breakfast checkout from hotel and you will be dropped to Dehradun for onward journey</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>Meals</li>
																		<li>Sightseeing</li>
																<li>Sightseeing as per the itinerary</li><li>
012 Breakfast, 012 Lunch or 012 Dinner at the hotels mentioned</li><li>
Accommodation for 12 nights 13 days on double sharing basis</li><li>
All Transfers, excursions & sightseeing as per the itinerary by private TOYOTA Innova in Deluxe Package</li><li>
Below 5 Yrs Child sharing same bed with parents will be Complimentary.</li><li>
Parking and all transport related expense including Driver Services</li><li>
All toll taxes, parking fees, Fuel and driver's allowances</li><li>
Welcome drink on arrival</li><li>
All Transport & Hotels Related Taxes</li><li>
GST & all Government Taxes</li><li>
A 24 - hour helpline.</li><li>
Assistance on Arrival.</li><li>
No Hidden Cost</li>
													</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Personal expenses such as laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, porterage</li><li>
Anything not mentioned in the inclusions</li><li>
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary</li><li>
Entrance Fees & Guide charges</li><li>
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, who is directly</li><li>
payable on the spot)</li><li>
Any increase in Airlines taxes or fuel price at the time of departure, leading to increase in cost on surface transportation & land arrangements, which may</li><li>
come into effect prior to departure</li><li>
Still camera/ video camera charger</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p><p><strong>PAYMENT POLICY</strong>

<ul>
	<li>Deposit of 25% of the package cost at the time of booking.</li>
	<li>Need 50% payment of the package cost, 30 days prior to departure date</li>
	<li>Need 100% payment of the package cost, 15 days prior to departure date</li>
</ul>~^#^~~^#^~<p><strong>IMPORTANT NOTE</strong>

<ul>
	<li>Rates are not valid for Festive peak season.</li>
	<li>Rates are based on Hotels Subject to Availability at the time of making Reservation. In case of unavailability in mentioned hotels,alternate accommodation will be arranged in a similar category hotel.</li>
	<li>Rates are subject to change if there is any Fair &amp; Festival, Major conference, events in travel destination</li>
	<li>Early check in / late checks out is subject to availability of rooms.</li>
	<li>Cancellation charges would be as per the company policy.</li>
	<li>Vehicle confirmed will be as per Itinerary and not at disposal. AC will work only in the plains and will be switched off during hill drives.</li>
	<li>All sightseeing mentioned are subject to weather conditions, political conditions &amp; traffic conditions in the destination.</li>
	<li>Any sightseeing missed due to natural calamities / weather conditions is non-refundable.</li>
	<li>All entrances fees will be on direct payment basis as per Itinerary</li>
	<li>It is not advisable to travel in night, if necessary supplement charge applicable</li>
</ul>

<p><strong>CANCELLATION POLICY</strong>

<ul>
	<li>10% of full tour cost - 60 days prior to arrival.</li>
	<li>25% of full tour cost - 30 days prior to arrival.</li>
	<li>50% of full tour cost - between 15 &amp; 29 days prior to tour.</li>
	<li>75% of full tour cost - between 14 &amp; 7 days prior to tour</li>
	<li>100% - within 7 days prior to tour.</li>
</ul>						
    	<p class="h dif xlarge b mb5px">Hotel Mussoorie Club - MUSSOORIE</p>
    	<div class="otherDetails aj">Hotel Mussoorie Club is located approximately 3 km away from Soham Heritage and Art Center and 51 km<br>
away from Jolly Grant Airport. This hotel in Mussoorie offers internet access to its guests.<br>
Distance from Hotel</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Gandhi Chowk</td>
				<td class="headHr p5px b">Library Chowk</td>
				<td class="headHr p5px b">Mall Road</td>
				<td class="headHr p5px b">Mall Road</td>
				<td class="headHr p5px b">Rope Way</td>
			</tr>
			<tr>
				<td class="data p5px">1</td>
				<td class="data p5px">1</td>
				<td class="data p5px">0</td>
				<td class="data p5px">0</td>
				<td class="data p5px">0</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.trishmitours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mussoorie 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="132217"/>
						</form>
						</div>
						
						";i:1;s:56:"Book Mussoorie Package - 3 Nights / 4 Days Tour Packages";i:2;s:109:"book mussoorie package - 3 nights / 4 days tour packages, hill station tour packages, mussoorie tour packages";i:3;s:158:"Book Mussoorie Package - 3 Nights / 4 Days tour packages from Trishmi Tours LLP - Get attractive 3 Nights / 4 Days Hill Station  tour packages for  Mussoorie.";i:4;s:1084:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Mussoorie"        
		                 },
		      "description": "Personal expenses such as laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, porterage
Anything not mentioned in the inclusions
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary
Entrance Fees & Guide charges
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, who is directly
payable on the spot)
Any increase in Airlines taxes or fuel price at the time of departure, leading to increase in cost on surface transportation & land arrangements, which may
come into effect prior to departure
Still camera/ video camera charger",
		      "name": "Mussoorie Package",
		      "telephone": "+91-9619101033"
		    }
		    </script>
			";i:5;N;}