a:6:{i:0;s:19977:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>Lachen & Gurudongmar Lake Tour from Gangtok</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.tourhills.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.tourhills.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Lachen & Gurudongmar Lake Tour from Gangtok</p> 
										<div class="fo">
					<div class="db vat pr slideArrow">				
												<ul class="bxslider11 fx-height lh0" style="margin:0px;padding:0px;">
																	<li class="pr">
										<div>										
										<div class="lh0 pa blur-bg" style="background:url(https://ttw.wlimg.com/package-images/photo-big/dir_17/497882/260106.jpg);"></div>
										<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/497882/260106.jpg">
										<div class="slide-fixImag" style="margin:0 9%;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/497882/260106.jpg"  height=""  width=""    alt="Lachen & Gurudongmar Lake Tour from Gangtok" title="Lachen & Gurudongmar Lake Tour from Gangtok"  /></div>
										</a>
										</div>
										</li>
																	</ul>
												<div class="sliderCont-Layer">
					<div class="dt w100">
					<div class="dtc vam"><p class="xxxlarge fw7 lh13em">Lachen & Gurudongmar Lake Tour from Gangtok 
					
											<span class="fw3 xsmall yellow">(
						4 Nights / 5 Days 
						)</span>
											</p>
											<p class="mt5px"><span class="fw6">Destination Covered</span> : Gangtok, Lachen</p>
											</div>
					<div class="dtc w200px vam"></div>
					</div>
					</div>
					<div class="slidePrice ac">
					<p class="xxlarge red mb12px">
											<span class="xxxlarge fw7"><i class="fa fa-inr"></i> 43900</span>
						<span class="db ttu xsmall mt5px">Per Person</span>
											</p>
											<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.tourhills.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Lachen & Gurudongmar Lake Tour from Gangtok - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig c3px dib p10px15px xlarge fw6">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="172850"/>
						</form>
											</div> 
					
					<script>			
					jQuery('.bxslider11').bxSlider({
					  mode:'horizontal',
					  slideWidth:840,
					  auto:true,
					  autoControls:false,
					  stopAutoOnClick:true,
					  pager:false
					});
					</script>
					</div>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Lachen is a Small Village Located in North Sikkim At An Altitude of 9,000ft.<br />
Tourists Come to Lachen Mainly to Visit the Famous & picturesque High Altitude Gurudongmar Lake Which is Located Further Up At An Altitude of 17,800ft Near Indo-china (tibet) Border.<br />
Road Condition from Gangtok Up to Lachen Can Be Quite Rough in Patches. Due to Landslides, Roads are Frequently Damaged and Requires Continuous Maintenance. <br />
 <br />
while Tourists Get to Lachen Mainly to Visit Gurudongmar Lake, There are Reasons to Spend Some Time in Lachen Itself. lachen Monastery is One of the Oldest in Sikkim and Built in 1858. It Was Then a Small Hut like Structure with Only 6 Monks. But Later in 1977 with Financial Aid from Sikkim Government, It Was Reconstructed to Its Current Form. <br />
 <br />
 Gurudongmar Lake <br />
this is the Largest Lake in Sikkim, One of the Highest in the World and Considered Very Sacred By Both Buddhists and Hindus.<br />
Gurudongmar Lake is Located At An Altitude of 17,800ft and Covers An Area of 290 Acres Making It the Largest Lake in the Whole of Sikkim. It's Surrounded By Snow Clad Mountains Making It a Stunningly Picturesque Sight. During Winter, the Lake Freezes Except for One Small Area. The Buddhists and Hindus Believe that this Specific Area is Blessed. In Fact the Whole Lake is Considered Holy and is Believed to Be Having Many Healing Powers. You Will See Buddhist Prayer Flags Fluttering On the Sides of the Lake. <br />
 <br />
<br />
<br />
best Time to Visit Lachen/gurudongmar <br />
april to May is a Great Time to Go as the Rhododendrons are in Full Bloom During this Time. Beginning of December is also a Great Time to See Snow Covered Chopta Valley, Walk Over Frozen River, and if Roads are Open Then Onwards to Gurudongmar to See the Frozen Lake Circled with Snow Mountains. <br />
<br />
<br />
price 43900 for Two Adults</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrival										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Pick Up from Bagdogra Airport/ Railway Station and Journey Towards Gangtok. Local Sight Seeing At Gangtok and Overnight Stay At Gangtok.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Gangtok to Lachen										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Proceed Towards Lachen. On the Way Visit Tashi View Point, Seven Sister Waterfall and Singhik View Point. Lunch Will Be Offered At Local Restaurant On the Way. <br />
arrive At Lachen in the Evening. Check in Into the Hotel. Stay Overnight At Lachen.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Drive from Lachen to Gorudungmar Lake and Back to Lachung										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Drive Up for a Unforgettable Excursion Tour to Gurudongmar Lake (17,200 Ft.)-a Sacred Lake, the Waters are Believed to Possess the Miraculous Powers of Granting Issues to Barren Couples. the Lake Freezes During the Winter Except At One Spot Believed to Be Specially Blessed By Guru Rimpoche. Back to Lachen and Drive for Lachung (8610 Ft./135km/6 Hours). It Has Been Described as the ‘most Picturesque Village of Sikkim’ By Joseph Dalton in His ‘himalayan Journal’(1855),Situated in North Sikkim .lachung is a Exquisight Valley Town Resplendent in Its Crown of Snowcapped Mountain ,Breathtaking Waterfalls and Sparkling Streams. <br />
arrival At Lachung, Check in At Hotel. Overnight Halt.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Lachunung to Yumthang and back to Gangtok.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Early Breakfast Drive Up for Yumthang Valley (11,800 Ft./24 Km / 2 Hours) Excursion Tour. Yumthang, Where the Tree Line Ends and the Rhododendron Groves Cover the Landscape in a Surreal Shade.yumthang, also Called the Valley of Flowers as in Spring Wild Alpine Flowers Carpet the Land. Yumthang is also Known for Its Hot Springs, Which have Healing Medicinal Properties .back to Lachung and Departure for Gangtok.<br />
stay At Gangtok.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Departure										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Drop to the Airport/ Railway Station.			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Meals</li>
																						<li>Sightseeing</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>43900</b> <small>/
			
			                		Adult			
			                				
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 							
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.tourhills.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Lachen & Gurudongmar Lake Tour from Gangtok - 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="172850"/>
						</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.tourhills.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/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 "><a class="dif" href="http://www.tourhills.com/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 "><a class="dif" href="http://www.tourhills.com/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 "><a class="dif" href="http://www.tourhills.com/packages-in-lachen.htm" title="Packages in Lachen">Lachen</a> <b class="alpha50 bn small">(1)</b></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.tourhills.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/group-holidays-catid.htm" title="Group Packages">Group</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.tourhills.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Gangtok, Lachen</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.tourhills.com/tour-packages/kalimpong-and-gangtok-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/497882/260090.jpg"  height="100"  width="100"    alt="Kalimpong and Gangtok Tour" title="Kalimpong and Gangtok Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.tourhills.com/tour-packages/kalimpong-and-gangtok-tour.htm" title="Kalimpong and Gangtok Tour"><h3>Kalimpong And Gangtok Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 22900</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Kalimpong</p>
															<div class="mt10px small">
							<form name="pkg_172845" id="pkg_172845" method="post" action="http://www.tourhills.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.tourhills.com/tour-packages/kalimpong-and-gangtok-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kalimpong and Gangtok Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="172845"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:82:"Book Lachen & Gurudongmar Lake Tour from Gangtok - 4 Nights / 5 Days Tour Packages";i:2;s:141:"book lachen & gurudongmar lake tour from gangtok - 4 nights / 5 days tour packages, hill station tour packages, gangtok, lachen tour packages";i:3;s:168:"Tour Hills offers Lachen & Gurudongmar Lake Tour from Gangtok - 4 Nights / 5 Days tour package, budget Hill Station tour packages for Gangtok, Lachen at exciting price.";i:4;s:2247:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Lachen"        
		                 },
		      "description": "Lachen is a Small Village Located in North Sikkim At An Altitude of 9,000ft.
Tourists Come to Lachen Mainly to Visit the Famous & picturesque High Altitude Gurudongmar Lake Which is Located Further Up At An Altitude of 17,800ft Near Indo-china (tibet) Border.
Road Condition from Gangtok Up to Lachen Can Be Quite Rough in Patches. Due to Landslides, Roads are Frequently Damaged and Requires Continuous Maintenance. 
 
while Tourists Get to Lachen Mainly to Visit Gurudongmar Lake, There are Reasons to Spend Some Time in Lachen Itself. lachen Monastery is One of the Oldest in Sikkim and Built in 1858. It Was Then a Small Hut like Structure with Only 6 Monks. But Later in 1977 with Financial Aid from Sikkim Government, It Was Reconstructed to Its Current Form. 
 
 Gurudongmar Lake 
this is the Largest Lake in Sikkim, One of the Highest in the World and Considered Very Sacred By Both Buddhists and Hindus.
Gurudongmar Lake is Located At An Altitude of 17,800ft and Covers An Area of 290 Acres Making It the Largest Lake in the Whole of Sikkim. It's Surrounded By Snow Clad Mountains Making It a Stunningly Picturesque Sight. During Winter, the Lake Freezes Except for One Small Area. The Buddhists and Hindus Believe that this Specific Area is Blessed. In Fact the Whole Lake is Considered Holy and is Believed to Be Having Many Healing Powers. You Will See Buddhist Prayer Flags Fluttering On the Sides of the Lake. 
 


best Time to Visit Lachen/gurudongmar 
april to May is a Great Time to Go as the Rhododendrons are in Full Bloom During this Time. Beginning of December is also a Great Time to See Snow Covered Chopta Valley, Walk Over Frozen River, and if Roads are Open Then Onwards to Gurudongmar to See the Frozen Lake Circled with Snow Mountains. 


price 43900 for Two Adults",
		      "name": "Lachen & Gurudongmar Lake Tour from Gangtok",
		      "telephone": "+91-9474979319"
		    }
		    </script>
			";i:5;N;}