a:6:{i:0;s:20845:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>North Sikkim Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.yaknyeti.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.yaknyeti.in/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>North Sikkim Tour</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Gangtok, Yumthang</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.yaknyeti.in/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="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="126152"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/428088/202888.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428088/202888.jpg"  width="150" height="150"    alt="North Sikkim Tour" title="North Sikkim Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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">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
										</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
										</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
										</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 />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* 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.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.yaknyeti.in/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="126152"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/packages-in-nagarkot.htm" title="Packages in Nagarkot">Nagarkot</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/packages-in-yumthang.htm" title="Packages in Yumthang">Yumthang</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(1)</b></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.yaknyeti.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Gangtok, Yumthang</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.yaknyeti.in/tour-packages/tsomgo-lake-baba-mandir-nathula-pass-tourin-sikkim.htm'">
															<div class="picBg ac vam lh0"><img src="https://static.tourtravelworld.com/images/tour-package-no-image.gif"  alt="Tsomgo lake baba mandir Nathula pass tour in Sikkim" title="Tsomgo lake baba mandir Nathula pass tour in Sikkim"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.yaknyeti.in/tour-packages/tsomgo-lake-baba-mandir-nathula-pass-tourin-sikkim.htm" title="Tsomgo lake baba mandir Nathula pass tour in Sikkim"><h3>Tsomgo Lake Baba Mandir Nathula Pass Tour ..</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok</p>
															<div class="mt10px small">
							<form name="pkg_193222" id="pkg_193222" method="post" action="http://www.yaknyeti.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.yaknyeti.in/tour-packages/tsomgo-lake-baba-mandir-nathula-pass-tourin-sikkim.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Tsomgo lake baba mandir Nathula pass tour in Sikkim - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="193222"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.yaknyeti.in/tour-packages/mesmerizing-darjeeling-gangtok-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_15/428088/202889.jpg"  alt="Mesmerizing Darjeeling Gangtok Package" title="Mesmerizing Darjeeling Gangtok Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.yaknyeti.in/tour-packages/mesmerizing-darjeeling-gangtok-package.htm" title="Mesmerizing Darjeeling Gangtok Package"><h3>Mesmerizing Darjeeling Gangtok Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling</p>
															<div class="mt10px small">
							<form name="pkg_126153" id="pkg_126153" method="post" action="http://www.yaknyeti.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.yaknyeti.in/tour-packages/mesmerizing-darjeeling-gangtok-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Mesmerizing Darjeeling Gangtok Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="126153"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:56:"Book North Sikkim Tour - 5 Nights / 6 Days Tour Packages";i:2;s:117:"book north sikkim tour - 5 nights / 6 days tour packages, hill station tour packages, gangtok, yumthang tour packages";i:3;s:168:"Yak and Yeti Travels & Expeditions offers North Sikkim Tour - 5 Nights / 6 Days tour package, budget Hill Station tour packages for Gangtok, Yumthang at exciting price.";i:4;s:406:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Yumthang"        
		                 },
		      "description": "",
		      "name": "North Sikkim Tour",
		      "telephone": "+91-9933008822"
		    }
		    </script>
			";i:5;N;}