a:6:{i:0;s:36438:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>DARJEELING-GANGTOK-KALIMPONG TOUR 5N/6D</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.globetrottertour.in/" title="Home">Home</a>
						
							
						<b class="ffv p2px">&rsaquo;</b> DARJEELING-GANGTOK-KALIMPONG TOUR 5N/6D</p>
						</div>
						</div>
						</section>
										<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-->				
								
						<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, Darjeeling, Kalimpong</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.globetrottertour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="DARJEELING-GANGTOK-KALIMPONG TOUR 5N/6D - 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="186374"/>
						</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_19/555474/289592.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/555474/289592.jpg"  width="150" height="84"    alt="DARJEELING-GANGTOK-KALIMPONG TOUR 5N/6D" title="DARJEELING-GANGTOK-KALIMPONG TOUR 5N/6D" /></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 at Gangtok
										</p>
										<p class="aj">On your arrival at Bagdodra airport/ Jalpaiguri railway station, meet our tour representative and get escorted to pre-booked hotel in Gangtok.<br />
Revered as the ‘land of monasteries, Gangtok is one of the top tourist destinations to visit in India. The city boasts of number of iconic monasteries, educational institutions, striking valleys and wonderful sanctuaries. With its breathtaking attractions, Gangtok allures travelers from all parts of India and across the globe. The place has much to offer when it comes to attractions.<br />
You may visit Rumtek Monastery; largest Gompa in Sikkim, Saramsa Garden (a beautiful garden where you can see number of fruits and flowers planted), Fambong La Wildlife Sanctuary (wonderful sanctuary famous for varied flora and fauna) and Yumthang valley (the valley is home to Shingba Rhododendron Sanctuary where there are 24 species of Rhododendron).<br />
Overnight stay 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 2:</b> Excursion to Tsomgo Lake (38 km/ around an hour drive)
										</p>
										<p class="aj">After breakfast, proceed for short trip to Tsomgo Lake; one of the most popular tourist spots settled at an attitude up to 12, 400ft. The lake receives its water from the melting of snows of the mountains. The lake holds great religious importance among locals. Legends say that, Buddhist<br />
monks in earlier times predicted the future after the study of color of water.<br />
You may also indulge in wonderful yak and mule ride along the lake and adore the spectacular surrounding. There is also a Lord Shiva temple near the lake where you can offer sincere prayers to seek the blessings of the Lord.<br />
Next you head to Baba mandir which is another major tourist attraction in Gangtok. The holy shrine is placed at an altitude up to 1300ft. and is just few kilometers away from Tsomgo Lake.<br />
Locals here claim that the temple was put up in the memory of Baba Harbhajan Singh (a soldier).<br />
In fact, the temple is also referred to as Baba Harbhajan Singh temple.<br />
With some good, memories return back to hotel. Rest of the day you can either shop at the lively bazaars of Gangtok or just loosen up in the hotel room.<br />
<br />
Wel, if you are in Gangtok, shopping becomes a must-do thing. The best-buys of the place are handicrafts, locally made artifacts, Tibetan carpets, shimmering jewelries, Sikkim tea, alpine cheese, black cardamom and other traditional outfits.<br />
Overnight stay 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 local sightseeing (half day) - get transferred to Kalimpong (77Km, around one and a half dri
										</p>
										<p class="aj">On third day, have breakfast and embark on a half-day sightseeing tour to Gangtok and later in the evening proceed to Kalimpong.<br />
During your Gangtok tour, you visit Directorate of handicraft handlooms Emporium; one among the few best places to shop in state Sikkim. Boasting of traditional motifs, Tibetan carpets and other excellent handicrafts including Thankas, Choksee and locally made furniture, the center was put up with an objective behind, to preserve and propagate the brilliant artifacts of local artisans. All the stuff you get here is unique and under your budget.<br />
Next you visit Research Institute of Tibetlogy which initially was referred to as Namgyal Institute of Tibetology; one of the most important places in Gangtok that deserves your visit where you get to discover about the very culture, spirit and essence of land. Built in Sikkimese styles of<br />
architecture, the research institute constitutes of a library with massive collection of Tibetan works popular all around the world and a museum of Tibetan Iconography and religious art.<br />
In today’s time, the institute is known worldwide and has become a great place to hold series of lectures and International conferences on Tibetan and Buddhist studies.<br />
Further, visit Do Drul Chorten which is one of the most important and magnificent stupas in Sikkim holding Kangyur relics (holy books) and other religious objects. The stupa is situated on a hill and is pious enough among Buddhists. The chief attraction of the stupa is the golden top<br />
dome and the 108 prayer wheels around the stupa. Prayers are offered by turning the wheel and chanting the mantra ‘Om Mane Padmane Hum’ inscribed on the wheels. The stupa was made under the supervision of Trulshik Rinpoche, the head of Nyingma sect of Tibetan Buddhism.<br />
Then we take you to the must-visit monastery in Gangtok, Sikkim, Enchey monastery; an important seat of the Nyingmapa order of Vajrayana school of Buddhism. Surrounded by tall pine trees, the iconic monastery is a two storey building boasting of shells which are regarded auspicious Buddhist symbols and several murals representing the protective deity and wheel of<br />
law on the porch.<br />
Thereafter, explore White hall; historically significant building, erected in British styles. The hall comprises of an officer’s club and a badminton court. Also, visit the Flower Exhibition Center; a wonderland for plant lovers. With rich display of greenery and colorful flowers, the center also<br />
holds Sikkim Flower Show where visitors get to see beautiful orchids.<br />
After travelling in and around Gangtok, straight away travel to Kalimpong. Situated on a ridge, overlooking Teesta River, Kalimpong is rich in terms of horticulture. From notable Buddhist monasteries to sanctified spots, Kalimpong has a lot to keep you engaged. It is a perfect place<br />
for history buffs.<br />
Upon reaching Kalimpong, check-in at a hotel and settle down. Rest of the evening is at leisure or you can also roam around the attractive nurseries and local markets which are full with paintings, statues, thankas and items made from bone.<br />
Overnight stay 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 4:</b> Kalimpong Sightseeing (half day) - get transferred to Darjeeling (48km, around 2 hours drive)
										</p>
										<p class="aj">Fourth day is set out to explore Kalimpong. After breakfast, leave the hotel and drive through scenic road to Deolo hill; listed among the important places of interest to visit in Kalimpong.<br />
Deolo hill is one of the two hills in between which the town Kalimpong is setup. Scale the highest point of the region, Deolo hill, up to 1704m above the sea level. From the top, relish the enchanting views of Teesta River, Relli valley and gorgeous surrounding.<br />
Then you head to Hanuman mandir; a big statue of Lord Hanuman on a hill. It is a great place for Hanuman devotees. Afterwards, visit the popular school of the town, Dr. Graham’s homes (school). The school was opened with a motive to educate the children of tea workers and other<br />
poor kids. The Graham’s home is also a well-known shooting spot.<br />
Later, proceed to some important tourist spots in Kalimpong including- Durbin Monastery which is placed on the Durbin Dara Hill. The star attraction of the monastery is two large cylinders around 10ft high, on two sides. On turning the cylinders by a crank, the lever is so arranged that a bell would prompt on every turn. You also get to see prayer wheels on outside walls of the monastery; Manghal Dham, which a shrine cum a prayer hall. Dedicated to Lord Krishna the temple was raised by Shri Krishna Pranami in the memory of Guru Sri 108 Mangaldasji. The temple houses the statues of Prannath, Raj Shyamji and Mangaldasji.<br />
The divine Mangal Dham works on the principles to help the schools, orphanages and<br />
whosoever in need; and Pine view nurseries which presents you a breathtaking and largest collection of cactus in whole Asia. The variety would make you wonder about cactus as a possibility in North Eastern locations too, apart from desert areas.<br />
Later on, get transferred to Darjeeling.<br />
Renowned as the ‘Queen of hills’, Darjeeling is an important tourist destination to visit in the state of West Bengal. The marvelous hill station is set up at an elevation of 7100ft with mountains and valleys all around and is best-known for salubrious weather, natural beauty, tea farms, monasteries, lakes, museums and a whole lot. The awe-inspiring views of Kanchenjunga, (the third highest mountain peak in the world) would totally leave you awestruck.<br />
Darjeeling is also home to the famous World Heritage Train- Darjeeling Himalayan Railway; a thin gauge course connecting Darjeeling and Siliguri. Popular as the Darjeeling Toy train, the train started its operation in around 1881 and is one of the few hill railways operating in India.<br />
The train passes through some rolling hills, green jungles and tea farms of Darjeeling.<br />
On your arrival at Darjeeling, check-in at a hotel and relax. Further, in the evening you are free to walk around the local markets. Some of the unique buys of Darjeeling that shouldn’t be missed during your visit include variety of teas, amazing kitchen wares, brass statues, woven fabrics and shinning jewelries.<br />
Overnight stay in the Darjeeling.</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> Darjeeling local Sightseeing (half day)
										</p>
										<p class="aj">Today early morning get ready for some thrilling drive to Tiger Hill; at a height up to 8,500 ft. (On a clear day), cherish the mesmerizing natural beauty of the hill, the lush green jungles and the tranquil ambience. Usually, it is noted that, visitors stopover this hill to relish the wonderful sunrise. The ultimate view of golden sunrays falling over the snow covered Himalayan ranges would surely leave you awestruck.<br />
<br />
From Tiger hill you can have a perfect view of Kanchenjunga, the third highest peak in the world. In case you are lucky, you may also get to see the world’s highest peak, Mount Everest.<br />
Thereafter, on the way back to hotel room, visit the Ghoom monastery-built by Lama Sherpa Gyaltsho, the monastery belongs to Gelugpa (yellow hat) Sect. The monastery is highly revered among Buddhists and is storehouse to several Buddhist manuscripts. The highlights of the monastery are thangkas on the walls and around 4.57m high statue of Maithreya Buddha. The serenity of the place would surely provide you great peace and power; and then proceed to Batasia Loop and War Memorial. Situated inside Batasia Loop- a scenic garden, War Memorial is<br />
a tribute to Gorkha soldiers of Darjeeling who sacrificed their life in the battle. Inaugurated in 1995, the memorial holds an elevated platform where there is a statue of a soldier paying respect and a Cenotaph.<br />
The loop offers amazing views of Kanchenjunga and picturesque surrounding from toy train (route from Ghum and Darjeeling).<br />
Getting back to hotel for breakfast and relax for some time. After breakfast, get ready for a half day tour to Darjeeling.<br />
Begin with Padmaja Naidu Zoological Park which is famed for some rarely seen species including Red Panda, Siberian Tiger, Tibetan Wolf, Black Bear and Snow Leopard. Located at a height up to 2133m, Padmaja Naidu is one of famous and highest Zoo in India. The main idea behind the formation of the park was to conserve the endangered species of fauna. The park has an amazing scenic beauty of lush jungles.<br />
Then we take you to Himalayan Mountaineering Institute (closed on Thursday)- an institute basically put up to encourage today’s generation students to improve participation in exciting sports like mountaineering; Passenger Ropeway- one of the finest ways to adore the beautiful Darjeeling . It is India’s first Passenger Ropeway starting from Singamari. The route to Darjeeling and Singla Bazaar feels even better when you experience the ride.<br />
From the Cable Car, one can truly sense enchanting tea farms, breathtaking valley, waterfalls and the River Ranjeet and Ramman. Moreover, you can also have the splendid views of Eastern<br />
Himalayan Range and the snow covered peaks of Kachenjunga; Tenzing and Gombu Rock Darjeeling- two big natural rocks set opposite to each other. Named after Tenzing Norway is the Tenzing rock and Gombu rock named after Nawang Gombu. Both the rocks are training locations for Himalayan Mountaineering Institute students; Tibetan Refugee Self Help Center-a perfect place to explore Tibetan Culture through the artifacts, wooden carvings, photographs, carpets,<br />
leather work and much more put into exhibition and on sale; Tea Estate- producing variety in teas, tea estates in Darjeeling are famous for their well-maintained farms where you can see different flavors, taste and aroma of teas (Sunday closed); Peace Pogoda- a Buddhist stupa/ monument specially put up to maintain peace and unite people of all religion and caste.<br />
Constructed under the guidance of a Buddhist monk, Nichidastu Fuji, the stupa stands for world peace.<br />
Return back to hotel for overnight stay.</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- Darjeeling to Siliguri- (64km, around one and a half hour drive)
										</p>
										<p class="aj">Today, after morning breakfast, check-out form the hotel and leave for Siliguri. Further, travel to railway station/ Bagdogra airport/ Tenzing Norgay bus station, for your onward destination.</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>CP (Room + Breakfast)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Accommodation is on twin sharing basis</li><li>
Meals : breakfast at all places</li><li>
Transfers from one place to another</li><li>
Sightseeing in private cars</li><li>
Vehicle will be provided based on the itinerary</li><li>
All current taxes such as hotel taxes and transportation taxes</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Accommodation is on twin sharing basis</li><li>
Meals : breakfast at all places</li><li>
Transfers from one place to another</li><li>
Sightseeing in private cars</li><li>
Vehicle will be provided based on the itinerary</li><li>
All current taxes such as hotel taxes and transportation taxes.</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</li><li>
* 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">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</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.</li><li>
* 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.globetrottertour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="DARJEELING-GANGTOK-KALIMPONG TOUR 5N/6D - 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="186374"/>
						</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.globetrottertour.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/packages-in-guwahati.htm" title="Packages in Guwahati">Guwahati</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/packages-in-cherrapunji.htm" title="Packages in Cherrapunji">Cherrapunji</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/packages-in-shillong.htm" title="Packages in Shillong">Shillong</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/packages-in-jalpaiguri.htm" title="Packages in Jalpaiguri">Jalpaiguri</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-bomdila.htm" title="Packages in Bomdila">Bomdila</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-kaziranga.htm" title="Packages in Kaziranga">Kaziranga</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-tawang.htm" title="Packages in Tawang">Tawang</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-thiruvalla.htm" title="Packages in Thiruvalla">Thiruvalla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-tezpur.htm" title="Packages in Tezpur">Tezpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-ooty.htm" title="Packages in Ooty">Ooty</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-siliguri.htm" title="Packages in Siliguri">Siliguri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-mandla.htm" title="Packages in Mandla">Mandla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.globetrottertour.in/packages-in-bhalukpong.htm" title="Packages in Bhalukpong">Bhalukpong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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.globetrottertour.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.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.globetrottertour.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.globetrottertour.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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, Darjeeling, Kalimpong</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.globetrottertour.in/holiday-packages/darjeeling-tour2n3d.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/555474/289593.jpg"  alt="DARJEELING TOUR 2N/3D" title="DARJEELING TOUR 2N/3D"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.globetrottertour.in/holiday-packages/darjeeling-tour2n3d.htm" title="DARJEELING TOUR 2N/3D"><h3>Darjeeling Tour 2n/3d</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> :  Darjeeling</p>
															<div class="mt10px small">
							<form name="pkg_186375" id="pkg_186375" method="post" action="http://www.globetrottertour.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.globetrottertour.in/holiday-packages/darjeeling-tour2n3d.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="DARJEELING TOUR 2N/3D - 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="186375"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.globetrottertour.in/holiday-packages/darjeeling-with-kalimpong-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/555474/288529.jpg"  alt="Darjeeling with Kalimpong Tour" title="Darjeeling with Kalimpong Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.globetrottertour.in/holiday-packages/darjeeling-with-kalimpong-tour.htm" title="Darjeeling with Kalimpong Tour"><h3>Darjeeling With Kalimpong 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling, Kalimpong, Siliguri..</p>
															<div class="mt10px small">
							<form name="pkg_186115" id="pkg_186115" method="post" action="http://www.globetrottertour.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.globetrottertour.in/holiday-packages/darjeeling-with-kalimpong-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Darjeeling with Kalimpong Tour - 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="186115"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.globetrottertour.in/holiday-packages/darjeeling-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/555474/288516.jpg"  alt="DARJEELING TOUR" title="DARJEELING TOUR"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.globetrottertour.in/holiday-packages/darjeeling-tour.htm" title="DARJEELING TOUR"><h3>Darjeeling 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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Darjeeling, Jalpaiguri, Bagdogra</p>
															<div class="mt10px small">
							<form name="pkg_186111" id="pkg_186111" method="post" action="http://www.globetrottertour.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.globetrottertour.in/holiday-packages/darjeeling-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="DARJEELING TOUR - 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="186111"/>
							</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:78:"Book DARJEELING-GANGTOK-KALIMPONG TOUR 5N/6D - 5 Nights / 6 Days Tour Packages";i:2;s:152:"book darjeeling-gangtok-kalimpong tour 5n/6d - 5 nights / 6 days tour packages, hill station tour packages, gangtok, darjeeling, kalimpong tour packages";i:3;s:197:"Book DARJEELING-GANGTOK-KALIMPONG TOUR 5N/6D - 5 Nights / 6 Days tour packages from Globe Trotter - Get attractive 5 Nights / 6 Days Hill Station  tour packages for  Gangtok, Darjeeling, Kalimpong.";i:4;s:441:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Kalimpong"        
		                 },
		      "description": "",
		      "name": "DARJEELING-GANGTOK-KALIMPONG TOUR 5N/6D",
		      "telephone": "+91-9967296720"
		    }
		    </script>
			";i:5;N;}