a:6:{i:0;s:17512:"				<div class="h1"><h1>Easterndelight with lachung Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.holidaymasti.co.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Easterndelight with lachung Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gangtok, Darjeeling, Pelling, Lachung</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.holidaymasti.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Easterndelight with lachung 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="48369"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/30465/94242.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/30465/94242.jpg"  width="150" height="150"    alt="Easterndelight with lachung Tour" title="Easterndelight with lachung Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Darjeeling<br />
03 Points Include Tiger Hill, Ghoom Monastery, Batasia Loop (3 Hrs Trip Start At 04.00 A.M. To 7.00A.M)<br />
07 Points Include Himalayan Mountaineering Institute, Padmaja Naidu Himalayan Zoological Park, Tenzing Rock, Tibetan Refugee Self-Help Center, Tea Estate (Outer View), Ava Art Gallery And Japanese Temple, Peace Pagoda (4 Hrs From 9.00 To 13.00 Hrs).<br />
<br />
Optional Sightseeing With Additional Cost<br />
Mirik Lake (Included In 3Nts Darjeeling Package), Nepal Border & Pasupati Market (Nepal)<br />
Rock Garden (04 Hrs Approx) (4 Hrs From 9.00 To 13.00 Hrs Or 14.00 Hrs To 18.00 Hrs)<br />
Cable Car, Joy Ride In Toy Train Cost Rs 350 Per Ticket & Rs 500 For Vehicle (Hotel - Station - Hotel Transfer)<br />
<br />
Gangtok<br />
Half Day Include Banzakhri Falls, Cottage Industry And Handicraft Center, Flower Show, Dro-Dul Chorten & Institute Of Tibetology. (Timing : 09.00 Hrs To 13.00 Hrs) Full Day Include Tashi View Point, Ganesh Tok & Hanuman Tok, Ranka Monastery, Banjakhri Falls, Cottage Industry, Dro-Dul Chorten, Institute Of Tibetology, Flower Show And Handicraft Center. (Timing : 09.00 Hrs To 17.00 Hrs).<br />
Tsomgo Lake & Baba Mandir (Full Day Trip From 08.00A.M. To 03.00 P.M.)<br />
<br />
Optional Sightseeing With Additional Cost<br />
03 Points Include Tashi View Point, Ganesh Tak & Hanuman Tak (Not Covered In Any Of The Itinerary)<br />
Saramsa Garden, Smile Land Amusement Park. Rumtek Monastery & Lingdum Monastery , Nathula Pass (Indo-China Border) Opens Only On Wed, Thu, Fri, Sat & Sun (If Permit Is Available) , Aritar Lake.Temi Tea Garden, Samdruptse & Chardham. Enchey Monastery, Cable Car (Rope Way) & Zoo.<br />
<br />
Lachung<br />
Yumthang Valley & Hot Spring.<br />
Optional Sightseeing With Additional Cost.<br />
Katao Valley, Zero Point (Yumesumdong).Air Fare / Train Fare.<br />
Personal Expenses Such As Laundry, Telephone Calls, Tips & Gratuity, Mineral Water, Soft & Hard Drinks, Rafting, Rock Climbing, Paragliding, Joy Ride (Toy Train), Porterage.<br />
Additional Sightseeing Or Extra Usage Of Vehicle, Other Than Mentioned In The Itinerary.<br />
Entrance Fees & Guide Charges.<br />
Any Cost Arising Due To Natural Calamities Like, Landslides, Road Blockage, Political Disturbances (Strikes), Etc (To Be Borne By The Client, Which Is Directly Payable On The Spot).<br />
Any Increase In Taxes Or Fuel Price, Leading To Increase In Cost On Surface Transportation & Land Arrangements, Which May Come Into Effect Prior To Departure.<br />
Service Tax 3.09%<br />
Travel Insurance.<br />
Anything Which Is Not Include In The Inclusion.<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 Gangtok
								</p>
								<p class="aj">Our Representative Will Be There To Receive The Guest At New Jalpaiguri Railway Station (NJP) / Bagdogra Airport (IXB) / Tenzing Norgay Bus Stand (Junction) - He Will Be Assisting For The Transfer To Gangtok - Gangtok The Capital Of Sikkim Suits All From Tranquility To Adventure, Land Of Monastery, Mystic Rituals & Festivals At An Height Of 1670 Meters / 5480 Feet And Is The Most Visited Spot Of India - It Is One Of The Most Beautiful Town With Varieties Of Rhododendron, Orchids And Butterflies - Nearly 135 Kilometers 4.30 - 5 Hours Drive - Check Into Hotel - Evening Free To Roam Around M G Road (Mall) Or Local Shopping Center - Over Night Stay At 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 2:</b> Excursion To Tsomgo Lake & Baba Mandir (Full Day)
								</p>
								<p class="aj">Morning Breakfast At Hotel - Excursion To Tsomgo Lake & Baba Mandir Nearly 40 Kilometers And 2 Hours Drive Along The Kyongnosla Alpine Sanctuary, The Home To The Red Panda And The Blood Pheasant With Rhododendron And Other Alpine Trees - Situated At An Elevation Of 3753 Meters / 12310 Feet - The Lake Is Oval Shaped Lake Nearly 50 Feet Deep - Generally Covered In Snow For Most Of The Year The Year - This Lake Is Home To The Brahmini Ducks & Many Migratory Birds - Nearby Is The Sacred Baba Mandir Known To Be A Very Holy Site For All - Nathu La Pass To Republic Of China Is Nearly 20 Kilometers And Is Optional Tour - Back To Gangtok - Evening Free To Roam Around M G Road (Mall) Or Local Shopping Center - Over Night Stay At 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 3:</b> Transfer To Lachung
								</p>
								<p class="aj">Early Morning Breakfast - Next Start For North Sikkim Package Tour - Leave Gangtok At About 10 A M Proceed To Lachung 119 Kilometers - 4.30 Hours - 5.30 Hours - Lachung Is Situated At An Altitude Of 8600 Feet - On The Way Stop And Enjoy A Few Wonderful Locations Like Tashi Viewpoint, Kabi Lungstok, Naga Waterfalls, Confluence Of Lachen Chu And Lachung Chu At Chungthang, Twin Waterfalls And Bhim Nala Waterfalls - Lunch Will Be Served At Namok - The Roads Are Colored With Full Bloom Of Primulae, Rhododendrons And Many Other Alpine Flowers Guest Specially During Spring - Guest Are Likely To Reach Lachung At Late Afternoon Or Early Evening - Check Into The Hotel / Resort - Evening Free To Stroll Around The Village - Dinner Will Be Served At About 8 Pm - Overnight Stay At Lachung.</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> Sight Seeing At Yumthang
								</p>
								<p class="aj">After Breakfast Drive Towards Yumthang Situated At An Elevation Of Nearly 11800 Feet - On The Way You May Visit The Famous Hot Spring Which Is Known For Its Curative Properties Of Skin Diseases - Yumthang Is A Valley Near The River Lachung Chu Surrounded By Mountains Where The Tree Line Ends - In Spring The Valley Erupts In Riots Of Colors As Primulae, Rhododendrons And Many Other Alpine Flowers In Full Bloom Along With Snow Covered Valley Except In Autumn - During Winter Yumthang Is Somber With Snow All Around And The Snow Clad Mountains Adding To The Ethereal Beauty - Return To Resort At Lachung For Lunch - After Lunch Visit Lachung Monastery, Cottage Industry And Waterfalls - Evening Free To Stroll Around The Village - Dinner Will Be Served At About 8 Pm - Overnight Stay At Lachung.</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> Transfer To Gangtok
								</p>
								<p class="aj">After Breakfast Leave For Gangtok - 125 Kilometers, 4 - 5 Hours Drive - On The Way Stops At Singhik And Mangan - If The Weather Is Fine And The Sky Is Clear One Can Enjoy The View Of Himalayan Range With Mount Kanchenjunga, Mount Pandim, Mount Kabru, Mount Simvo, Mount Jopuno, Mount Khangchendzonga And Mount Siniolchu - Various Location Offers A Majestic View Of These Peaks Hence Photography Will Consume Some Time - The Drive Will Be Smooth Due To The Scenic Beauty As In Spring The Forest Cover Erupts In A Riot Of Colors As Rhododendrons, Primulae And Many Other Alpine Flowers Are In Full Bloom - Back To Gangtok Evening Free To Roam Around M G Road (Mall) Or Local Shopping Center - Over Night Stay At 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 6:</b> Gangtok Local Sight Seeing (Half Day) & Transfer To Pelling
								</p>
								<p class="aj">Morning Breakfast - After Breakfast Drive For The City Tour Of Gangtok - Visit To Directorate Of Handicrafts & Handloom, Research Institute Of Tibetology, Do Drul Chorten (Stupa), Enchey Monastery, White Hall, Flower Show - A Drive Of 130 Kilometers 3½ - 4 Hours Through Scenic Road - Check In To The Hotel - Pelling Is Situated At An Altitude Of 2072 Meters / 6800 Feet - It Is One Of The Exotic Settlement With Varieties Of Rhododendron, Orchids, Historical Sites, Short Trek Routes And Wildlife - Its Botanical And Zoological Richness Is Inspiring And The Scenic View From The Top Of The Ridge Across Deep Valley To The Heights Of Khangchendzonga Ranges Is Something To Be Seen To Be Believed - Check Into Hotel - Evening Free To Roam Around The Small Settlement - Over Night Stay At Pelling.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> Pelling Local Sightseeing & Transfer To Darjeeling
								</p>
								<p class="aj">After Breakfast At Hotel - Drive For Full Day Sight Seeing. The Routes Are Forested And The Botanical And Zoological Richness Is Inspiring. Places Of Visit Are Rimbi Water Falls, Rimbi Rock Garden, Kechopalri Monastery, Kanchenjunga Water Falls, Pemayangtse Monastery, Rabdantse Ruins - Transfer To Darjeeling - Nearly 125 Kilometers 3 - 3½ Hours Drive - At An Height Of 2123 Meters / 70001 Feet Lies The Land Of Breathtaking Beauty, Sloping Tea Gardens With Spectacular Views Of The Mount Everest Is The Queen Of The Hills - It Is Also Home To The Famous World Heritage Train - The Darjeeling Himalayan Railway (Dhr) - Check Into Hotel - Evening Free To Roam Around Mall Or Local Shopping Center - Over Night Stay At Darjeeling.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 8:</b> Darjeeling Local Sight Seeing (Half Day)
								</p>
								<p class="aj">Early Morning At Around 3:45 Am Drive To 8000 Feet / 2440 Meters Through Primitive Forests Of Oak, Magnolia To Tiger Hillto View Sunrise Over Khangchendzonga Peak (Subject To Clear Weather) - On The Way Back Visit Ghoom Monastery, Peace Memorial & Batasia Loop - On The Way Back Visit Ghoom Monastery, Peace Memorial & Batasia Loop - Back To Hotel For Breakfast - After Breakfast Next Round Of Sight Seeing - Half Day City Tour Includes Padmaja Naidu Zoological Park, Himalayan Mountaineering Institute (Closed On Thursday), Rope way, Tensing Gumpo Rock, Tibetan Refugee Self Help Center (Closed On Sunday), Tea Estate, Natural History Museum (Sunday Closed), Peace Pagoda - Back To Hotel - Evening Free To Stroll Around The Area - Overnight Stay At Darjeeling.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 9:</b> Departure
								</p>
								<p class="aj">Darjeeling To Siliguri / New Jalpaiguri Railway Station (Njp) / Bagdogra Airport (Ixb) / Tenzing Norgay Bus Stand (Junction) - Morning Breakfast - After Breakfast Transfer To Siliguri / New Jalpaiguri Railway Station (NJP) / Bagdogra Airport (IXB) / Tenzing Norgay Bus Stand (Junction) Via Mirik - Nearly 105 Kilometers 3.30 - 4 Hours Drive - Forwarding Journey.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Air Fare / Train Fare.</li><li>
Personal Expenses Such As Laundry, Telephone Calls, Tips & Gratuity, Mineral Water, Soft & Hard Drinks, Rafting, Rock Climbing, Paragliding, Joy Ride (Toy Train), Porterage.</li><li>
Additional Sightseeing Or Extra Usage Of Vehicle, Other Than Mentioned In The Itinerary.</li><li>
Entrance Fees & Guide Charges.</li><li>
Any Cost Arising Due To Natural Calamities Like, Landslides, Road Blockage, Political Disturbances (Strikes), Etc (To Be Borne By The Client, Which Is Directly Payable On The Spot).</li><li>
Any Increase In Taxes Or Fuel Price, Leading To Increase In Cost On Surface Transportation & Land Arrangements, Which May Come Into Effect Prior To Departure.</li><li>
Service Tax 3.09%</li><li>
Travel Insurance.</li><li>
Anything Which Is Not Include In The Inclusion.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.holidaymasti.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Easterndelight with lachung 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="48369"/>
						</form>
						</div>
						
						";i:1;s:71:"Book Easterndelight with lachung Tour - 8 Nights / 9 Days Tour Packages";i:2;s:146:"book easterndelight with lachung tour - 8 nights / 9 days tour packages, valley tour packages, gangtok, darjeeling, pelling, lachung tour packages";i:3;s:176:"Holiday Masti offers Easterndelight with lachung Tour - 8 Nights / 9 Days tour package, budget Valley tour packages for Gangtok, Darjeeling, Pelling, Lachung at exciting price.";i:4;s:2915:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Pelling, Lachung"        
		                 },
		      "description": "Darjeeling
03 Points Include Tiger Hill, Ghoom Monastery, Batasia Loop (3 Hrs Trip Start At 04.00 A.M. To 7.00A.M)
07 Points Include Himalayan Mountaineering Institute, Padmaja Naidu Himalayan Zoological Park, Tenzing Rock, Tibetan Refugee Self-Help Center, Tea Estate (Outer View), Ava Art Gallery And Japanese Temple, Peace Pagoda (4 Hrs From 9.00 To 13.00 Hrs).

Optional Sightseeing With Additional Cost
Mirik Lake (Included In 3Nts Darjeeling Package), Nepal Border & Pasupati Market (Nepal)
Rock Garden (04 Hrs Approx) (4 Hrs From 9.00 To 13.00 Hrs Or 14.00 Hrs To 18.00 Hrs)
Cable Car, Joy Ride In Toy Train Cost Rs 350 Per Ticket & Rs 500 For Vehicle (Hotel - Station - Hotel Transfer)

Gangtok
Half Day Include Banzakhri Falls, Cottage Industry And Handicraft Center, Flower Show, Dro-Dul Chorten & Institute Of Tibetology. (Timing : 09.00 Hrs To 13.00 Hrs) Full Day Include Tashi View Point, Ganesh Tok & Hanuman Tok, Ranka Monastery, Banjakhri Falls, Cottage Industry, Dro-Dul Chorten, Institute Of Tibetology, Flower Show And Handicraft Center. (Timing : 09.00 Hrs To 17.00 Hrs).
Tsomgo Lake & Baba Mandir (Full Day Trip From 08.00A.M. To 03.00 P.M.)

Optional Sightseeing With Additional Cost
03 Points Include Tashi View Point, Ganesh Tak & Hanuman Tak (Not Covered In Any Of The Itinerary)
Saramsa Garden, Smile Land Amusement Park. Rumtek Monastery & Lingdum Monastery , Nathula Pass (Indo-China Border) Opens Only On Wed, Thu, Fri, Sat & Sun (If Permit Is Available) , Aritar Lake.Temi Tea Garden, Samdruptse & Chardham. Enchey Monastery, Cable Car (Rope Way) & Zoo.

Lachung
Yumthang Valley & Hot Spring.
Optional Sightseeing With Additional Cost.
Katao Valley, Zero Point (Yumesumdong).Air Fare / Train Fare.
Personal Expenses Such As Laundry, Telephone Calls, Tips & Gratuity, Mineral Water, Soft & Hard Drinks, Rafting, Rock Climbing, Paragliding, Joy Ride (Toy Train), Porterage.
Additional Sightseeing Or Extra Usage Of Vehicle, Other Than Mentioned In The Itinerary.
Entrance Fees & Guide Charges.
Any Cost Arising Due To Natural Calamities Like, Landslides, Road Blockage, Political Disturbances (Strikes), Etc (To Be Borne By The Client, Which Is Directly Payable On The Spot).
Any Increase In Taxes Or Fuel Price, Leading To Increase In Cost On Surface Transportation & Land Arrangements, Which May Come Into Effect Prior To Departure.
Service Tax 3.09%
Travel Insurance.
Anything Which Is Not Include In The Inclusion.",
		      "name": "Easterndelight with lachung Tour",
		      "telephone": "+91-8090952150"
		    }
		    </script>
			";i:5;N;}