a:6:{i:0;s:32853:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Himalayan Treasures Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.hetshreetransitworld.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.hetshreetransitworld.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Himalayan Treasures Tour</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-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						8 Nights / 9 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Gangtok, Darjeeling, Kalimpong, Lachung</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 38295 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.hetshreetransitworld.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himalayan Treasures Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="183897"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_16/473250/281494.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/473250/281494.jpg"  height="150"  width="150"    alt="Himalayan Treasures Tour" title="Himalayan Treasures Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Highlights of the tour<br />
The topography of this little Himalayan State - Sikkim, a modern day Shangri-La, still uncorrupted by the onrush of civilization, is irresistible. Unwind in settings which are truly spectacular. Here, the snow capped peaks of the mighty Himalayas look upon quaint hilltop monasteries nestled in lush vegetation and silvery-blue rivers slicing through the valleys below. Visitors are left enchanted by the magical hill stations of Darjeeling in West Bengal and Kalimpong, and Pelling in the north-eastern reaches of the country. Choose this holiday package and unwind in the spectacular settings of Kalimpong, Gangtok, Lachung, and Darjeeling..	   <br />
Important Notes<br />
1.Check-in time at Hotel will be 14:00 hrs and Check out time will be 11:00 hrs. All the bookings are non-transferable & all in-house hotel rules will be effective during your stay. As imposed by the Government Valid photo ID for all members staying at the hotel is mandatory.<br />
2.For an Extra Person Sharing the Room and Child with Extra Bed, almost all the hotels of this area provide MATTRESS and ROLL OVERS as a supplement to Extra Bed.<br />
3.In this area almost all the hotels do not have lifts, so you will have to climb stairs to reach the rooms. In case you have problems with blood pressure, breathing, heart, and knees or if you cannot climb higher floors, we will request you to report this problem immediately so that we are careful in assigning Hotels which will be more convenient than the ones quoted/reserved for you.<br />
4.In a hilly area scarcity of water and electricity is a natural phenomenon. Everybody buys water for their day-to-day needs and have learnt to live even without electricity. In case of Load Shedding, kindly bear with such situation. To overcome the water crisis certain hotels have fixed schedule for supplying hot & cold water. We sincerely regret the inconvenience.<br />
5.Hotels have a system of providing room heater on request that requires extra payment. This payment is not included in the cost and you will have to settle it directly with the hotels before check-out. The charge varies from INR 150.00 to INR 200.00 per room per night.<br />
6.The vehicle used will not be at disposal and will be exclusively used for the group as per the itinerary only (on point to point basis). It will change sector wise.<br />
7.As the area is backward and due to unwritten syndicate rules your vehicle and drivers will change for every transfer & sightseeing. These drivers come from remote places and are not educated in tourism etiquette. Kindly request the guest to be soft-spoken and gentle with their drivers.<br />
8.Often in the past, guests have been misguided by such drivers. We would like to request you to confirm whatever they say with your File Handling Executive (FHE).<br />
9.As the vehicles and drivers change always we will request you to be very careful with your personal belongings. Once left in the vehicle there is almost nil or little chance of getting them back.<br />
10.Certain sightseeing areas are totally controlled by the syndicate and we do not have any say over such services. We will request you to bear with such uncalculated situations. Their FHE will guide you on such services e.g. Tshangu Lake, Nathula, packages to North Sikkim etc. Especially while using such services you will have to be gentle in dealing with the drivers due to lack of their exposure to the tourism industry and practices they sometimes tend to get annoyed and may misbehave.<br />
11.Since Nathula is a restricted area and gets sealed, without any notice, for security reasons. In such cases your tour will only be till Tshangu Lake and there will be no refund for unutilized services.<br />
12.Due to shortage in space for parking, please be informed that you will have to be ready on time and wait in the lobby. Due to uncalculated situations the vehicle reporting may get delayed. We will request you to bear with us and as soon as the vehicle arrives you will have to get in within a few seconds, before the policeman blows his whistle.<br />
13.Due to vehicle-parking difficulty in the whole area, most of the areas are restricted to entry of vehicle and specific time is allotted for entries. Kindly follow the time strictly as given to you. In case of delays the vehicle will have to leave the hotel area without you and get parked in a parking area. In such a case, you will have to be transferred in a Maruti Van FOR WHICH THE COST WILL HAVE TO BE BORNE BY YOU AND WILL HAVE TO BE COLLECTED DIRECTLY FROM YOU.<br />
14.Due to specified time for entry, many times your connecting destination vehicle may not be allowed to enter the town / hotel area. Under such circumstances you will be transferred from the stand to the hotel in Maruti Vans for which the driver of your connecting vehicle will make the payment.<br />
15.The area is backward but rich in Nature and the facilities available cannot be matched to those available in the Plains and other developed destinations. We strongly regret this constraint of the area.<br />
16.Please note that our Executive will hold a placard as advised by you, just outside the only exit gate of Bagdogra Airport.<br />
17.In case you are arriving at NJP Railway station which has 03 entry and exit gates, please be informed that you will meet our Office Executive at the old exit gate (which happens to be the main gate that houses the Army Counter) holding a placard in your name / or as advised by you.<br />
18.Sikkim and Darjeeling are hilly areas and change in weather is a regular feature. It is advisable to carry light layers of clothing always. During winter it is advisable to carry heavy woolens.<br />
19.Landslide is a common occurrence in hilly areas. EXPENSES INCURRED FOR DIVERSION, DUE TO THIS OR ANY OTHER REASONS WILL BE COLLECTED DIRECTLY AS PER ACTUAL EXPENDITURE INCURRED.<br />
20.Kindly be informed that we make contingency plans so that the sightseeing points do not fall on a closing day. In case, due to some inevitable situation if the sightseeing falls on a closing day, it will have to be left out and cannot be carried forward to the next day. If you want to take the left out part of the tour on the next day, you will have to pay extra against the vehicle charges as advised by the File Handling Executive (FHE).<br />
21.People with heart, blood pressure, and knee problems and those having children below 05 years of age should avoid going to Nathula, Gurudongmar & Yumosomdong (Zero Point) as it could be of high risk and medical facility is also very poor.<br />
22.High Mountain sightseeing such as Tshangu Lake, Yumthang Excursion, Gurudongmar Excursion has to start early in the morning so that you can return early. This is designed for your security as in the afternoon the weather gets cloudy and foggy throughout the year.<br />
23.Due to non-availability of night life the whole area goes to bed early and wakes up early. We request you to go to bed on time so that next day you can start your tour early.<br />
24.People availing the services to Nathula, Tshangu Lake, and North Sikkim (Lachung, Yumthang Excursion, Yumosomdong (Zero Point), Katau, Lachen, Chopta Valley & Gurudongmar Excursion) are requested to bring along with them : a) 04 passport size photographs of each member travelling whether Adult or Children with their name written behind each photograph. B) Original photo ID proof of each member travelling whether Adult or Child. C) A list mentioning the Name, Age and Gender of all travelling familywise. Also note that in case of more than one family travelling together, please segregate the photographs and the photo copies of the Photo IDs, familywise in separate envelopes. The smaller envelope holding the details familywise will have to be put together into a bigger envelope for all families and then sealed with UD Number written on top. For North Sikkim it should be a separate envelope and for Tshangu Lake it should be a separate envelope. After reaching Gangtok, this document has to be handed over at the hotel counter and the information on doing so has to be passed over the telephone to the FHE.<br />
All rates and rooms are subject to availability at time of confirmation.<br />
Mandatory Surcharge of Rs. 750.00 per person applicable between 01st May to 10th June 2019								</div>
								<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> Njp Rly Station / Ixb Airport - Darjeeling (75 Kms / 3 Hrs)
										</p>
										<p class="aj">Meet & Greet On Arrival At Njp Railway Station / Ixb Airport & Transfer to Darjeeling (6,950 Ft.). On Arrival Check-in to Hotel & Rest of the Day At Leisure. Overnight Stay At Darjeeling.</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> Darjeeling Sightseeing
										</p>
										<p class="aj">In the Early in the Morning (at About 4:00 Am), You Will Be Taken to Tiger Hill (8,400 Ft.) to Watch the Spectacular Sunrise Over Mt. Khangchendzongha (28,208 Ft. Worlds 3rd Highest Peak). On Your Way Back Visit Ghoom Monastery and Batasia Loop. After Breakfast, Visit Himalayan Mountaineering Institute, P.n. Zoological Park (thursday Closed), Tenzing Rock, Tibetan Refugee Self-help Centre (sunday Closed), Tea Garden (outer View), Ropeway and Japanese Temple. You May Spend the Evening At Leisure or Go Shopping. Overnight Stay in Darjeeling.<br />
meals:breakfast</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> Darjeeling - Kalimpong (57 kms / 2.5 hrs) Sightseeing
										</p>
										<p class="aj">After breakfast transfer to Kalimpong (3,950 ft.). On arrival check-in to your hotel. In the afternoon, enjoy a half-day tour of Kalimpong; visiting Mangal Dham, Deolo Hill, Dr. Grahams Home, Golf Garden, Durpin Dara Hills and Pine View Nursery. Overnight stay in Kalimpong.<br />
Meals:Breakfast</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> Kalimpong - Gangtok (75 kms / 3 hrs) Local Sightseeing
										</p>
										<p class="aj">After breakfast, transfer to Gangtok (5,500 ft.). On arrival check-in to your hotel. In the afternoon proceed for a city tour. Visit Flower show, Cottage Industry and Handicraft Centre, Institute of Tibetology, Dro-dul Chorten, Enchey Monastery and Banjakhri Falls (maximum 3-4 hours). Overnight stay in Gangtok.<br />
Meals:Breakfast</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> Excursion to Tsomgo Lake & Baba Mandir
										</p>
										<p class="aj">After breakfast set out on an excursion to Tsomgo Lake (12,400 ft.) & Baba Mandir (13,200 ft.) which is 55 kms one-way from Gangtok city. Overnight stay in Gangtok (in case of landslides or any other such reason, if Tsomgo Lake is closed we will provide alternate sightseeing.<br />
Meals:Breakfast</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> Gangtok - Lachung (103 kms / 6 hrs)
										</p>
										<p class="aj">After Breakfast Check Out from Hotel with Limited Luggage and Proceed to Lachung (8,700 Ft.), North Sikkim. On the Way Take a Break At Some Beautiful Spots such as Naga Waterfall, the Confluence of Lachen Chu (river) and Lachung Chu (river) At Chungthang and Bhim Nala Waterfall. On Arrival At Lachung Check-in to Your Hotel. Dinner and Overnight Stay At Lachung.<br />
meals:breakfast and Dinner</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> Lachung - Yumthang Valley Excursion
										</p>
										<p class="aj">After breakfast proceed to Yumthang Valley (12,000 ft., known as the Valley of Flowers). On the way back, visit Hot Spring considered to have medicinal properties. Return to the resort. Overnight stay in Lachung.<br />
Meals:Breakfast and Dinner</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> Lachung - Gangtok (103 kms / 6 hrs)
										</p>
										<p class="aj">After breakfast proceed to Gangtok (5,500 ft.). On the way, if the weather is clear you may get to see mighty Khangchendzonga from Singhik view point. On arrival at Gangtok check-in to your hotel. You may spend the rest of the evening at leisure. Overnight stay in Gangtok.<br />
Meals:Breakfast</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> Gangtok - NJP Rly Station / IXB Airport (120 kms / 5 hrs)
										</p>
										<p class="aj">After breakfast, check-out from hotel. Take the departure transfer to NJP Railway Station / IXB Airport.<br />
Meals:Breakfast</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<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>Sightseeing</li>
																				<li>Accommodation for 08 nights / 09 days on twin / double sharing basis.</li><li>
Daily Fixed menu / Buffet breakfast. (All meals at Lachung)</li><li>
Exclusive Non AC vehicle for transfers and sightseeing as per itinerary only (point to point basis).</li><li>
All current applicable hotel taxes.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Airfare / Train fare.</li><li>
Personal expenses such as laundry, telephone calls, tips, liquor, boating and joy rides.</li><li>
Any other item not specified in 'Cost Includes'.</li><li>
Additional sightseeing or usage of vehicle not mentioned in the itinerary.</li><li>
Guide and Entrance Fees.</li><li>
Any cost arising due to natural calamities like landslides, roadblocks, etc is to be borne by the clients directly on the spot.</li><li>
Any increase in the hotel tariffs, fuel prices or taxes, which may come into effect prior to departure, will lead to an increase in the tour price. Any difference in the price will be payable by the client.</li><li>
GST as per the current rate (5%)</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Prices are based on a minimum of 2 adults traveling together.</li><li>
Prices are based on Standard Rooms.</li><li>
Surcharge is applicable on a passenger traveling alone.</li><li>
'Child Rate' applies on children between the ages of 2 to 12 years.</li><li>
Prices for foreign nationals are available on request.</li><li>
These rates are not applicable during any Meetings, Incentives, Conferences, Trade Fairs and High Season.</li><li>
All bookings and confirmations are subject to availability.</li><li>
Amendment charges and cancellation charges will be applicable as per our terms & conditions.</li><li>
Any increase in the hotel tariffs, fuel prices or taxes, which may come into effect prior to departure, will lead to an increase in the tour price. Any difference in the price will be payable by the client.</li><li>
There will be no refund on any unused services.</li><li>
The hotel names mentioned are indicative. In case of non-availability of rooms, you will be accommodated in an alternate hotel of a similar category.</li><li>
Rates are subject to change without prior notice.</li><li>
All our booking terms & conditions will apply.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>38295</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</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.</li><li>
* 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.hetshreetransitworld.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Himalayan Treasures 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="183897"/>
						</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.hetshreetransitworld.in/packages-in-colombo.htm" title="Packages in Colombo">Colombo</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-kandy.htm" title="Packages in Kandy">Kandy</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-port-louis.htm" title="Packages in Port Louis">Port Louis</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/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.hetshreetransitworld.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-dubai.htm" title="Packages in Dubai">Dubai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-venice.htm" title="Packages in Venice">Venice</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-wattens.htm" title="Packages in Wattens">Wattens</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-dambulla.htm" title="Packages in Dambulla">Dambulla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-hong-kong.htm" title="Packages in Hong Kong">Hong Kong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-kosciuszkowskie.htm" title="Packages in Kosciuszkowskie">Kosciuszkowskie</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-edfu.htm" title="Packages in Edfu">Edfu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-london.htm" title="Packages in London">London</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-shanghai.htm" title="Packages in Shanghai">Shanghai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-kusadasi.htm" title="Packages in Kusadasi">Kusadasi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-christchurch.htm" title="Packages in Christchurch">Christchurch</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-malatya.htm" title="Packages in Malatya">Malatya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.hetshreetransitworld.in/packages-in-amritsar.htm" title="Packages in Amritsar">Amritsar</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.hetshreetransitworld.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 "><a class="dif" href="http://www.hetshreetransitworld.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(16)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.hetshreetransitworld.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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 Himalayan Treasures Tour - 8 Nights / 9 Days Tour Packages";i:2;s:146:"book himalayan treasures tour - 8 nights / 9 days tour packages, hill station tour packages, gangtok, darjeeling, kalimpong, lachung tour packages";i:3;s:201:"Hetshree Transit World Private Limited offers Himalayan Treasures Tour - 8 Nights / 9 Days tour package, budget Hill Station tour packages for Gangtok, Darjeeling, Kalimpong, Lachung at exciting price.";i:4;s:8661:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Kalimpong, Lachung"        
		                 },
		      "description": "Highlights of the tour
The topography of this little Himalayan State - Sikkim, a modern day Shangri-La, still uncorrupted by the onrush of civilization, is irresistible. Unwind in settings which are truly spectacular. Here, the snow capped peaks of the mighty Himalayas look upon quaint hilltop monasteries nestled in lush vegetation and silvery-blue rivers slicing through the valleys below. Visitors are left enchanted by the magical hill stations of Darjeeling in West Bengal and Kalimpong, and Pelling in the north-eastern reaches of the country. Choose this holiday package and unwind in the spectacular settings of Kalimpong, Gangtok, Lachung, and Darjeeling..	   
Important Notes
1.Check-in time at Hotel will be 14:00 hrs and Check out time will be 11:00 hrs. All the bookings are non-transferable & all in-house hotel rules will be effective during your stay. As imposed by the Government Valid photo ID for all members staying at the hotel is mandatory.
2.For an Extra Person Sharing the Room and Child with Extra Bed, almost all the hotels of this area provide MATTRESS and ROLL OVERS as a supplement to Extra Bed.
3.In this area almost all the hotels do not have lifts, so you will have to climb stairs to reach the rooms. In case you have problems with blood pressure, breathing, heart, and knees or if you cannot climb higher floors, we will request you to report this problem immediately so that we are careful in assigning Hotels which will be more convenient than the ones quoted/reserved for you.
4.In a hilly area scarcity of water and electricity is a natural phenomenon. Everybody buys water for their day-to-day needs and have learnt to live even without electricity. In case of Load Shedding, kindly bear with such situation. To overcome the water crisis certain hotels have fixed schedule for supplying hot & cold water. We sincerely regret the inconvenience.
5.Hotels have a system of providing room heater on request that requires extra payment. This payment is not included in the cost and you will have to settle it directly with the hotels before check-out. The charge varies from INR 150.00 to INR 200.00 per room per night.
6.The vehicle used will not be at disposal and will be exclusively used for the group as per the itinerary only (on point to point basis). It will change sector wise.
7.As the area is backward and due to unwritten syndicate rules your vehicle and drivers will change for every transfer & sightseeing. These drivers come from remote places and are not educated in tourism etiquette. Kindly request the guest to be soft-spoken and gentle with their drivers.
8.Often in the past, guests have been misguided by such drivers. We would like to request you to confirm whatever they say with your File Handling Executive (FHE).
9.As the vehicles and drivers change always we will request you to be very careful with your personal belongings. Once left in the vehicle there is almost nil or little chance of getting them back.
10.Certain sightseeing areas are totally controlled by the syndicate and we do not have any say over such services. We will request you to bear with such uncalculated situations. Their FHE will guide you on such services e.g. Tshangu Lake, Nathula, packages to North Sikkim etc. Especially while using such services you will have to be gentle in dealing with the drivers due to lack of their exposure to the tourism industry and practices they sometimes tend to get annoyed and may misbehave.
11.Since Nathula is a restricted area and gets sealed, without any notice, for security reasons. In such cases your tour will only be till Tshangu Lake and there will be no refund for unutilized services.
12.Due to shortage in space for parking, please be informed that you will have to be ready on time and wait in the lobby. Due to uncalculated situations the vehicle reporting may get delayed. We will request you to bear with us and as soon as the vehicle arrives you will have to get in within a few seconds, before the policeman blows his whistle.
13.Due to vehicle-parking difficulty in the whole area, most of the areas are restricted to entry of vehicle and specific time is allotted for entries. Kindly follow the time strictly as given to you. In case of delays the vehicle will have to leave the hotel area without you and get parked in a parking area. In such a case, you will have to be transferred in a Maruti Van FOR WHICH THE COST WILL HAVE TO BE BORNE BY YOU AND WILL HAVE TO BE COLLECTED DIRECTLY FROM YOU.
14.Due to specified time for entry, many times your connecting destination vehicle may not be allowed to enter the town / hotel area. Under such circumstances you will be transferred from the stand to the hotel in Maruti Vans for which the driver of your connecting vehicle will make the payment.
15.The area is backward but rich in Nature and the facilities available cannot be matched to those available in the Plains and other developed destinations. We strongly regret this constraint of the area.
16.Please note that our Executive will hold a placard as advised by you, just outside the only exit gate of Bagdogra Airport.
17.In case you are arriving at NJP Railway station which has 03 entry and exit gates, please be informed that you will meet our Office Executive at the old exit gate (which happens to be the main gate that houses the Army Counter) holding a placard in your name / or as advised by you.
18.Sikkim and Darjeeling are hilly areas and change in weather is a regular feature. It is advisable to carry light layers of clothing always. During winter it is advisable to carry heavy woolens.
19.Landslide is a common occurrence in hilly areas. EXPENSES INCURRED FOR DIVERSION, DUE TO THIS OR ANY OTHER REASONS WILL BE COLLECTED DIRECTLY AS PER ACTUAL EXPENDITURE INCURRED.
20.Kindly be informed that we make contingency plans so that the sightseeing points do not fall on a closing day. In case, due to some inevitable situation if the sightseeing falls on a closing day, it will have to be left out and cannot be carried forward to the next day. If you want to take the left out part of the tour on the next day, you will have to pay extra against the vehicle charges as advised by the File Handling Executive (FHE).
21.People with heart, blood pressure, and knee problems and those having children below 05 years of age should avoid going to Nathula, Gurudongmar & Yumosomdong (Zero Point) as it could be of high risk and medical facility is also very poor.
22.High Mountain sightseeing such as Tshangu Lake, Yumthang Excursion, Gurudongmar Excursion has to start early in the morning so that you can return early. This is designed for your security as in the afternoon the weather gets cloudy and foggy throughout the year.
23.Due to non-availability of night life the whole area goes to bed early and wakes up early. We request you to go to bed on time so that next day you can start your tour early.
24.People availing the services to Nathula, Tshangu Lake, and North Sikkim (Lachung, Yumthang Excursion, Yumosomdong (Zero Point), Katau, Lachen, Chopta Valley & Gurudongmar Excursion) are requested to bring along with them : a) 04 passport size photographs of each member travelling whether Adult or Children with their name written behind each photograph. B) Original photo ID proof of each member travelling whether Adult or Child. C) A list mentioning the Name, Age and Gender of all travelling familywise. Also note that in case of more than one family travelling together, please segregate the photographs and the photo copies of the Photo IDs, familywise in separate envelopes. The smaller envelope holding the details familywise will have to be put together into a bigger envelope for all families and then sealed with UD Number written on top. For North Sikkim it should be a separate envelope and for Tshangu Lake it should be a separate envelope. After reaching Gangtok, this document has to be handed over at the hotel counter and the information on doing so has to be passed over the telephone to the FHE.
All rates and rooms are subject to availability at time of confirmation.
Mandatory Surcharge of Rs. 750.00 per person applicable between 01st May to 10th June 2019",
		      "name": "Himalayan Treasures Tour",
		      "telephone": "+91-8401525256"
		    }
		    </script>
			";i:5;N;}