a:6:{i:0;s:12866:"				<div class="h1"><h1>North Sikkim Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sikkimtourtourism.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sikkimtourtourism.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gangtok, Yumthang, Lachung, Lachen</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.sikkimtourtourism.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="115717"/>
						</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_13/370039/188621.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/370039/188621.jpg"  width="150" height="150"    alt="North Sikkim Tour" title="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> Arrival
								</p>
								<p class="aj">Meet  representative will attend to you on arrival at New Jalpaiguri Railway Station (NJP) / Bagdogra Airport (IXB) / Tenzing Norgay Bus Stand (Junction). From here  will be assisting your transfer to Gangtok, nearly 135 kilometers which is a 4.5 to 5 hour drive.<br />
<br />
Nestled at a height of 1670 meters (5480 feet), Gangtok is the capital of Sikkim. The beautiful hill station is a land of tranquility, adventure, monasteries, mystic rituals & festivals and natural beauty. The hill station boasts of picturesque views of snowcapped peaks with varieties of Rhododendron, Orchids and butterflies. Romantic yet adventurous, it's a perfect place to start a memorable tour of North Sikkim.<br />
<br />
Check into hotel for an Over Night stay at Gangtok. The Evening is free to roam around M G Road (Mall) or local Shopping center. Check out the beautiful handicrafts. Be back to the hotel on time. Take ample rest in your hotel room and enjoy the leisure activities of the hotel property.</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 & Baba Mandir (Full Day)
								</p>
								<p class="aj">Start your Morning with a delicious breakfast at hotel. Next is the excursion to Tsomgo Lake & Baba Mandir which is nearly 40 kilometers. The beautiful Tsomgo Lake is an oval shaped glacial lake. 1km in length and nearly 50 feet in depth, the lake lies at an altitude of 12,400 ft. Though covered in snow for most of the year, Brahmini ducks & many migratory birds call it home. Enjoy the view of birds, rest on the lake banks and snap ample pictures to make the moment memorable. On the banks of the lake lies a sacred Lord Shiva Mandir. The holy site should be visited as well.<br />
<br />
Baba Mandir is another sight to visit. The temple is name after an army man; Baba Harbhajan Singh who sacrificed his life for the nation. Hailed as "Hero of Nathula" the Sikh is revered as a deity.<br />
<br />
The drive to Nathu La Pass, entry to Republic of China is nearly 20 kilometers and is an optional tour. The beauty of the place and the thrill of being almost to another nation tempts you for a ride.<br />
<br />
After your day tour, get back to Gangtok for overnight stay at hotel. The evening is kept free for your leisure. Explore the city at will. There is lots to see, enjoy and cherish.<br />
<br />
(In case of landslide or any reasons if Tsogmo Lake is closed, alternative sightseeing will be provided.)</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> Lachen from Gangtok
								</p>
								<p class="aj">Start the next day with early morning breakfast in hotel. The drive to Lachen awaits. The 135 kilometers journey makes a 5-6 hour drive. To ease the long ride for guests, a stop is made at Chungthang (96 kilometers from Gangtok) for lunch. Post lunch the drive continues to Lachen (35 kilometers from Chungthang).<br />
<br />
Lachen is a beautiful city of North Sikkim. Though population is handful, the natural beauty is abundant. You will have never witnessed such beauty. The scenic town is nestled in a valley in the midst of towering snowcapped peaks. The quaint town is an untouched Shangri-La. The major attractions of the mountain town is Shingbha wild life sanctuary, Chopta Valley and Thangu. During the drive do not remove your eyes from the window. Enjoy some of the most beautiful views as you make your way on the treacherous mountain roads.<br />
<br />
By early evening you will make you way to Lachen. Check into a hotel, Welcome Tea and Overnight stay awaits. The evening is free. Take a stroll and visit the Lepcha Village. The pleasant people will open up their homes and their hearts for you. Share some tea and stories. Be back to the hotel on time. Take ample rest as more excitements of your holiday are waiting.</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> Gurudongmar Lake and Drive to Lachung
								</p>
								<p class="aj">Start another day with early morning breakfast in hotel. Next is the visit to Gurudongmar Lake which is 55 kilometers, from Lachen. The almost 4 hours' drive takes you for an adventure. The views are exciting and as the day is starting, the first rays of sun colors everything in its splendid light.<br />
<br />
The Gurudongmar Lake is nestled in a valley at an altitude of 11, 800 feet. The Sarv Dharm Sthan is a place of importance for all religions. Though the lake waters are frozen from December to April, a part of the water remains in liquid form all throughout the year. The pious lake is a heart-warming beauty.<br />
<br />
The next activity is a drive back to your hotel for lunch. The ride back offers views which are spectacular. You will be crossing though the cold desert region of Tibet/ China to the beautiful Rhododendron forest of Chopta Valley and Thangu. Enjoy a scrumptious lunch. After lunch drive to Lachung.<br />
<br />
Lachung is another major town of North Sikkim. Nearly 50 kilometers, the 2 hours' drive is awe inspiring. The town is generally considered at gateway to Yumthang but the beauty and charm is amazing. From the windows of your vehicle you see valleys full of mists and forests of Rhododendron blooms. Check into hotel at Lachung and freshen up. Evening you most check out the Lachung Monastery. The fluttering prayer flags, the peace and the pleasant people will make way into your hearts and cherished memories. Return to hotel for overnight stay and rest.</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 & Drive to Gangtok
								</p>
								<p class="aj">Next day starts with breakfast in hotel. Next on schedule is the drive towards Yumthang situated at nearly 11,800 feet. The one hour drive to beautiful Yumthang crosses through the famous hot spring known for its curative properties of skin diseases. Near the river Lachung Chu, Yumthang is a valley surrounded by towering snow covered mountains. The ethereal beauty is grace for all visitors. Feel blessed as you witness the natural spectacle. In spring this valley erupts in riots of colors as Primulae, Rhododendrons and many other Alpine flowers are in full bloom.<br />
<br />
After your visit is concluded, return to your Lachung hotel for Lunch. Post lunch you will be driven back to Gangtok. You reach you hotel in the evening. You can spend some time exploring and colleting last minute experiences. Return for your overnight rest.</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 a lavish rest, get up in Morning for breakfast. After concluding your meal, pack your bags as your ride awaits. Get your ride back to Siliguri / New Jalpaiguri Railway Station (NJP) / Bagdogra Airport (IXB) / Tenzing Norgay Bus Stand (Junction). The nearly 135 kilometers will be covered in 4.5 to 5 hours' drive. Return home with cherished memories of North Sikkim tour.</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>Sightseeing</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.sikkimtourtourism.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="115717"/>
						</form>
						</div>
						
						";i:1;s:56:"Book North Sikkim Tour - 5 Nights / 6 Days Tour Packages";i:2;s:128:"book north sikkim tour - 5 nights / 6 days tour packages, valley tour packages, gangtok, yumthang, lachung, lachen tour packages";i:3;s:175:"Book North Sikkim Tour - 5 Nights / 6 Days tour packages from Vineet Holidays - Get attractive 5 Nights / 6 Days Valley  tour packages for  Gangtok, Yumthang, Lachung, Lachen.";i:4;s:423:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Yumthang, Lachung, Lachen"        
		                 },
		      "description": "",
		      "name": "North Sikkim Tour",
		      "telephone": "+91-9593985033"
		    }
		    </script>
			";i:5;N;}