a:6:{i:0;s:34464:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Darjeeling - Lachung - Gangtok Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.mangaldeeptravels.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.mangaldeeptravels.in/travel-packages.htm" title="Travel Packages">Travel Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Darjeeling - Lachung - 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, Lachung</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.mangaldeeptravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Darjeeling - Lachung - 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="50831"/>
						</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_11/326833/99911.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/326833/99911.jpg"  width="150" height="150"    alt="Darjeeling - Lachung - Gangtok Tour" title="Darjeeling - Lachung - 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> Arrival and transfer to Darjeeling
										</p>
										<p class="aj">As you arrive at New Jalpaiguri Railway Station (68 km from Darjeeling) / Bagdogra Airport (69 km) / Tenzing Norgay Bus Stand (62 km), meet our tour representative who helps you with an assisted transfer to Darjeeling.<br />
<br />
Perched at an altitude of 7100 m above the sea level, Darjeeling offers stunning views of lush tea gardens and the mighty Himalayas. This hill town is also home to the UNESCO World Heritage Site of the Darjeeling Himalayan Railway, fondly referred to as the toy train. The place boasts of an extremely serene surrounding.<br />
<br />
On reaching Darjeeling, complete the check-in formalities at the hotel. Relax for some time. Later on, the evening is at leisure. You are free to take a stroll at the Mall road or indulge in shopping at the popular shopping centers. Stay overnight.</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 Sightseeing
										</p>
										<p class="aj">The second day starts very early. Get- up around 3:45 AM for a short trip to Tiger Hill to enjoy a memorable sunrise view (subject to clear weather), 11 km away. On your way back, visit the other attractions including Ghoom Monastry, War Memorial and Batasia Loop. Later, back to the hotel for breakfast. Post breakfast, continue with sightseeing including Padmaja Naidu Zoological Park, Himalayan Mountaineering Institute (Closed on Thursday), Ropeway, Tibetan Refugee Self Help Center (Closed on Sunday), Tea Estate, Natural History Museum (Sunday Closed) and Peace Pagoda.<br />
<br />
Those visiting Darjeeling must not miss sunrise views from Tiger hill over the Kanchendzonga Peak. When the first rays of the rising sun sheds light on the Peak, the view looks extremely beautiful. The hill is amidst lush greenery of thick oak forests, forming a beautiful sight for the on-looker. The morning sun looks like an orange-colored ball that rises from behind the hills.<br />
<br />
Peace Pagoda, opened in November 1992, is an important attraction here and is placed on the slopes of Jalaphar hill. This sacred site showcases the 4 avatars of Lord Buddha. The tallest free-standing structure in the town, this pagoda has 2 lion models on the either sides of the wall on the lower level. The huge Buddha statues are golden in color and are carved in the walls. As you climb the stairs and reach the top, enjoy nice views of the surroundings. Take Parikrama around the huge dome-like structure and spot Buddha statues in various postures.<br />
<br />
Enjoy wonderful views of the verdant tea plantations and snow-covered peaks while aboard the Cable Ride that takes you to the beautiful Rangit Valley from Darjeeling. Take a walk in the lush tea gardens of Darjeeling while the fresh aroma fills your nostrils.<br />
<br />
Placed inside the well-maintained garden at Batasia Loop, the Gorkha War Memorial is a tribute to the Gorkha soldiers who sacrificed their lives in battles. Batasia Loop also offers toy train ride that passes around the loop and offers a 360 degree view of the landscape from a high point. The evening is free. Stay overnight.</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 - Gangtok (sightseeing) (96.5 km- 2 hrs 30 minutes)
										</p>
										<p class="aj">Today, get an assisted transfer to Gangtok, the capital city of Sikkim state. Placed at an elevation of 1600 meters above the sea level, Gangtok is known for its monasteries, abundant scenic beauty and a pleasant climate. One of the most popular destinations in north-east India, Gangtok has a number of viewpoints to treat enjoy mesmerizing views of the landscape. The hill town boasts of housing several varieties of butterflies, Orchids and Rhododendron. As you reach, check-into the hotel. Later, leave for sightseeing. Visit the popular tourist attractions of Gangtok including Directorate of Handicrafts & Handloom, Research Institute of Tibetology, Do Drul Chorten (Stupa), Enchey Monastery, White Hall and Flower Show.<br />
<br />
Possibly Sikkim’s biggest stupa, Do Drul Chorten was built on a hillock in 1945 by Late Truslshi Rimpoche, the head of Nyingma sect of Tibetan Buddhism. The golden -colored dome is the most striking feature of this structure. 2 huge statues of Guru Rinpoche (Guru Padmasambhava) look stunning. In the complex, one can spot lamas doing their prayers.<br />
<br />
Enchey Monastery, founded way back in the year 1909, is a splendid place of worship. As the monastery is perched on a hill, it offers a nice view of Mt Kanchenjunga. Popular for its Chinese—Pagoda like design, the gompa’s inside walls are decorated with images of deities. Lord Buddha and Guru Padmasambhava are worshipped here. The complex also has a monastery.<br />
<br />
There is a permanent flower show at Flower Exhibition Center situated near Ride Park and White Hall. Entry fee is INR 10 per head and children below 5 years are free. The exhibition area is a small green house with various kinds of colorful flowers like orchids, roses, gerberas, carnations, celosia etc, on display (according to season). Do not miss clicking photographs here.<br />
<br />
If time permits, you can visit the Mall road in the evening. Stay overnight in Gangtok.</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- Lachung (103 km- 2 hrs 50 minutes)
										</p>
										<p class="aj">After morning breakfast on day 4, we move towards north Sikkim region. Check-out from Gangtok at around10:00 AM and begin driving for Lachung. Located at an altitude of 9600 feet above the sea level, Lachung is a beautiful village amidst lush peaks, that form an enchanting view for the tourists. Cascading waterfalls, snow-covered mountains, dazzling streams and a pleasant climate allure travelers from all around. Apricot, apple and peach orchards are an added bonus. Blankets and woven rugs are what you should get your hands on.<br />
<br />
On the way, halt at a few wonderful places Tashi Viewpoint- for enjoying mesmerizing views of the landscape, Kabi Lungstok- a popular historical town that also has Buddhist monastery, Naga Waterfalls- click some photographs at this fall. Later continue to Chungthang to visit the meeting point of Lachen Chu and Lachung Chu and finally at the Twin Waterfalls and Bhim Nala Waterfalls for some memorable moments. Savor lunch at Namok (at your own cost).<br />
<br />
Evening arrival at Lachung. Complete the check-in formalities at the hotel. Relax for a while. Dinner and 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 5:</b> short trip to Yumthang (26 km- 45 minutes)
										</p>
										<p class="aj">Post breakfast, get all set for a day’s trip to the beautiful Yumthang valley, lying at an altitude of 11, 800 feet above the sea level. En-route you come across a popular hot spring, known for having water with medicinal properties, which can cure skin diseases. Later, continue to Yumthang. Popularly known as ‘Valley of Flowers’, this valley looks very beautiful during spring, when colorful flowers like Alpine, Primulae, Rhododendrons and more are in full blooming mode. During winters, the valley is covered with a sheet of white snow. Enjoy the amazing weather and treat your eyes to the beautiful views.<br />
<br />
In the afternoon, back to Lachung for sightseeing. The list of attractions of Lachung includes Lachung Monastery, Cottage Industry and Waterfalls. Thereafter, you can enjoy a walk around the nearby villages.<br />
<br />
The oldest Buddhist monastery of Sikkim, Lachung Gompa is placed at an elevation of 2750 m above the sea level. The monastery is the base for mountaineering activities and Green Lake trekking in Sikkim. Belonging to Nyingmapa sect of Mahayana Buddhism, it has the statue of or Guru Rinpochi. It was originally constructed in 1806 and then renovated in 1969. The huge prayer wheel on the entry gate is eye-catching.<br />
<br />
Dinner and 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> Lachung - Gangtok (103 km- 2 hrs 50 minutes)
										</p>
										<p class="aj">After having breakfast, leave for Gangtok. On the way stop at Singhik and Mangan view points, just a few kilometers away from each other. If the weather is clear, these viewpoints offer some of the most amazing views of various peaks in the Himalayan range including Mount Kabru, Mount Kanchenjunga, Mount Pandim, Mount Simvo, Mount Jopuno and Mount Siniolchu. Do not miss the opportunity to click photographs of the beautiful scenery here. After spending some memorable time here, continue to Gangtok. While in your car, treat your eyes to the beauty of tall trees, colorful flowers and snow-capped peaks.<br />
<br />
Afternoon arrival in Gangtok. Check-in at the hotel. Relax for some time. The evening is free for you to indulge in the activities of your interest. You can take a walk at the bustling mall road or can partake in shopping. M G Marg, Lal Bazaar and old market are some of the best places to shop in Gangtok. Thangkas, Tibetan handicrafts, woolen clothes are some of the best buys here.<br />
<br />
Stay overnight.</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> Full day excursion to Tsomgo Lake and Baba Mandir
										</p>
										<p class="aj">After morning breakfast, leave for a day’s trip to Tsomgo Lake and Baba Mandir.<br />
<br />
Around 38 km away, Tsomgo Lake (12,400 feet) or Changu Lake is a glacial lake that receives its waters from the snow- covered mountains encircling it. The sight is extremely beautiful and is a favorite haunt of Brahmin ducks and other migratory birds. As it is an important tourist attraction, you can find some shops selling knick-knacks and Yak cheese. You can also opt for yak rides to explore the breathtaking scenery. Admire the scenic views and do visit Lord Shiva temple, on the banks of the Lake.<br />
<br />
Thereafter, start moving towards Baba Harbhajan Singh Memorial War temple, around 20 km from here. Placed near Jelep Pass, the temple lies at an elevation of 13000 feet. This shrine is dedicated to a soldier Harbhajan Singh of the 23rd Punjab Regiment, who sacrificed his life in the Indo-China was of 1962. It is said that after his death in the war, the soldier came in the dreams of one of his friends and asked him to construct a memorial for him. For the same reason, the Indian Army built this memorial in the remembrance of the sacrifice of this soldier. After some time, this war memorial turned into a shrine. Built in 1983, the temple is in the bunker of this martyr and consists of his pictures, dresses and other personal belongings. There is a small wishing pond nearby where you can throw a coin to make a wish.<br />
<br />
The evening is at leisure. Overnight in Gangtok (Visit to Tsomgo Lake is subject to weather conditions.)</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> Gangtok to Siliguri for departure New Jalpaiguri Railway Station (119 km) / Bagdogra Airport (126 km
										</p>
										<p class="aj">On the last day, have breakfast. After completing the check-out formalities get an assisted transfer to New Jalpaiguri Railway Station / Bagdogra Airport / Tenzing Norgay Bus Stand for your onward journey.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Darjeeling - Lachung - 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="50831"/>
						</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.mangaldeeptravels.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(46)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(46)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-jalpaiguri.htm" title="Packages in Jalpaiguri">Jalpaiguri</a> <b class="alpha50 bn small">(23)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(19)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-siliguri.htm" title="Packages in Siliguri">Siliguri</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/packages-in-alipurduar.htm" title="Packages in Alipurduar">Alipurduar</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.mangaldeeptravels.in/packages-in-yumthang.htm" title="Packages in Yumthang">Yumthang</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.mangaldeeptravels.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(73)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mangaldeeptravels.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.mangaldeeptravels.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(4)</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, Lachung</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.mangaldeeptravels.in/tour-packages/short-escapeto-gangtok-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/98660.jpg"  alt="Short Escape to Gangtok Tour" title="Short Escape to Gangtok Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/short-escapeto-gangtok-tour.htm" title="Short Escape to Gangtok Tour"><h3>Short Escape To Gangtok 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> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok</p>
															<div class="mt10px small">
							<form name="pkg_50404" id="pkg_50404" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/short-escapeto-gangtok-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Short Escape to Gangtok 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="50404"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/darjeeling-pelling-gangtok-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/99914.jpg"  alt="Darjeeling - Pelling - Gangtok Tour" title="Darjeeling - Pelling - Gangtok Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/darjeeling-pelling-gangtok-tour.htm" title="Darjeeling - Pelling - Gangtok Tour"><h3>Darjeeling - Pelling - Gangtok 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling, Pelling</p>
															<div class="mt10px small">
							<form name="pkg_50833" id="pkg_50833" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/darjeeling-pelling-gangtok-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Darjeeling - Pelling - Gangtok 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="50833"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/darjeeling7-days-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/120139.jpg"  alt="Darjeeling 7 days Tour" title="Darjeeling 7 days Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/darjeeling7-days-tour1.htm" title="Darjeeling 7 days Tour"><h3>Darjeeling 7 Days 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling</p>
															<div class="mt10px small">
							<form name="pkg_64949" id="pkg_64949" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/darjeeling7-days-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Darjeeling 7 days 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="64949"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/darjeeling-gangtok-pelling-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/188826.jpg"  alt="Darjeeling Gangtok Pelling Tour" title="Darjeeling Gangtok Pelling Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/darjeeling-gangtok-pelling-tour.htm" title="Darjeeling Gangtok Pelling Tour"><h3>Darjeeling Gangtok Pelling 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling, Pelling</p>
															<div class="mt10px small">
							<form name="pkg_115879" id="pkg_115879" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/darjeeling-gangtok-pelling-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Darjeeling Gangtok Pelling 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="115879"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/north-sikkim-tour-winter-special.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/98664.jpg"  alt="North Sikkim Tour (Winter Special)" title="North Sikkim Tour (Winter Special)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/north-sikkim-tour-winter-special.htm" title="North Sikkim Tour (Winter Special)"><h3>North Sikkim Tour (winter Special)</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, North Sikkim</p>
															<div class="mt10px small">
							<form name="pkg_50408" id="pkg_50408" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/north-sikkim-tour-winter-special.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="North Sikkim Tour (Winter Special) - 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="50408"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.mangaldeeptravels.in/tour-packages/kalimpong-gangtok-darjeeling-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/326833/99916.jpg"  alt="Kalimpong - Gangtok - Darjeeling Tour" title="Kalimpong - Gangtok - Darjeeling Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.mangaldeeptravels.in/tour-packages/kalimpong-gangtok-darjeeling-tour.htm" title="Kalimpong - Gangtok - Darjeeling Tour"><h3>Kalimpong - Gangtok - 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> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling, Kalimpong, Mirik</p>
															<div class="mt10px small">
							<form name="pkg_50835" id="pkg_50835" method="post" action="http://www.mangaldeeptravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.mangaldeeptravels.in/tour-packages/kalimpong-gangtok-darjeeling-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Kalimpong - Gangtok - 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="50835"/>
							</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:74:"Book Darjeeling - Lachung - Gangtok Tour - 7 Nights / 8 Days Tour Packages";i:2;s:148:"book darjeeling - lachung - gangtok tour - 7 nights / 8 days tour packages, lakes & rivers tour packages, gangtok, darjeeling, lachung tour packages";i:3;s:183:"Mangaldeep Travels offers Darjeeling - Lachung - Gangtok Tour - 7 Nights / 8 Days tour package, budget Lakes & Rivers tour packages for Gangtok, Darjeeling, Lachung at exciting price.";i:4;s:435:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Lachung"        
		                 },
		      "description": "",
		      "name": "Darjeeling - Lachung - Gangtok Tour",
		      "telephone": "+91-9933873291"
		    }
		    </script>
			";i:5;N;}