a:6:{i:0;s:33321:"						<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>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 small">* 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"> 
								<div class="b xlarge mb10px dib"><h2>Gangtok, Darjeeling and Kalimpong Tour Overview</h2></div>
								</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">
					            <div class="p7px b pl10px xlarge"><h2>Gangtok, Darjeeling and Kalimpong Tour Itinerary</h2></div>
					            </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 Destination</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 Tours</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-dubai.htm" title="Packages in Dubai">Dubai Tours</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-kandy.htm" title="Packages in Kandy">Kandy Tours</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 Tours</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 Tours</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 Tours</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 Tours</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 Tours</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 Tours</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-srinagar.htm" title="Packages in Srinagar">Srinagar Tours</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-melbourne.htm" title="Packages in Melbourne">Melbourne Tours</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-masai-mara.htm" title="Packages in Masai Mara">Masai Mara Tours</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-queenstown.htm" title="Packages in Queenstown">Queenstown Tours</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-thekkady.htm" title="Packages in Thekkady">Thekkady Tours</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-aswan-tours.htm" title="Packages in Aswan">Aswan Tours</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-thimphu.htm" title="Packages in Thimphu">Thimphu Tours</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-goa-city.htm" title="Packages in Goa City">Goa City Tours</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-yala.htm" title="Packages in Yala">Yala Tours</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-shimla.htm" title="Packages in Shimla">Shimla Tours</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-nairobi.htm" title="Packages in Nairobi">Nairobi Tours</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-rome.htm" title="Packages in Rome">Rome Tours</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-interlaken.htm" title="Packages in Interlaken">Interlaken Tours</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-rotorua.htm" title="Packages in Rotorua">Rotorua Tours</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-port-blair.htm" title="Packages in Port Blair">Port Blair Tours</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 Tours</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 Tours</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 Tours</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 Tours</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 Tours</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 Tours</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 Theme</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 Tour Packages">Romantic Tours</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 Tour Packages">Adventure Tours</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 Tour Packages">Hill Station Tours</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 Tour Packages">Beach and Islands Tours</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;}