a:6:{i:0;s:34435:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Lachung – Gangtok- Silk Route 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> Lachung – Gangtok- Silk Route 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> 
						8 Nights / 9 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="Lachung – Gangtok- Silk Route 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="113482"/>
						</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/185671.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/326833/185671.jpg"  width="150" height="150"    alt="Lachung – Gangtok- Silk Route Tour" title="Lachung – Gangtok- Silk Route Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Hidden Cost- Zero Point Rs- 3,000/- and Chopta Valley Rs 2,000/-								</div>
								<br />
																<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival and transfer to 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 in a 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 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 a Home Stay Mandela Inn ( A home far away from your home).</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) ,Lachung - Gangtok (103 km- 2 hrs 50 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. Overnight Stay in Lachung<br />
<br />
In the afternoon, back to Lachung have a delicious lunch, after having lunch is free for the enjoy the beauty of its landscape.</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">After having breakfast transfer to Gangtok . 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 7:</b> Transfer to Rongli after  Tsomgo Lake & Baba Mandir Sightseeing.
										</p>
										<p class="aj">Start your Morning with a delicious breakfast at hotel. Next is the excursion to Tsomgo Lake & Baba Mandir which is nearly 40 kilometers. The beautiful Tsomgo Lake is an oval shaped glacial lake. 1km in length and nearly 50 feet in depth, the lake lies at an altitude of 12,400 ft. Though covered in snow for most of the year, Brahmini ducks & many migratory birds call it home. Enjoy the view of birds, rest on the lake banks and snap ample pictures to make the moment memorable. On the banks of the lake lies a sacred Lord Shiva Mandir. The holy site should be visited as well.<br />
<br />
Baba Mandir is another sight to visit. The temple is name after an army man; Baba Harbhajan Singh who sacrificed his life for the nation. Hailed as "Hero of Nathula" the Sikh is revered as a deity.<br />
<br />
The drive to Nathu La Pass, entry to Republic of China is nearly 20 kilometers and is an optional tour. The beauty of the place and the thrill of being almost to another nation tempt you for a ride.<br />
<br />
After that you’ll be transfer to Rongli en-route visit world highest Gulf Course, Ice Hockey ground, Polo Ground and tourist best attraction the Elephant lake ( Bidan Chu), also visit historicak Tukla Valley, Old Baba Mandir, Jalepla Pass view, Memayenchu, Gnathang Valley view, Lungthung, Thambi View point from Zigzag road, Zuluk and Kew Khola water Falls, which all are on the way. Finally reach Rongli in lunch time. Have a delicious lunch.<br />
The evening is kept free for your leisure. Explore the city at will. There are lots to see, enjoy and cherish.<br />
<br />
(In case of landslide or any reasons if Tsogmo Lake is closed, alternative sightseeing will be provided).</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 8:</b> After having breakfast full day excursion:
										</p>
										<p class="aj">Start last day with morning breakfast in hotel. Drive Aritar via Rhenock, en-route visit beautiful KaliKhala falls, visit India’s second largest Siddhi Vinayak temple at Rhenock Bazar, Ram Gauri Sangrahalaya at Rhenock, Dak Bungalow at Aritar,  one and only boating lake of Sikkim Lampokhari, Aritar Monastery, Fusrey lake ( A natural lake in which you may view the reflection of Mount Kanchen junga inside the lake),  Rai temple at Mangkhim and Aritar lake view from Mangkhim view point. Come back to hotel for post lunch. After lunch is free for your personal leisure.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 9:</b> Rongli 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="Lachung – Gangtok- Silk Route 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="113482"/>
						</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-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-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-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:75:"Book Lachung – Gangtok- Silk Route Tour - 8 Nights / 9 Days Tour Packages";i:2;s:141:"book lachung – gangtok- silk route tour - 8 nights / 9 days tour packages, valley tour packages, gangtok, darjeeling, lachung tour packages";i:3;s:191:"Book Lachung – Gangtok- Silk Route Tour - 8 Nights / 9 Days tour packages from Mangaldeep Travels - Get attractive 8 Nights / 9 Days Valley  tour packages for  Gangtok, Darjeeling, Lachung.";i:4;s:500:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Lachung"        
		                 },
		      "description": "Hidden Cost- Zero Point Rs- 3,000/- and Chopta Valley Rs 2,000/-",
		      "name": "Lachung – Gangtok- Silk Route Tour",
		      "telephone": "+91-9933873291"
		    }
		    </script>
			";i:5;N;}