a:6:{i:0;s:12545:"				<div class="h1"><h1>North Sikkim Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.rajastravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.rajastravels.com/tour-packages.htm" title="Tour Packages">Tour 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</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.rajastravels.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="85247"/>
						</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/370602/149887.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/370602/149887.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 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> Departure
								</p>
								<p class="aj">Departure</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.rajastravels.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="85247"/>
						</form>
						</div>
						
						";i:1;s:56:"Book North Sikkim Tour - 5 Nights / 6 Days Tour Packages";i:2;s:101:"book north sikkim tour - 5 nights / 6 days tour packages, valley tour packages, gangtok tour packages";i:3;s:146:"Book North Sikkim Tour - 5 Nights / 6 Days tour packages from RAJAS TRAVELS - Get attractive 5 Nights / 6 Days Valley  tour packages for  Gangtok.";i:4;s:396:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok"        
		                 },
		      "description": "",
		      "name": "North Sikkim Tour",
		      "telephone": "+91-9820123553"
		    }
		    </script>
			";i:5;N;}