a:6:{i:0;s:12118:"				<div class="h1"><h1>Alpine North Sikkim Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northerntourandtravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northerntourandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Alpine North Sikkim 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gangtok, Lachung, Lachen, North Sikkim</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.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Alpine North Sikkim 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="54820"/>
						</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/334611/105625.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/334611/105625.jpg"  width="150" height="150"    alt="Alpine North Sikkim Tour" title="Alpine North Sikkim 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> Gangtok
								</p>
								<p class="aj">On your arrival in New Jalpaiguri Railway Station (NJP) / Tenzing Norgay Bus Stand (Junction) / Bagdogra Airport (IXB), meet our tour representative who further transfers you to Gangtok. As you reach, check in at our hotel and relax.<br />
<br />
Gangtok, the capital of Sikkim state is perched at an elevation of 1,650 m. The town is an important Buddhist pilgrimage spot, especially because of Enchey Monastery which was built in 1840. Trekkers, shopaholics, nature-lovers, bird-enthusiasts and people with similar interests find Gangtok a very interesting place. The sight of world’s third highest peak, Kanchenjunga, is enjoyed from Gangtok. Gangtok is blessed with abundance of greenery and an expansive biodiversity. Vivacious ethnicity of the town is yet another attribute it takes pride in.<br />
<br />
In the evening, you are free to take a stroll in MG Road (Mall Road) or other local markets of the area.</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> Tsomgo Lake and Baba Mandir
								</p>
								<p class="aj">Have your breakfast and take a drive to two popular attractions of Gangtok, Tsomgo Lake and Baba Mandir.<br />
<br />
Tsomgo Lake or Changu Lake is an emerald delight nestled at an elevation of 3780 meters. This glacial lake is in close proximity with Indo-China border and Nathu La Pass. It is believed that monks used to study the color of the lake as it helped them in prophecy. During the months of May and August, myriad of flowers bloom in the area like rhododendrons and yellow poppies. Serenity of the locale is something that allures trekkers and other offbeat travelers.<br />
<br />
Baba Mandir is a temple that’s one-of-its-kind. It does not promote any religion, but inspires people and devotees to live a selfless life like Baba Harbhajan. He was an Indian Army soldier who sacrificed his life near the shrine in 1967. There are several stories that tell about his spiritual powers. One such story is that Baba Harbhajan could predict the attack and warn his teams three days prior the actual attack by the enemy.<br />
<br />
In the evening, you are free to explore M.G Road (Mall Road) or other local markets of the area. Overnight stay in the hotel.</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 - Lachen (107 km- 3 hours) 
								</p>
								<p class="aj">In the morning get transferred to Lachen. Halt at Chungthang for lunch and continue your journey. On reaching Lachen, check in at your hotel and relax.<br />
<br />
Lachen is settled at an elevation of 2750 meters, amid humungous hill range. The town is the starting point of Green Lake Trek circuit. Lachen’s Thangu Festival (Yak race) is one of its greatest highlights, along with Chopta Valley and Kanchenjunga National Park. Lachen is home to a sprawling biodiversity which make it pleasing.<br />
<br />
You can go for a heritage walk around Lepcha Village. Stay overnight in hotel.</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> Lachen - Gurudongmar Lake - Lachung (3 hour - 66 km and 113 km - 4 hour, respectively)
								</p>
								<p class="aj">After breakfast, check out from your hotel and proceed to Lachung and stopover at Gurudongmar Lake.<br />
<br />
Gurudongmar Lake is perched at an elevation of 17100 feet and is counted as one of the highest lakes of the world. This lake is just five kilometers away from the source of Teesta River (Tso Lhama Lake). Even the India-Tibet is in close proximity from the lake. Beside its splendid beauty, Gurudongmar Lake is considered holy by the followers of Buddhism and Hinduism. Its name has been derived from Guru Padmasambhava.<br />
<br />
Lachung, at an altitude of 9600 ft, has been regarded as “Most Picturesque Village of Sikkim” by Joseph Dalton, a British explorer, in his book The Himalayan Journal. Monastery, apple orchard and river streams are some of its striking feature. Rhododendrons and shrubs are scattered profusely around the area adding to the charm.<br />
<br />
In the evening, visit Lachung Monastery. This is the last Buddhist Monastery of India before Indo-China border. Mask dance of Lachung Monaster is very famous in North-East India.<br />
<br />
Overnight stay in hotel.</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> Yumthang Valley sightseeing
								</p>
								<p class="aj">Have your breakfast and proceed to Yumthang Valley. On your way, halt near a popular hot-spring that is known for having medicinal properties for skin diseases and problems.<br />
<br />
Yumthang is located near Lachung Chu. In spring, it gets dotted with mélange of colorful flowers like rhododendrons, primulae and other alpine flowers. While with the arrival of winters thick sheet of snow covers the vicinity.<br />
<br />
In the evening you are free to explore Lachung. Have your dinner in the hotel and stay overnight.</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> Lachung - Gangtok (3 hours - 107 km)
								</p>
								<p class="aj">Have your breakfast and get ready to get transferred to Gangtok. The view of Himalayan mountain range and Kanchenjunga Peak is visible throughout the route, on a clear day. If you are a photographer, this could be an unmissable opportunity for you. Check in at your hotel on reaching.<br />
<br />
In the evening you are free to take a leisure stroll in M.G Road (Mall Road) or other local markets.<br />
<br />
Stay overnight in hotel.</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> Transfer to New Jalpaiguri Railway Station (NJP) / Tenzing Norgay Bus Stand (Junction) / Bagdogra Ai
								</p>
								<p class="aj">Have your breakfast and check out from your hotel. You get an assisted transfer to New Jalpaiguri Railway Station (NJP) / Tenzing Norgay Bus Stand (Junction) / Bagdogra Airport (IXB). Continue your onward 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>
																		<li>Transfers</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.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Alpine North Sikkim 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="54820"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Alpine North Sikkim Tour - 6 Nights / 7 Days Tour Packages";i:2;s:139:"book alpine north sikkim tour - 6 nights / 7 days tour packages, valley tour packages, gangtok, lachung, lachen, north sikkim tour packages";i:3;s:185:"A.G Northern Tour and Travels offers Alpine North Sikkim Tour - 6 Nights / 7 Days tour package, budget Valley tour packages for Gangtok, Lachung, Lachen, North Sikkim at exciting price.";i:4;s:434:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Lachung, Lachen, North Sikkim"        
		                 },
		      "description": "",
		      "name": "Alpine North Sikkim Tour",
		      "telephone": "+91-9086002323"
		    }
		    </script>
			";i:5;N;}