a:6:{i:0;s:15681:"				<div class="h1"><h1>West Bengal and Sikkim Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.softprotravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.softprotravels.co.in/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>West Bengal and Sikkim 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">
						12 Nights / 13 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gangtok, Kalimpong, Lachen</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.softprotravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="West Bengal and Sikkim 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="102738"/>
						</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_17/484941/171935.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/484941/171935.jpg"  width="150" height="150"    alt="West Bengal and Sikkim Tour" title="West Bengal and Sikkim Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> NJP Railway Station/IXB Airport – Kalimpong
								</p>
								<p class="aj">Upon arrival at NJP station or Bagdogra airport, our representative will meet with you and then you will leave for Kalimpong. Transfer to the hotel on arrival. Acclimatize to the weather; overnight stay at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Kalimpong
								</p>
								<p class="aj">After breakfast at the hotel, we will leave for sightseeing tour of Kalimpong and visit the Durpin Hill, wherein you can explore the magnificence of famous Zong Dog Palri Fo- Brang Monastery that belongs to the same Buddhist sect as the present Dalai Lama. Later, we will visit various tourist destinations like Jelapla View Point, Pine View Point, Chitra Bhanu, Kalim Temple and Dr Graham's Homes Complex. We will also take you to the Delo Hill (5556 ft), the highest point in Kalimpong. From here you can witness the entire Kalimpong, glorious Mt. Kanchenjunga, surrounding villages along with the Relli Valley on one side with the Teesta River on the other.<br />
<br />
Return to the hotel by evening and then if you wish can explore the colorful Haat Bazzar of Kalimpong. This market is held twice in a week – Wednesdays and Saturdays. Herein you can come closer to the culture, art & crafts and the cuisine of West Bengal.<br />
Overnight stay at the hotel in Kalimpong.</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> Kalimpong sightseeing – Gangtok
								</p>
								<p class="aj">Spend the morning at leisure. In the afternoon we will leave for Gangtok. Upon reaching, transfer to a hotel. Unwind yourself and then we will go for a sightseeing tour of Gangtok. The tour will include a visit to the Rumtek Monastery, Banjhakri Falls, Institute of Tibetology, Do-Drul-Chorten and Flower Exhibition Centre. Later return to the hotel for overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Gangtok (Trip to Tsonmgo Lake + Baba Mandir)
								</p>
								<p class="aj">Get up early and drive to Tsonmgo Lake (12400 ft), which is located 40 km from Gangtok. Tsonmgo is about 1 km long and 15 m deep sacred lake. Later, we will pay a visit to Baba Harbhajan Singh Temple, which is 16 km away from the lake.<br />
Return to Gangtok by afternoon. For the rest of the day you are free to enjoy your own activities. Overnight stay at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Gangtok –Lachen
								</p>
								<p class="aj">After breakfast we will drive to Lachen. En-route we will visit a numerous view points and scenic spots like Tashi View Point, Kabi Lungtsok, Naga Waterfall, and the confluence of Lachen Chu and Lachung Chu River at Chungthang. We will halt en-route for lunch and then will continue our drive to Lachen. Upon arrival, check into a hotel. Overnight stay at Lachen.</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> Excursion Thangu & Chopta – Lachung
								</p>
								<p class="aj">Early morning after breakfast we will go on an excursion to Thangu & Chopta Valley. Situated at an altitude of 14000 ft the place dwells in a very broad valley at the seam of the Thangu Chu, Chopta Chu & Lassur Chu. The valley is really worth visiting during June and July when the natural beauty of the place is portrayed at its best. Further in December – January you can play in the snow or can walk across the meandering frozen Chopta Rivers.<br />
<br />
Return to Lachen for lunch. Thereafter, leave for Lachung and visit some beautiful waterfalls like Twin Waterfalls & Bhim Nala Waterfalls on the way. Upon arrival, check into a hotel for overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> Lachung –Yumthang Excursion
								</p>
								<p class="aj">This day is dedicated to Yumthang Valley excursion. Popularly known as the Valley of Flowers, it is also a grazing pasture where villagers take their cattle during summers. (The Valley remains closed between December to March, due to heavy snow fall).<br />
<br />
As you enter the valley, you will we come across to a breathtaking view. Yumthang is a flat grassy valley with a rivulet flowing through it. Further, lofty mountains covered with trees and vegetation on both sides add a charm to the beauty of the valley. Herein you will be greeted by a variety of flowers, especially the Himalayan Yellow Poppy that are only find in the high regions.<br />
Return to Lachung for overnight stay. On the way back we will also visit the Hot Sulphur Spring. Upon arrival, check in to a hotel. Spend rest of the day at leisure, followed by an 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 8:</b> Lachung- Gangtok
								</p>
								<p class="aj">Drive back to Gangtok in the morning. En-route we will visit the mighty Bhim Nala (Fall) and Twin Falls. On reaching, transfer to the hotel. Spend rest of the day at leisure. Overnight stay 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 9:</b> Gangtok local sightseeing - Pelling
								</p>
								<p class="aj">Today we will leave for Pelling, which is located at an altitude of 6800 ft. On arrival, check into a hotel. In the afternoon we will go on a short village tour for knowing about the culture and livelihood of the villagers. Later return to the hotel for overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 10:</b> Pelling sightseeing
								</p>
								<p class="aj">Morning after breakfast we will proceed on a full day sightseeing tour around Pelling covering following places of interest Rimbi waterfalls, Sewaro Rock Garden, Khangchendzonga Waterfalls, Khecheopalri lake, Darap village, Sangachoeling, Rabdentse Palace ruins, Tigjuck View point, Gayzing Bazar, Ting Ting stone, Yuksam coronation throne, Tashiding monastery, Legship’s River dam and Kirateswar mahadev Mandir. Later return to the hotel for overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Pelling - Darjeeling
									</p>
									<p class="aj">This morning drive to Darjeeling (7,100 ft.). The beautiful hill station of Darjeeling is nestled among the rolling mountains with the glistening Mt Kanchenjunga towering over the azure sky. It is also regarded as the Queen of the Hills and provides a perfect gateway for those seeking to be in harmony with nature. Upon reaching Darjeeling transfer to the hotel. Enjoy rest of the day at leisure. Overnight stay 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 12:</b> Darjeeling
									</p>
									<p class="aj">Get up early to have the glimpse of sunrise from Tiger Hill. We will be leaving the hotel really early in the morning and on reaching you can enjoy the panoramic views of sunrise from Mount Everest along with Kangchenjunga from the observation deck. Later, return to Darjeeling and on the way back we will visit Ghoom Monastery, built in 1857 by Lama Sherab Gyatso. The monastery follows the Gelug school of Tibetan Buddhism, and here you will find a 15 ft high statue of future Buddha.<br />
Later we will continue our drive to Darjeeling via Batasia Loop. Upon arrival, transfer to the hotel. Fresh-n-up and have breakfast at the hotel.<br />
<br />
Post breakfast proceed for an excursion around the hill city visiting the Himalayan Mountaineering Institute. It was established in 1954 and is one of the renowned mountaineering institutes of the world. Later, we will also visit the P.N. Zoological Park, Tenzing Rock, Tibetan Refugee Centre and Tea Garden. Return to the hotel and on the way back visit the Japanese Temple. In the evening you are free at leisure. Overnight stay at the hotel.</p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 13:</b> Darjeeling – NJP - Bagdogra
									</p>
									<p class="aj">After a leisurely breakfast leave for the NJP railway station or Bagdogra airport for onward destination.<br />
<br />
Tour and Services ends</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>
															</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.softprotravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="West Bengal and Sikkim 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="102738"/>
						</form>
						</div>
						
						";i:1;s:68:"Book West Bengal and Sikkim Tour - 12 Nights / 13 Days Tour Packages";i:2;s:132:"book west bengal and sikkim tour - 12 nights / 13 days tour packages, valley tour packages, gangtok, kalimpong, lachen tour packages";i:3;s:170:"Softpro Tour & Travel offers West Bengal and Sikkim Tour - 12 Nights / 13 Days tour package, budget Valley tour packages for Gangtok, Kalimpong, Lachen at exciting price.";i:4;s:425:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Kalimpong, Lachen"        
		                 },
		      "description": "",
		      "name": "West Bengal and Sikkim Tour",
		      "telephone": "+91-7896768942"
		    }
		    </script>
			";i:5;N;}