a:6:{i:0;s:31806:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Gangtok Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.explorertoursandtravels.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.explorertoursandtravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Gangtok Tour</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> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Gangtok, Darjeeling, Kalimpong, Pelling, Bagdogra</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.explorertoursandtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Gangtok 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="192480"/>
						</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_20/598458/303661.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/598458/303661.jpg"  width="150" height="100"    alt="Gangtok Tour" title="Gangtok 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> Bagdogra/NJP – Darjeeling (93 KMS 3.5 HOURS APPROX.)
										</p>
										<p class="aj">Assistance on arrival at Bagdogra Airport/New Jalpaiguri Railway station and drive to Darjeeling. Darjeeling : Standing high in the Himalayas at an altitude of 2134m, ‘Dorje Ling’, or place of the Thunderbolt, offers breathtaking views of snow-capped mountain peaks, with the khangchendzonga rising higher than all the others. Often referred to as the<br />
“Queen of the Hills”, it remains just as alluring with its tiny waterfalls, little villages and a narrow gauge railway track. Surrounded by World Famous Tea Gardens and snowcapped mountains, Darjeeling remains one of the most exotic destinations. Graeme Westlake in his book ‘An introduction to hill stations on India’ refers to Darjeeling as having “A view Scarcely Unrivalled on Earth”. Overnight 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 2:</b> Darjeeling
										</p>
										<p class="aj">Early morning visit Tiger Hill and Ghoom Monastery. Tiger Hill: It is 13 kms from Darjeeling and one can see beautiful sunrise and Himalayan Range like khangchendzonga, Mount Everest etc. One can see the horizon changing colors just before sunrise and then the entire Himalayan range turn golden. It is truly a majestic sight. Ghoom Monastery: This is oldest Monastery in the area which was built in 1875 and one can see the image of Mythic Buddha 15ft. height on the way back from Tiger Hill Breakfast at the hotel and go for Enjoy toy train ride. Toy Train: The spectacular landscape unfolds as the 2-foot gauge Darjeeling Himalayan railway, opened in 188, labours at about 10 mph cress-crossing the road. It has tiny 4-wheel locomotives (some over 100 years old) like living legends. One can experience the sound, smell and romance of a bygone era. DHR is a work of genius and technological achievement of 1881. It has social and cultural importance. It is beautiful and has outstanding universal appeal. Based on its unique features, it is considered to be of lasting significance to mankind. After lunch proceed for city tour.  Himalayan Mountaineering Institute/Padmaja Naidu Himalayan Zoological Park & Snow Leopard Breeding Centre:-  The Himalayan Mountaineering Institute was<br />
started in Darjeeling when Tenzing Norgay climbed Everest to give training  to learn Mountaineering and other adventure sports related to mountaineering and in that Institute one can see equipment etc.used by Mr. Tenzing Norgay and Everest Museum having complete details on Everest attached to institute one can  visit Himalayan Zoological Park where one can see Himalayan animals like Snow Leopard, Tibetan Wolf, Tibetan Yak, Himalayan Black Bear and several varieties of birds. <br />
Tibetan Self- Helf Centre Or Refugee Centre:-  This institute is run by Tibetan Refugees to preserve their handicrafts and one can see making of Tibetan Carpets, Leather work, Paintings and Wooden work etc.<br />
Overnight 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 3:</b> Darjeeling – Pelling (75 KMS 4 HOURS APPROX.)
										</p>
										<p class="aj">Breakfast at the hotel and drive to Pelling. Pelling :- Located at a distance of 120 kms from Gangtok Pelling is another serene, mountain village which lies in the western districts of Sikkim. This village is situated at an altitude of 2000 mts(approx) and  the distance from this village to the mount Kanchandzonga, as a crow flies…is  26 kms approx. Afternoon visit PEMEYANGSTE MONASTERY. 2.5 Kms. from Pelling and standing at 2085m. The Perfect Sublime Lotus, perched on a wooded hilltop, commands the most sublime view of the Khangchendzong. Built during the late 17th century, it is one of the oldest and most important monasteries of the Nyingmapa order of Buddhism in Sikkim. To the present day, it is only the monks of this monastery who enjoy the title of ‘Tasang’ or pure monks. The importance of this monastery grew with time and reached its peak when only monks from this monastery could anoint the reigning sovereign of the land with holy water. Pemayangtse monastery follows the Mindroling tradition besides holding the lineage of Lhatsun Chenpo. Mindroling monastery was founded by Minling Terchen Gyurme Dorje whose famous daughter Jetsun Migyur Paldon lived near Pemayangtse and taught there during her exile. Her stone throne is still to be seen in this monastery, which has 108 monks. The main attraction of the monastery is the wooden replica of Zangdog Palri; the celestial abode of Guru Padmasambhava built by Serdup Lhundrup Dorje Rinpoche in 1971. The annual chaam (monk dance) is held here on the 28th and 29th day of the 12th month of the Tibetan lunar calendar. Rabdentse :- Sikkim’s second capital. The ruins of Rabdantse are worth exploring. The winding track through the forest brings you to a small set of ruins of the early town and eventually on the ruins of the palace with Chorten (stupa) nearby. Farther<br />
afield are the Changay Falls. Overnight 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 4:</b> Pelling
										</p>
										<p class="aj">Gangtok (127 KMS 5.5 HOURS APPROX.) Breakfast at the hotel and drive to Gangtok. <br />
Gangtok :- At an altitude of 1750m, Gangtok became the state capital in the mid-19th century and has undergone rapid development since then.The downtown area is dominated by huge government buildings decorated with traditional Buddhist symbols. Gangtok is also a resting ground for people traveling to North Sikkim. Surrounded by Monasteries and Orchids, Gangtok is truly a travellers delight. Overnight 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 5:</b> Gangtok
										</p>
										<p class="aj">Breakfast at the hotel and full day city tour of Gangtok including excursion to Rumtek Monastery.  <br />
Rumtek Monastery : - 24 Kms. from Gangtok is the awe -inspiring Rumtek Monastery the world Dharma chakra Centre and the seat of His Holiness, the Gyalwa Karmapa, who is the head of the Kagyupa order of Tibetan Buddhism. Behind the main monastery is the lavishly decorated Karmae Nalanda Institute of Buddhist Studies, which attracts students from the world over. Opposite the entrance to the Institute is a small hall featuring a beautiful jewel studded Chorten the Golden Stupa, which contains the ashes and remains of His Holiness the xvi Gyalwa Karmapa. According to legend, it is believed that after years of meditation, the first Karmapa was said to have been visited by ten thousand fairies who came to congratulate him each of whom offered a strand of her hair as a gift. These were said to have been woven into a black hat, which was passed down and is still at the Rumtek Monastery today. It is said that unless held on to by the wearer (who of course, cannot be anyone else but the Karmapa) or kept in a box, the hat would fly away. The Enchey Monastery : - Perched on a ridge above Gangtok, the Enchey Monastery is nestled within lush woods with a spectacular view of Gangtok town. Built<br />
in 1910 on the site of the hermitage of the great tantric saint, Lama Drutob Karpo, who was renowned for his powers of levitation, this monastery houses the monks of the Nyingmapa Order of Tibetan Buddhism.<br />
<br />
Namgyal Institute Of Tibetology: -Amidst a serene surrounding of oak, birch and ash lies the unique organization established in1958. Built in traditional style, the namgyal Institute of Tibetology promotes research in Mahayana Buddhism and the language and tradition of Tibet. It has one of the world’s largest collections of rare books and manuscripts on Mahayana Buddhism. The Institute also has a retail outlets where related books and commercially produced religious art and craft of Tibet can be bought. Adjacent to the institute are two exquisite stupas, the Do Drul Chorten, built to commemorate the victory of good over evil and the Jhang Chub Chorten, built in the memory of Thrukshik Rinpoche, an ardent devotee, a great spirtualist and interpreter of Buddhism. Near the Chorten are housed two giant statues of Lord Buddha and Guru Padmasambhava, also known as Guru Rimpoche, the patron saint of Sikkim. <br />
<br />
Directorate Of Handloom And Handicrafts : - This Directorate was set up to promote traditional Sikkimese art and handicrafts. Exquisitely carved wooden friezes, intricate bamboo work, along with beautiful hand woven carpets and handlooms are on exhibit here. Visitors can not only purchase these items here but also see the artisans at work. Among others, a favourite item here is the choktse a wooden table with carved panels that can be folded into a portable pack. Overnight 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 6:</b> Gangtok
										</p>
										<p class="aj">Breakfast at the hotel and proceed for Full day excursion to Phodong and Labrang Monasteries This monastery is in North Sikkim 28 kms. from Gangtok. The original monastery has been rebuilt and is today one of the most beautiful monasteries in Sikkim. It possesses the old mural paintings and has around 260 monks. Like the Ralong and  Rumtek the main annual Puja is performed on the 28th & 29th days of the tenth month of the Tibetan Calender when the religious dances are performed. Overnight 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 7:</b> Gangtok – Kalimpong (80 KMS 03 HOURS APPROX.)
										</p>
										<p class="aj">Breakfast at the hotel and drive to Kalimpong. <br />
<br />
Kalimpong :- At an altitude of 1250m, Kalimpong’s location is ideal for a pleasant , relaxed getaway. Its clement weather has made Kalimpong’s orchids and gladiole well renowned. Up to the early 1700s, the Kalimpong area was part of the Sikkim raja’s domain.In the early 18th century, the Bhutan king also took it over. In 1865, after the Anglo-Bhutan War , it was annexed to Darjeeling. Scottish Missionaries came here in the late 1800s. The town thrived as a wool trading center with Tibet till 1950s. Today it’s a quiet hill resort and a haven for retired people. Afternoon city tour of Kalimpong.<br />
<br />
Flower Nurseries :- The climate of Kalimpong is ideal for the cultivation of flowers and plants.  Kalimpong is famous for its nurseries which export exotice flowers like Amaryllis lilies, Anthuriums, Roses gerberas, Dahilias, Gladiolias as well as Orchids and Cacti.<br />
<br />
Zang Dog Palri Fo-Brang Monastery – This is a fairly new monastery located in Durpin Dara, from here one can get an exclusive panoramic view of the town and surroundings. The prayer room inside the monastery is adorned with wall paintings and there is a rare  three-dimensional mandala upstairs. Tharpa Choling Monastery at Tirpai hill on route to Dr.Graham’s Home belongs to the Yellow Hat sect of Lamas to which the present Dalai Lama belongs. <br />
<br />
Thongsa Gumpa :- This monastery is of Bhutanese origin and built around 1692.  It is the oldest in Kalimpong.The original structure was destroyed in the inter-clan wars before the British arrived Overnight 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> Kalimpong – Bagdogra/NJP (83 KMS 03 HOURS APPROX.)
										</p>
										<p class="aj">Breakfast at the hotel and drive to Bagdogra/NJP in time for flight/train to 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>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</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.explorertoursandtravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="192480"/>
						</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.explorertoursandtravels.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/jaipur-tour-packages.htm" title="Jaipur Tour Packages">Jaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/agra-tour-packages.htm" title="Agra Tour Packages">Agra</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/udaipur-tour-packages.htm" title="Udaipur Tour Packages">Udaipur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/havelock-tour-packages.htm" title="Havelock Tour Packages">Havelock</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/bundi-tour-packages.htm" title="Bundi Tour Packages">Bundi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.explorertoursandtravels.in/kovalam-tour-packages.htm" title="Kovalam Tour Packages">Kovalam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.explorertoursandtravels.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</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.explorertoursandtravels.in/ranthambore-tour-packages.htm" title="Ranthambore Tour Packages">Ranthambore</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.explorertoursandtravels.in/bikaner-tour-packages.htm" title="Bikaner Tour Packages">Bikaner</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.explorertoursandtravels.in/amritsar-tour-packages.htm" title="Amritsar Tour Packages">Amritsar</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.explorertoursandtravels.in/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</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.explorertoursandtravels.in/dharamshala-tour-packages.htm" title="Dharamshala Tour Packages">Dharamshala</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.explorertoursandtravels.in/jaisalmer-tour-packages.htm" title="Jaisalmer Tour Packages">Jaisalmer</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.explorertoursandtravels.in/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</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.explorertoursandtravels.in/kolkata-tour-packages.htm" title="Kolkata Tour Packages">Kolkata</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.explorertoursandtravels.in/genting-tour-packages.htm" title="Genting Tour Packages">Genting</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.explorertoursandtravels.in/jorhat-tour-packages.htm" title="Jorhat Tour Packages">Jorhat</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.explorertoursandtravels.in/kumarakom-tour-packages.htm" title="Kumarakom Tour Packages">Kumarakom</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.explorertoursandtravels.in/howrah-tour-packages.htm" title="Howrah Tour Packages">Howrah</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.explorertoursandtravels.in/gangtok-tour-packages.htm" title="Gangtok Tour Packages">Gangtok</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.explorertoursandtravels.in/jodhpur-tour-packages.htm" title="Jodhpur Tour Packages">Jodhpur</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.explorertoursandtravels.in/trivandrum-tour-packages.htm" title="Trivandrum Tour Packages">Trivandrum</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.explorertoursandtravels.in/deogarh-tour-packages.htm" title="Deogarh Tour Packages">Deogarh</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.explorertoursandtravels.in/rameshwaram-tour-packages.htm" title="Rameshwaram Tour Packages">Rameshwaram</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.explorertoursandtravels.in/cuttack-tour-packages.htm" title="Cuttack Tour Packages">Cuttack</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.explorertoursandtravels.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.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.explorertoursandtravels.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.explorertoursandtravels.in/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</a> <b class="alpha50 bn small">(1)</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, Darjeeling, Kalimpong, Pelling, Bagdogra</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.explorertoursandtravels.in/holiday-packages/gangtak-lachung-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/598458/303662.jpg"  alt="Gangtak Lachung Tour" title="Gangtak Lachung Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.explorertoursandtravels.in/holiday-packages/gangtak-lachung-tour.htm" title="Gangtak Lachung Tour"><h3>Gangtak Lachung 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, Yumthang, Lachung</p>
															<div class="mt10px small">
							<form name="pkg_192481" id="pkg_192481" method="post" action="http://www.explorertoursandtravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.explorertoursandtravels.in/holiday-packages/gangtak-lachung-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Gangtak Lachung 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="192481"/>
							</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:51:"Book Gangtok Tour - 7 Nights / 8 Days Tour Packages";i:2;s:144:"book gangtok tour - 7 nights / 8 days tour packages, hill station tour packages, gangtok, darjeeling, kalimpong, pelling, bagdogra tour packages";i:3;s:190:"Book Gangtok Tour - 7 Nights / 8 Days tour packages from Explorer Tours - Get attractive 7 Nights / 8 Days Hill Station  tour packages for  Gangtok, Darjeeling, Kalimpong, Pelling, Bagdogra.";i:4;s:433:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Kalimpong, Pelling, Bagdogra"        
		                 },
		      "description": "",
		      "name": "Gangtok Tour",
		      "telephone": "+91-9831167690"
		    }
		    </script>
			";i:5;N;}