a:6:{i:0;s:23454:"				<div class="h1"><h1>North Sikkim Tour(Family Special)</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://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="http://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  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> 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="http://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;}