a:6:{i:0;s:30785:"				<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-->				
									<div class="h1"><h1>Full Day Local Sightseeing Tour of Kalimpong</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.navigatioleisures.org.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.navigatioleisures.org.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Full Day Local Sightseeing Tour of Kalimpong</p> 
										<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/519705/255650.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_18/519705/255650.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/519705/255650.jpg"  alt="Full Day Local Sightseeing Tour of Kalimpong" title="Full Day Local Sightseeing Tour of Kalimpong" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Full Day Local Sightseeing Tour of Kalimpong</p>
					
											<p class="mb5px"><b>Duration :</b> 
						1 Day 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kalimpong</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.navigatioleisures.org.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Full Day Local Sightseeing Tour of Kalimpong - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="168982"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">You can combine the East and West Kalimpong local tours I have described above to make a full day local sightseeing tour. In addition to all the places I have mentioned above, you can also cover the following: <br />
<br />
1) Kalimong's colorful market (particularly Haat Bazaar which sets up on Wednesday or Saturday). You can buy unique local hand made products here and taste local food. <br />
<br />
2) Sahid Park - a monument and a small park set up in memory of the Gorkhas who laid their lives during the agitation of Gorkhaland movement for a separate state. <br />
<br />
3) Gouripur House - Poet Rabindranth Tagore used to visit this house and wrote several of his verses here. This house was one of his favorites. <br />
<br />
4) Rishi Bankim Park - nice park for a leisure stroll. <br />
<br />
5) Kalimpong College, Surya Sadan, Curcuit House etc. <br />
<br />
LOCAL SIGHTSEEING (EAST KALIMPONG) - HALFDAY, 4 HOURS <br />
<br />
1) Dr Graham's Homes: This missionary school was set up by Dr. J A Graham in 1900 as an orphanage cum school for the destitute Anglo Indian children. It started only with one cottage that accommodated up to 35 children. Over the years it has grown as a well known multi religious and co-educational school spanning over 500 acres of lush landscape and having some 50 cottages. It is located on the way to Deolo Hills. You can walk across to various parts of the school. <br />
<br />
2) Lord Buddha Statue: Close to Deolo there is a small rock garden in which you will find this nice statue of Lord Buddha sitting in a lotus position. This is only a quick stop over point and a good place to click a picture.<br />
<br />
3) Sherpa View Point: This is a watershed near Buddha statue from where you get great views towards both north and south. You get excellent views of  Sikkim hills and Mount Kanchenjung if you look north, towards south is the beautiful view of a valley and the Relli river flowing through it as well Loleygaon (Kafer) and also the hills of Samthar plateau. This view point is unfortunately not well maintained. <br />
<br />
4) Durga Mandir: This is a Hindu temple of Goddess Durga located near Sherpa View Point. A nice garden full of flowering plants and a viewing gallery. The temple is small but quite nice. Good place to relax for a while. <br />
<br />
5) Hanuman Temple: Right after Durga Mandir is a huge statue of Lord Hanuman perched on the hill. Climb several flights of stairs to reach up to the temple. <br />
<br />
6) Deolo Hill: This is the major attraction in East Kalimpong. The tourism department has created an 8-acre lush parkland with manicured flower gardens and several view points with breathtaking views of Kanchenjunga, Durpin hill, Kalimpong Township and the valley with rivers flowing through them. <br />
<br />
Deolo hill is the highest point of Kalimpong with an altitude of about 5,500ft. There is a GTA (erstwhile DGHC) lodge here and a multi cuisine restaurant. Children can also take pony rides. At one corner of the lawn are stalls offering coffee and snacks. Overall a great place to have a picnic or just relax. Entry fee: Rs. 10/- for day visitors. <br />
<br />
7) Mangal Dham: An excellent temple complex built in the memory of late Guruji Mangal Dasji and dedicated to Lord Krishna. Devotees come from far away places. <br />
<br />
8) Thongsa Gompa: This is the oldest monsatery in Kalimpong which was built in 1692. It's also known as the Bhutan Monastery and located close to Mangal Dham. <br />
<br />
LOCAL SIGHTSEEING (WEST KALIMPONG) - HALF DAY, 4 HOURS <br />
<br />
1) Nature Interpretation Center: This is a museum run by the forest department. It has many pictures and paintings of flora & fauna explaining the nature and environment of Kalimpong area. It's located close to the town. <br />
<br />
2) Army Golf Course: A scenic 9-hole golf course which was conceived and laid by the army authorities. You can see the golf course from the roadside Watershed View Point. From here you also get splendid views of the mountains as well as Loleygaon. It's located close to the Circuit House. <br />
<br />
3) Morgan House: This used to be an old British property and reflect a typical colonial architecture with sprawling garden and views of Kanchenjunga. It has been converted into a hotel and now run by West Bengal Tourism Department. You can enter the premises and walk around, but can not go upstairs in the building where most rooms are located. Morgan House is located opposite to the Army Golf Course.<br />
<br />
4) Durpin Monastery: This Tibetan monastery is located on the Durpin hill and hence such name. The actual name is Zang Dog Palri monastery. It was built in 1972 and has some rare Buddhist scripts that were brought here by Dalai Lama from Tibet. From the upper terrace of the monastery, you get magnificent views of Kalimpong town with Kanchenjunga in the background, the valley and the plains, Teesta & Reang rivers flowing down, and lovely tea estates of Peshoke area. <br />
<br />
5) Jelepla View Point: You get spectacular view of Jelepla Pass which once used to be a route for regular trade with Tibet. You can also see the confluence of river Teesta, Reang and Relli. The view point is maintained by the army. <br />
<br />
6) Pratima Tagore House: This house with nice garden and lovely views was built by Pratima Tagore in 1943, daughter-in-law of the poet Rabindranath Tagore. You will find original furnishing, lot of memorabilia and poet's verses in this house. It is located on Atisha road close to the Pine View Nursery. <br />
<br />
7) Pine View Nursery: It has great collections of cactus and ornamental plants. You get great view of Kalimpong town from the backside lawn. Entry fee: Rs. 10/- per person. <br />
<br />
8) Kali Mandir: Temple of goddess Kali. Climb a stairway from the roadside to reach up to the temple. From an adjoining terrace, you get wonderful view of west Kalimpong and the mountain range.</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> DAY & OVERNIGHT TRIPS FROM KALIMPONG										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												1) Lava & Loleygaon Trip: Drive to Loleygaon (2.5hours), take a canopy walk amongst tree tops on a thrilling tree-top hanging bridge made in lush jungle, then drive to Lava (1hour), visit the Lava monastery and drive back in the evening via Algarah. If you plan to stay overnight in Lava or Loleygaon, know what else you can do & where to stay. <br />
<br />
2) Pedong and View Points: Take a short drive of about half an hour and see the ruins of Damsang Fort of 1690. Then visit Pedong, its heritage sites and some of the lovely view points around, and drive back to Kalimpong in the evening. <br />
<br />
3) Village Tour & Trek: Visit several villages, experience the village life in virgin Kalimpong area, understand Nepali culture & traditions, interact with the villagers to get deeper insight into their lifestyle, experience quaint home stay and village food, walk through the forests and villages and be one with nature.															
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<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">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
						
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount. 
* 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.navigatioleisures.org.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Full Day Local Sightseeing Tour of Kalimpong - 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="168982"/>
						</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.navigatioleisures.org.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-guwahati.htm" title="Packages in Guwahati">Guwahati</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-kaziranga.htm" title="Packages in Kaziranga">Kaziranga</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-bomdila.htm" title="Packages in Bomdila">Bomdila</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-phuket.htm" title="Packages in Phuket">Phuket</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-lachen.htm" title="Packages in Lachen">Lachen</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</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.navigatioleisures.org.in/packages-in-jorhat.htm" title="Packages in Jorhat">Jorhat</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-tawang.htm" title="Packages in Tawang">Tawang</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.navigatioleisures.org.in/packages-in-ravangla.htm" title="Packages in Ravangla">Ravangla</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.navigatioleisures.org.in/packages-in-tezpur.htm" title="Packages in Tezpur">Tezpur</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.navigatioleisures.org.in/packages-in-cherrapunji.htm" title="Packages in Cherrapunji">Cherrapunji</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-chitkul.htm" title="Packages in Chitkul">Chitkul</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-namchi.htm" title="Packages in Namchi">Namchi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-haldia.htm" title="Packages in Haldia">Haldia</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-samdrup-jongkhar.htm" title="Packages in Samdrup Jongkhar">Samdrup Jongkhar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-sibsagar.htm" title="Packages in Sibsagar">Sibsagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-golaghat.htm" title="Packages in Golaghat">Golaghat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-kinnaur.htm" title="Packages in Kinnaur">Kinnaur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-puri.htm" title="Packages in Puri">Puri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-lahaul-spiti.htm" title="Packages in Lahaul & Spiti">Lahaul & Spiti</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</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.navigatioleisures.org.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.navigatioleisures.org.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/elephant-safari-holidays-catid.htm" title="Elephant Safari Packages">Elephant Safari</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.navigatioleisures.org.in/jeep-safari-holidays-catid.htm" title="Jeep Safari Packages">Jeep Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</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.navigatioleisures.org.in/river-rafting-holidays-catid.htm" title="River Rafting Packages">River Rafting</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/rock-climbing-holidays-catid.htm" title="Rock Climbing Packages">Rock Climbing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.navigatioleisures.org.in/safari-holidays-catid.htm" title="Safari Packages">Safari</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Kalimpong</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.navigatioleisures.org.in/tour-packages/senior-citizen-sikkim-trip.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/519705/308209.jpg"  alt="Senior Citizen Sikkim Trip" title="Senior Citizen Sikkim Trip"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.navigatioleisures.org.in/tour-packages/senior-citizen-sikkim-trip.htm" title="Senior Citizen Sikkim Trip"><h3>Senior Citizen Sikkim Trip</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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kalimpong</p>
															<div class="mt10px small">
							<form name="pkg_194606" id="pkg_194606" method="post" action="http://www.navigatioleisures.org.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.navigatioleisures.org.in/tour-packages/senior-citizen-sikkim-trip.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Senior Citizen Sikkim Trip - 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="194606"/>
							</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:72:"Book Full Day Local Sightseeing Tour of Kalimpong - 1 Days Tour Packages";i:2;s:122:"book full day local sightseeing tour of kalimpong - 1 days tour packages, adventure tour packages, kalimpong tour packages";i:3;s:161:"Book Full Day Local Sightseeing Tour of Kalimpong - 1 Days tour packages from Navigatio Leisures - Get attractive 1 Days Adventure  tour packages for  Kalimpong.";i:4;s:6153:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kalimpong"        
		                 },
		      "description": "You can combine the East and West Kalimpong local tours I have described above to make a full day local sightseeing tour. In addition to all the places I have mentioned above, you can also cover the following: 

1) Kalimong's colorful market (particularly Haat Bazaar which sets up on Wednesday or Saturday). You can buy unique local hand made products here and taste local food. 

2) Sahid Park - a monument and a small park set up in memory of the Gorkhas who laid their lives during the agitation of Gorkhaland movement for a separate state. 

3) Gouripur House - Poet Rabindranth Tagore used to visit this house and wrote several of his verses here. This house was one of his favorites. 

4) Rishi Bankim Park - nice park for a leisure stroll. 

5) Kalimpong College, Surya Sadan, Curcuit House etc. 

LOCAL SIGHTSEEING (EAST KALIMPONG) - HALFDAY, 4 HOURS 

1) Dr Graham's Homes: This missionary school was set up by Dr. J A Graham in 1900 as an orphanage cum school for the destitute Anglo Indian children. It started only with one cottage that accommodated up to 35 children. Over the years it has grown as a well known multi religious and co-educational school spanning over 500 acres of lush landscape and having some 50 cottages. It is located on the way to Deolo Hills. You can walk across to various parts of the school. 

2) Lord Buddha Statue: Close to Deolo there is a small rock garden in which you will find this nice statue of Lord Buddha sitting in a lotus position. This is only a quick stop over point and a good place to click a picture.

3) Sherpa View Point: This is a watershed near Buddha statue from where you get great views towards both north and south. You get excellent views of  Sikkim hills and Mount Kanchenjung if you look north, towards south is the beautiful view of a valley and the Relli river flowing through it as well Loleygaon (Kafer) and also the hills of Samthar plateau. This view point is unfortunately not well maintained. 

4) Durga Mandir: This is a Hindu temple of Goddess Durga located near Sherpa View Point. A nice garden full of flowering plants and a viewing gallery. The temple is small but quite nice. Good place to relax for a while. 

5) Hanuman Temple: Right after Durga Mandir is a huge statue of Lord Hanuman perched on the hill. Climb several flights of stairs to reach up to the temple. 

6) Deolo Hill: This is the major attraction in East Kalimpong. The tourism department has created an 8-acre lush parkland with manicured flower gardens and several view points with breathtaking views of Kanchenjunga, Durpin hill, Kalimpong Township and the valley with rivers flowing through them. 

Deolo hill is the highest point of Kalimpong with an altitude of about 5,500ft. There is a GTA (erstwhile DGHC) lodge here and a multi cuisine restaurant. Children can also take pony rides. At one corner of the lawn are stalls offering coffee and snacks. Overall a great place to have a picnic or just relax. Entry fee: Rs. 10/- for day visitors. 

7) Mangal Dham: An excellent temple complex built in the memory of late Guruji Mangal Dasji and dedicated to Lord Krishna. Devotees come from far away places. 

8) Thongsa Gompa: This is the oldest monsatery in Kalimpong which was built in 1692. It's also known as the Bhutan Monastery and located close to Mangal Dham. 

LOCAL SIGHTSEEING (WEST KALIMPONG) - HALF DAY, 4 HOURS 

1) Nature Interpretation Center: This is a museum run by the forest department. It has many pictures and paintings of flora & fauna explaining the nature and environment of Kalimpong area. It's located close to the town. 

2) Army Golf Course: A scenic 9-hole golf course which was conceived and laid by the army authorities. You can see the golf course from the roadside Watershed View Point. From here you also get splendid views of the mountains as well as Loleygaon. It's located close to the Circuit House. 

3) Morgan House: This used to be an old British property and reflect a typical colonial architecture with sprawling garden and views of Kanchenjunga. It has been converted into a hotel and now run by West Bengal Tourism Department. You can enter the premises and walk around, but can not go upstairs in the building where most rooms are located. Morgan House is located opposite to the Army Golf Course.

4) Durpin Monastery: This Tibetan monastery is located on the Durpin hill and hence such name. The actual name is Zang Dog Palri monastery. It was built in 1972 and has some rare Buddhist scripts that were brought here by Dalai Lama from Tibet. From the upper terrace of the monastery, you get magnificent views of Kalimpong town with Kanchenjunga in the background, the valley and the plains, Teesta & Reang rivers flowing down, and lovely tea estates of Peshoke area. 

5) Jelepla View Point: You get spectacular view of Jelepla Pass which once used to be a route for regular trade with Tibet. You can also see the confluence of river Teesta, Reang and Relli. The view point is maintained by the army. 

6) Pratima Tagore House: This house with nice garden and lovely views was built by Pratima Tagore in 1943, daughter-in-law of the poet Rabindranath Tagore. You will find original furnishing, lot of memorabilia and poet's verses in this house. It is located on Atisha road close to the Pine View Nursery. 

7) Pine View Nursery: It has great collections of cactus and ornamental plants. You get great view of Kalimpong town from the backside lawn. Entry fee: Rs. 10/- per person. 

8) Kali Mandir: Temple of goddess Kali. Climb a stairway from the roadside to reach up to the temple. From an adjoining terrace, you get wonderful view of west Kalimpong and the mountain range.",
		      "name": "Full Day Local Sightseeing Tour of Kalimpong",
		      "telephone": "+91-9434888661"
		    }
		    </script>
			";i:5;N;}