a:6:{i:0;s:16604:"				<div class="h1"><h1>Beautiful Darjeeling Gangtok Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.kunzongtourandtravel.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.kunzongtourandtravel.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Beautiful Darjeeling Gangtok 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gangtok, Darjeeling, Pelling, West Sikkim</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.kunzongtourandtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beautiful Darjeeling Gangtok 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="75830"/>
						</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_16/451899/134863.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451899/134863.jpg"  width="150" height="150"    alt="Beautiful Darjeeling Gangtok Tour" title="Beautiful Darjeeling Gangtok 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> Gangtok
								</p>
								<p class="aj">On your arrival in New Jalpaiguri Railway Station (NJP) / Tenzing Norgay Bus Stand (Junction) / Bagdogra Airport (IXB), meet our tour representative who further transfers you to your pre-booked hotel in Gangtok. Check in at your hotel and relax.<br />
<br />
Gangtok is perched at an elevation of 1650 meters above sea level. The town is an important Buddhist pilgrimage center and houses many monasteries, especially Enchey Monastery. Clubs, shopping centers, exquisite eateries, gaming centers and other such entertainment options have made Gangtok a hot-spot for tourists around the world. Oak, elm, poplar and birch and other numerous species of plants and trees merge to form vast expanse of verdure. The vibrant culture is something that also acts as a crowd-puller.<br />
<br />
Overnight stay in hotel.</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> Gangtok
								</p>
								<p class="aj">Have your breakfast and prepare for Gangtok sightseeing tour. Some of the locations to be visited this day are Do Drul Chorten (Stupa), Directorate of Handicrafts & Handloom, Research Institute of Tibetology, White Hall, Hanuman Tok, Enchey Monastery, Flower Show, Ganesh Tok, Tashi View Point, Banjhakri Falls.<br />
<br />
In Directorate of Handicrafts & Handloom is where you can experience an exposition of art and culture of Gangtok. Here thanka paintings, handlooms, carpets, wooden masks, wooden carved and painted items, cane and bamboo works, multi-craft items, traditional hats and caps, embroidered products and many such things are available for sale and public admiration. With the construction of Enchey Monastery in 1840,<br />
<br />
Gangtok became an important Budhhist pilgrimage spot and saw a sudden growth in number of its visitors. In Research Institute of Tibetology, one can get to know more about Tibetan culture, history, beliefs, art and beliefs. Hanuman Tok is a Hindu Temple located at upper regions of Gangtok. It is of high reverence and is maintained by Indian Army. Tashi View Point is a refreshing spot, from where you can enjoy a delightful view of the vicinity, especially of the third highest peak of the world Kanchenjunga.<br />
<br />
After this, you are free to take a stroll in M.G Road (Mall Road) or other local markets. Stay Overnight in the hotel.</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> Gangtok- Tsomgo Lake/ Baba Mandir- Gangtok
								</p>
								<p class="aj">After breakfast get ready for a visit to Tsomgo Lake and Baba Mandir.<br />
<br />
Tsomgo Lake or Changu Lake is perched at an elevation of 3780 meters and is a delight for trekkers and nature-lovers. The lake is serene and placid, having no human inhibition around it. Indo-China Border and Nathu La Pass are just a few kilometers from here. Various rare and beautiful species of animals and bird have called the vicinity their home. Rhododendrons, irises, yellow poppies and other such colorful flowers bloom near the lake in the months of May and August. A Shiva Temple on the lakeside is highly-revered and has interesting tales related to it.<br />
<br />
Baba Mandir does not promote a specific religion, but inspires its visitors to become selfless. The temple is dedicated to Baba Harbhajan Singh, an Indian Army soldier. He sacrificed his life near the temple in 1967. There are many stories about Baba that prove that he had spiritual powers. One such legend tells that the man used to warn the team three days prior to the surprise attacks by enemies.<br />
<br />
By evening return to Gangtok, you are free to shop in M.G Road (Mall Road) or other local markets. Stay overnight in hotel.</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> Gangtok- Pelling (8 hours- 137 km)
								</p>
								<p class="aj">After breakfast, prepare for transfer to Pelling. On reaching, check-in at hotel. Rest of the time is to be spent at leisure.<br />
<br />
Pelling is situated at an altitude of 2150 meters. The town is adorned with monasteries and nature’s mystique. It displays the very essence of culture and nature gracefully. The sight of Himalayan peaks from this town is unforgettable, on a clear day you can catch the sight of the third largest peak of the world (Kanchenjunga), along with Kumbhakarna, Pandim, Zopuno, Shimbho, Rathong, Sinolchu etcetera. Several orchids add on to the beauty of the town. Also, its short trek routes and rich wildlife make it a preferred location by the trekkers.<br />
<br />
Stay overnight at Pelling.</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> Pelling (sightseeing)
								</p>
								<p class="aj">After breakfast take a drive for full-day sightseeing tour of Pelling, which includes Rimbi Rock Garden, Rimbi Waterfall, Khecheopalri Lake, Khecheopalri Monastery, Kanchenjunga Waterfall, Rabdantse Ruins and Pemayangtse Monastery.<br />
<br />
Khecheopalri Lake is a highly-revered Buddhist lake; it is believed that if someone wishes for something here, gets it granted soon. The lake is a part of Buddhist pilgrimage circuit, along with Dubdi Monastery, Pemayangtse Monastery, the Sanga Choeling Monastery, the Rabdentse ruins and Tashiding Monastery. Other parts of this circuit, Pemayangtse Monastery and Rabdentse ruins are also to be visited. Pemayangtse Monastery is a popular monastery in Western Sikkim and also one of the oldest monasteries of Sikkim.<br />
<br />
It was built for monks of pure Tibetan lineage, ta-tshang. Rabdentse ruins served as second capital of erstwhile kingdom of Sikkim between 1670 and 1814. There are many legends that attract Buddhist pilgrims here. The roars of Kanchenjunga Falls can be heard from great distance. It falls from a height of 300 feet, and looks magnificent.<br />
<br />
In the evening, you are free to take a stroll in the helipad or local markets. Stay overnight in the hotel.</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> Pelling- Darjeeling (7 hours- 151 km)
								</p>
								<p class="aj">Have your breakfast and get ready to visit Darjeeling. On reaching, check-in at your hotel and relax. Rest of the day is to be spent at leisure.<br />
<br />
Darjeeling is perched at an elevation of 2164 meters. It is profusely strewn with tea gardens; tea of Darjeeling is highly acclaimed worldwide. Darjeeling Himalayan Railways is yet another asset of the town, as it provides a beautiful experience of exploration. UNESCO has listed Darjeeling Himalayan Railways as a World Heritage Site. The town, with its manicured and well-arrayed tea gardens is home to a sprawling biodiversity and vibrant culture.<br />
<br />
Stay overnight in the hotel.</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 7:</b> Darjeeling
								</p>
								<p class="aj">At around 3:45 AM, leave your room to take a drive up to Tiger Hill, at the height of 2440 meters. You drive past oak and magnolia forests. Tiger Hill is hailed for its magnificent and inspiring sight of sunset. The sunrays hit the highest peaks like the third highest peak of the world, Kanchenjunga. The sky gradually changes color and birds chirp as sun begins to set.<br />
<br />
When done with Tiger Hill, return to your room for breakfast and refreshing. On your way to hotel, visit Ghoom Monastery, Batasia Loop and Peace Memorial. Ghoom Monastery was founded by Lama Sherab Gyatso in 1875. One of its star features is the 15-feet-high statue of Maitreya Buddha, which contains images of Chongapa and Chenrezi, disciples of Buddha. You can unwind in Batasia Loop and enjoy the sight of Darjeeling Himalayan Railway making its way through it. Pay homage in Peace Memorial in the vicinity.<br />
<br />
Return to your room and get ready for second round of Darjeeling sightseeing, which consists of Himalayan Mountaineering Institute (Closed on Thursday), Padmaja Naidu Zoological Park, Tibetan Refugee Self Help Center (Closed on Sunday), Tensing Gumpo Rock, Ropeway, Tea Estate, Natural History Museum (Sunday Closed) and Peace Pagoda.<br />
<br />
Witness the rich display of Tibetan culture in Tibetan Refugee Self Help Center, where you can buy beautiful artifacts, handlooms, handicrafts items, fabrics etc. Peace Pagoda was commissioned by Nchidatsu Fujii and dates back to 1971. The main aim behind its construction was unification of all religions, creed and races. It indeed is a symbol of love, peace and spirituality. Bengal Natural History Museum houses a collection of specimens of birds and other creatures. Specimen of Northern spotted owlet, Himalayan brown wood owls, pheasants, fly catchers, Northern brown fish owl, woodpeckers and others 800 specimens are put in display here.<br />
<br />
You are free to spend your evening at leisure. Overnight stay at hotel.</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 8:</b> Darjeeling- Mirik- Darjeeling (1 ½ hour- 62 km, one side)
								</p>
								<p class="aj">Have your breakfast and take a drive to Mirik. During your journey you drive past scenic locations. Mirik is a beautiful getaway from Darjeeling. The town is well-known for its orange orchards. Sumendu Lake is a high-altitude lake, nestled amid vast greenery and is a famous attraction of Mirik. Boating and horse-riding are two common activities on and around the lake.<br />
<br />
When done with Mirik, head back to the hotel. On your way visit Pashupati Market which is famous for cheap foreign goods.<br />
<br />
Overnight stay in hotel.</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 9:</b> Darjeeling- New Jalpaiguri Railway Station (NJP) / Tenzing Norgay Bus Stand (Junction) / Bagdogra Ai
								</p>
								<p class="aj">Have your breakfast and check out from your hotel. You get an assisted transfer to New Jalpaiguri Railway Station (NJP) / Tenzing Norgay Bus Stand (Junction) / Bagdogra Airport (IXB), for your onward journey.</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">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.kunzongtourandtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beautiful Darjeeling Gangtok 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="75830"/>
						</form>
						</div>
						
						";i:1;s:72:"Book Beautiful Darjeeling Gangtok Tour - 8 Nights / 9 Days Tour Packages";i:2;s:151:"book beautiful darjeeling gangtok tour - 8 nights / 9 days tour packages, valley tour packages, gangtok, darjeeling, pelling, west sikkim tour packages";i:3;s:207:"Book Beautiful Darjeeling Gangtok Tour - 8 Nights / 9 Days tour packages from Kunzong Tours and Travel - Get attractive 8 Nights / 9 Days Valley  tour packages for  Gangtok, Darjeeling, Pelling, West Sikkim.";i:4;s:446:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Pelling, West Sikkim"        
		                 },
		      "description": "",
		      "name": "Beautiful Darjeeling Gangtok Tour",
		      "telephone": "+91-9593716601"
		    }
		    </script>
			";i:5;N;}