a:6:{i:0;s:33313:"						<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"  width="150" height="100"    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">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</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-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-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-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</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-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</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-trongsa.htm" title="Packages in Trongsa">Trongsa</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-mahe.htm" title="Packages in Mahe">Mahe</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-mardin.htm" title="Packages in Mardin">Mardin</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-mussoorie.htm" title="Packages in Mussoorie">Mussoorie</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-auckland.htm" title="Packages in Auckland">Auckland</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-beijing.htm" title="Packages in Beijing">Beijing</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-cappadocia.htm" title="Packages in Cappadocia">Cappadocia</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-gangtok.htm" title="Packages in Gangtok">Gangtok</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-wangdue-phodrang.htm" title="Packages in Wangdue Phodrang">Wangdue Phodrang</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-istanbul.htm" title="Packages in Istanbul">Istanbul</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-konya.htm" title="Packages in Konya">Konya</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-srinagar.htm" title="Packages in Srinagar">Srinagar</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</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</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</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</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</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</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</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;}