a:6:{i:0;s:23466:"				<div class="h1"><h1>North Sikkim Tour(Family Special)</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>North Sikkim Tour(Family Special)</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">Tour Code </td>
						<td class="p5px pl0px vat">Family Holidays Pack</td>
						</tr>
												<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, North Sikkim</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 12220 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Trip Highlights<br />
Shopping for local handicrafts Excursion to Tsogmo Lake & Baba Mandir Visit to Lepcha Village Lovely view the  Shingbha wildlife sanctuary, Chopta Valley and Thangu Outing to Gurudongmar Lake Exploration of Yumthang</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North Sikkim Tour(Family Special) - 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="59790"/>
						</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_9/257644/112563.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/112563.jpg"  width="150" height="150"    alt="North Sikkim Tour(Family Special)" title="North Sikkim Tour(Family Special)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Overview<br />
North Sikkim is one of the unexplored beauties of India. The pristine beauty of snow covered mountains, majestic waterfalls, blessed flora and fauna and breathtaking views spellbinds every visitor. Nature lovers, adventure enthusiasts, honeymoon couples or families, the beautiful region shall take your breath away.<br />
<br />
North Sikkim Tour starts from the capital city Gangtok then to Lachen and further to Lachung. Some charming attractions you will come across are Tsomgo Lake & Baba Mandir, Nathu La Pass, Shingbha wildlife sanctuary, Gurudongmar Lake, Chopta Valley, Thangu and Yumthang. Get mesmerized by the natural beauty, observe the pleasant people and take home experiences of a secret paradise.Trip Highlights<br />
Shopping for local handicrafts Excursion to Tsogmo Lake & Baba Mandir Visit to Lepcha Village Lovely view the  Shingbha wildlife sanctuary, Chopta Valley and Thangu Outing to Gurudongmar Lake Exploration of YumthangAir Fare / Train fare.<br />
Personal expenses such as laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, rafting, rock climbing, paragliding, joy ride (Toy Train), porterage.<br />
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.<br />
Entrance Fees & Guide charges.<br />
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, which is directly payable on the spot).<br />
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.<br />
Travel Insurance.<br />
Anything which is not include in the inclusion.10-0530-09<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 and Transfer to Gangtok
								</p>
								<p class="aj">An IHPL representative will attend to you on arrival at New Jalpaiguri Railway Station (NJP) / Bagdogra Airport (IXB) / Tenzing Norgay Bus Stand (Junction). From here IHPL 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> Excursion to 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> Drive to 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> Excursion to 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> Sight Seeing at 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> Journey back home
								</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>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Air Fare / Train fare.</li><li>
Personal expenses such as laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, rafting, rock climbing, paragliding, joy ride (Toy Train), porterage.</li><li>
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.</li><li>
Entrance Fees & Guide charges.</li><li>
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, which is directly payable on the spot).</li><li>
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.</li><li>
Travel Insurance.</li><li>
Anything which is not include in the inclusion.</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>Child Policy:<br />
<br />
Child Below 5 yrs complimentary<br />
Child 5 -10 yrs without extra bed as mention in cost column (CNB = Child no Bed)<br />
Child 5 -10 yrs with extra bed as mention in cost column (CWB = Child with Bed)<br />
Above 10 years / Extra adult with an extra bed sharing room are same & charged as per (EPSR)<br />
Hotels are very strict with the child policy. Please carry the age proof so that it can be produced if asked by hotel.<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Price Guide
Valid from 1st April 2016 to 30th Sep 2016 on per person basis

Minimum No. of PAX	Super Luxury on MAP	Luxury on MAP	Heritage on MAP	Premium on MAP	Classic on MAP	Super Deluxe on C.P	Deluxe on C.P	Standard on C.P
2	49895	39440	43245	34690	31840	27720	26390	23220
4	41895	31445	35244	26690	23840	19720	18390	15225
6	39600	28775	32780	24025	21175	17050	15725	12550
8	37895	27445	31245	22690	19840	15720	14390	11220
Extra Adult	16500	11400	15150	8900	10250	6500	6050	4950
Child withBed	16500	10500	12450	7500	9000	6000	5250	3650
Child NO Bed	11500	7000	8500	5000	6500	3500	3200	2150
Dinner Supplement	NA	NA	NA	NA	NA	900	900	750
 

Note: One Tata Indica /Maruti Wagonr Only 04 pax One Tata Sumo Only 08 Pax are Allowed Including Child, If No Of Pax Traveling More Than 08, then Extra Car Cost will Be  Rs. 28000/-  Extra. 

As per above Itinerary Supplement/Up gradation Cost of AC Innova/Xylo/Scorpio/Similar Rs. 3,850/-  EXTRA.

Additional Information : Meal Plans

CP: Means includes accommodation and breakfast
MAP: Means includes accommodation, breakfast and one major meal (lunch/dinner)
AP: Means includes accommodation, breakfast, lunch and dinner.

HOTELS USED IN THE PACKAGE
Destination	Super Luxury	Luxury	Heritage	Premium	Classic
Gangtok	Mayfair Spa Resort	The Royal Plaza	Hotel Norkhill	
The Royal Plaza  Keespa Residency

Suhim Portico
Saramsa Resort 
Yumthang  Heratage
Summit Golden Crescent
Hotel Suhim Portico
Orange Village Vice Roy Le Primula

Lachung 
(A.P)	Yarlam Resort	Yarlam Resort	Yarlam Resort	Modern Residency
Hotel Park Palace	Modern Residency
Hotel Park Palace
Lachung 
(A.P)	Yarlam Resort	Yarlam Resort	Yarlam Resort	View Points	View Points<br /><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. ~^#^~						
    	<p class="h dif xlarge b mb5px">North Sikkim Tour(Family Special)</p>
    	<div class="otherDetails aj">Note: One Tata Indica /Maruti Wagonr Only 04 pax One Tata Sumo Only 08 Pax are Allowed Including Child, If No Of Pax Traveling More Than 08, then Extra Car Cost will Be  Rs. 28000/-  Extra. <br>
<br>
As per above Itinerary Supplement/Up gradation Cost of AC Innova/Xylo/Scorpio/Similar Rs. 3,850/-  EXTRA.<br>
<br>
Additional Information : Meal Plans<br>
<br>
CP: Means includes accommodation and breakfast<br>
MAP: Means includes accommodation, breakfast and one major meal (lunch/dinner)<br>
AP: Means includes accommodation, breakfast, lunch and dinner.<br>
<br>
HOTELS USED IN THE PACKAGE<br>
Destination	Super Luxury	Luxury	Heritage	Premium	Classic<br>
Gangtok	Mayfair Spa Resort	The Royal Plaza	Hotel Norkhill	<br>
The Royal Plaza  Keespa Residency<br>
<br>
Suhim Portico<br>
Saramsa Resort <br>
Yumthang  Heratage<br>
Summit Golden Crescent<br>
Hotel Suhim Portico<br>
Orange Village Vice Roy Le Primula<br>
<br>
Lachung <br>
(A.P)	Yarlam Resort	Yarlam Resort	Yarlam Resort	Modern Residency<br>
Hotel Park Palace	Modern Residency<br>
Hotel Park Palace<br>
Lachung <br>
(A.P)	Yarlam Resort	Yarlam Resort	Yarlam Resort	View Points	View Points</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headVr p5px">Minimum No. of PAX</td>
				<td class="data p5px">Super Luxury on MAP</td>
				<td class="data p5px">Luxury on MAP</td>
				<td class="data p5px">Heritage on MAP</td>
				<td class="data p5px">Premium on MAP</td>
				<td class="data p5px">Classic on MAP</td>
				<td class="data p5px">Super Deluxe on C.P</td>
				<td class="data p5px">Deluxe on C.P</td>
				<td class="data p5px">Standard on C.P</td>
			</tr>
			<tr>
				<td class="headVr p5px">2</td>
				<td class="data p5px">49895</td>
				<td class="data p5px">39440</td>
				<td class="data p5px">43245</td>
				<td class="data p5px">34690</td>
				<td class="data p5px">31840</td>
				<td class="data p5px">27720</td>
				<td class="data p5px">26390</td>
				<td class="data p5px">23220</td>
			</tr>
			<tr>
				<td class="headVr p5px">4</td>
				<td class="data p5px">41895</td>
				<td class="data p5px">31445</td>
				<td class="data p5px">35244</td>
				<td class="data p5px">26690</td>
				<td class="data p5px">23840</td>
				<td class="data p5px">19720</td>
				<td class="data p5px">18390</td>
				<td class="data p5px">15225</td>
			</tr>
			<tr>
				<td class="headVr p5px">6</td>
				<td class="data p5px">39600</td>
				<td class="data p5px">28775</td>
				<td class="data p5px">32780</td>
				<td class="data p5px">24025</td>
				<td class="data p5px">21175</td>
				<td class="data p5px">17050</td>
				<td class="data p5px">15725</td>
				<td class="data p5px">12550</td>
			</tr>
			<tr>
				<td class="headVr p5px">8</td>
				<td class="data p5px">37895</td>
				<td class="data p5px">27445</td>
				<td class="data p5px">31245</td>
				<td class="data p5px">22690</td>
				<td class="data p5px">19840</td>
				<td class="data p5px">15720</td>
				<td class="data p5px">14390</td>
				<td class="data p5px">11220</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Package Cost</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headVr p5px">Extra Adult</td>
				<td class="data p5px">16500</td>
				<td class="data p5px">11400</td>
				<td class="data p5px">15150</td>
				<td class="data p5px">8900</td>
				<td class="data p5px">10250</td>
				<td class="data p5px">6500</td>
				<td class="data p5px">6050</td>
				<td class="data p5px">4950</td>
			</tr>
			<tr>
				<td class="headVr p5px">Child with Bed</td>
				<td class="data p5px">16500</td>
				<td class="data p5px">10500</td>
				<td class="data p5px">12450</td>
				<td class="data p5px">7500</td>
				<td class="data p5px">9000</td>
				<td class="data p5px">6000</td>
				<td class="data p5px">5250</td>
				<td class="data p5px">3650</td>
			</tr>
			<tr>
				<td class="headVr p5px">Child NO Bed</td>
				<td class="data p5px">11500</td>
				<td class="data p5px">7000</td>
				<td class="data p5px">8500</td>
				<td class="data p5px">5000</td>
				<td class="data p5px">6500</td>
				<td class="data p5px">3500</td>
				<td class="data p5px">3200</td>
				<td class="data p5px">2150</td>
			</tr>
			<tr>
				<td class="headVr p5px">Dinner Supplement</td>
				<td class="data p5px">NA</td>
				<td class="data p5px">NA</td>
				<td class="data p5px">NA</td>
				<td class="data p5px">NA</td>
				<td class="data p5px">NA</td>
				<td class="data p5px">900</td>
				<td class="data p5px">900</td>
				<td class="data p5px">750</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North Sikkim Tour(Family Special) - 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="59790"/>
						</form>
						</div>
						
						";i:1;s:72:"Book North Sikkim Tour(Family Special) - 5 Nights / 6 Days Tour Packages";i:2;s:131:"book north sikkim tour(family special) - 5 nights / 6 days tour packages, valley tour packages, gangtok, north sikkim tour packages";i:3;s:175:"Grand India Tours & Travels offers North Sikkim Tour(Family Special) - 5 Nights / 6 Days tour package, budget Valley tour packages for Gangtok, North Sikkim at exciting price.";i:4;s:2111:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, North Sikkim"        
		                 },
		      "description": "Overview
North Sikkim is one of the unexplored beauties of India. The pristine beauty of snow covered mountains, majestic waterfalls, blessed flora and fauna and breathtaking views spellbinds every visitor. Nature lovers, adventure enthusiasts, honeymoon couples or families, the beautiful region shall take your breath away.

North Sikkim Tour starts from the capital city Gangtok then to Lachen and further to Lachung. Some charming attractions you will come across are Tsomgo Lake & Baba Mandir, Nathu La Pass, Shingbha wildlife sanctuary, Gurudongmar Lake, Chopta Valley, Thangu and Yumthang. Get mesmerized by the natural beauty, observe the pleasant people and take home experiences of a secret paradise.Trip Highlights
Shopping for local handicrafts Excursion to Tsogmo Lake & Baba Mandir Visit to Lepcha Village Lovely view the  Shingbha wildlife sanctuary, Chopta Valley and Thangu Outing to Gurudongmar Lake Exploration of YumthangAir Fare / Train fare.
Personal expenses such as laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, rafting, rock climbing, paragliding, joy ride (Toy Train), porterage.
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.
Entrance Fees & Guide charges.
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, which is directly payable on the spot).
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.
Travel Insurance.
Anything which is not include in the inclusion.10-0530-09",
		      "name": "North Sikkim Tour(Family Special)",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}