a:6:{i:0;s:10520:"				<div class="h1"><h1>Gangtok, Lachen & Lachung - 6 Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travelzonetoursandtravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelzonetoursandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Gangtok, Lachen & Lachung - 6 Days Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gangtok</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelzonetoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Gangtok, Lachen & Lachung - 6 Days 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="100487"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/332124/168989.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/332124/168989.jpg"  width="150" height="150"    alt="Gangtok, Lachen & Lachung - 6 Days Tour" title="Gangtok, Lachen & Lachung - 6 Days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Arrival
								</p>
								<p class="aj">Our representative will be there to receive You at New Jalpaiguri Railway Station (NJP) / Bagdogra ( IXB ) - You will be assisting for the transfer to Gangtok – Gangtok the capital of Sikkim Suits all from tranquility to adventure, land of monastery, mystic rituals & festivals at an height of 1670 meters / 5480 feet and is the most visited spot of India - It is one of the most beautiful town with varieties of Rhododendron, Orchids and butterflies - Nearly 120 kilometers 4  hours drive – Check into hotel – Evening free to roam around M G Road (Mall) or local Shopping center - Over Night stay at Gangtok.</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> Gangtok
								</p>
								<p class="aj">Morning breakfast at hotel – Excursion to Tsomgo Lake & Baba Mandir nearly 40 kilometers and 2 hours - Tsomgo Lake is situated at an elevation of 3753 meters / 12310 feet - The Lake is oval shaped lake nearly 50 feet deep - Generally covered in snow for most of the year the year – This lake is home to the Brahmini ducks & many migratory birds – Nearby is the sacred Baba Mandir known to be a very holy site for all - Back to Gangtok - Overnight stay at Gangtok</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> Gangtok
								</p>
								<p class="aj">Early morning breakfast – Drive 135 kilometers, 5 – 6 hours drive - Chungthang is 96 kilometers from Gangtok – Lunch at Chungthang – Lachen is 35 kilometers from Chungthang . Reach Lachen late afternoon / early evening - The snow capped peaks, the Shingbha wildlife sanctuary, Gurudongmar Lake, Chopta Valley, Thangu are the major attraction – It’s a valley surrounded by gigantic and humbling snow peak mountains and the starting point of Green Lake Trek – In fact the village cradled between stern, tall rock faces standing like guards – A hamlet with very few people – It almost like this town is hidden from the outside – Like a Shangri La– Check into a hotel -– Evening free to stroll and visit the Lepcha Village – Overnight stay at Lachen.</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> Gangtok
								</p>
								<p class="aj">Early morning breakfast – Visit to Gurudongmar Lake 55 kilometers, 3 hours drive - Gurudongmar Lake is one of the highest lakes in the world, located at an altitude of 17,100 ft (5,210 m). It lies in the district of North Sikkim in the state of Sikkim in India, only some 5 kilometers (3.1 mi) south of Chinese border. Generally covered with snow from December to April or even more is known as the Holy / Sacred Lake - Next drive through the cold desert till Tibet / China back to Resort for Lunch – After lunch drive to Lachung - The region is fully covered with Rhododendron forest with Chopta Valley and Thangu are the other places of interest - Back to hotel for lunch - After lunch proceed to Lachung – Nearly 50 kilometers and 2.5 hours drive – Check into hotel at Lachung - Evening free to visit Lachung Monastery - Overnight stay at Hotel at Lachung.</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> Gangtok
								</p>
								<p class="aj">After breakfast drive towards Yumthang situated at an elevation of nearly 11800 feet - On the way you may visit the famous hot spring which is known for its curative properties of skin diseases - Yumthang is a valley near the river Lachung Chu surrounded by mountains where the tree line ends - In spring the valley erupts in riots of colors as Primulae, Rhododendrons and many other Alpine flowers in full bloom along with snow covered valley except in autumn - During winter Yumthang is somber with snow all around and the snow clad mountains adding to the ethereal beauty.  ( Optional visit to Zero Point at extra charge ) Return to Hotel at Lachung for Lunch – Reach Gangtok in the evening –Night stay at Gangtok.</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> Departure
								</p>
								<p class="aj">After breakfast City tour of Gangtok –Visit to Enchey Monastery, Barthang waterfalls, Nam Nang view point, Ropeway, Flower Show, Directorate of Handicrafts & Handloom, Research Institute of Tibetology & Do Drul Chorten (Stupa).etc - Back to hotel – After lunch transfer to New Jalpaiguri Railway Station (NJP) / Bagdogra ( IXB ) - Nearly 120 kilometers 4 hours drive – You are advised to start early and not to rush – Forwarding Journey.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelzonetoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Gangtok, Lachen & Lachung - 6 Days 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="100487"/>
						</form>
						</div>
						
						";i:1;s:78:"Book Gangtok, Lachen & Lachung - 6 Days Tour - 5 Nights / 6 Days Tour Packages";i:2;s:123:"book gangtok, lachen & lachung - 6 days tour - 5 nights / 6 days tour packages, valley tour packages, gangtok tour packages";i:3;s:166:"Book Gangtok, Lachen & Lachung - 6 Days Tour - 5 Nights / 6 Days tour packages from Travel Zone - Get attractive 5 Nights / 6 Days Valley  tour packages for  Gangtok.";i:4;s:418:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok"        
		                 },
		      "description": "",
		      "name": "Gangtok, Lachen & Lachung - 6 Days Tour",
		      "telephone": "+91-9932901938"
		    }
		    </script>
			";i:5;N;}