a:6:{i:0;s:17611:"				<div class="h1"><h1>North East Delight with Pelling (Honeymoon Special) Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.kunzongtourandtravel.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.kunzongtourandtravel.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>North East Delight with Pelling (Honeymoon Special) 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Gangtok, Darjeeling, Kalimpong, Pelling, West Sikkim</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.kunzongtourandtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North East Delight with Pelling (Honeymoon Special) 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="75832"/>
						</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_16/451899/134866.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_16/451899/134866.jpg"  width="150" height="150"    alt="North East Delight with Pelling (Honeymoon Special) Tour" title="North East Delight with Pelling (Honeymoon Special) 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> Arrival in Darjeeling
								</p>
								<p class="aj">Your journey to the wonderful northeastern gateways will start as you reach the New Jalpaiguri Station or Bagdogra airport in West Bengal. From here, our tour representative will be escorting you to your onward journey to Darjeeling, which is an alluring hill station In the Indian state of West Bengal.<br />
<br />
Positioned at the northern part of West Bengal, Darjeeling has snow clad Himalayan peaks and dense forests lined up all around it. Drive to Darjeeling is likely to take nearly 1 hr and 40 mins. On entering the region of Darjeeling, you would be welcomed by lush green tea plantations, which have been the true face of the hill station. Besides these, Darjeeling has a lot to offer, like the panoramic mountain views, which will leave you spellbound.<br />
<br />
On your arrival in Darjeeling, you would be checking into a pre-booked hotel for 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 2:</b> Sightseeing in Darjeeling
								</p>
								<p class="aj">Visit the magnificent Tiger Hill the first thing in the morning. The reason behind its early visit is the view of the morning sun glistening the lofty snow clad peaks of Kanchenjunga.<br />
<br />
Tiger Hill is one of the most popular tourist attractions in Darjeeling, that have found their address 11 km from the town of Darjeeling. Not just Kanchenjunga, if you are lucky, you can even watch the head of the highest peak in the world, Mt Everest turning all golden by the sun. On your way back to hotel, you would be visiting Ghoom monastery and Batasia Loop. Like the Tiger Hill, these two also hold a great amount of significance.<br />
<br />
Just 7 km short from the town of Darjeeling, lies the famous Ghoom monastery. Belonging to the Gelupka sect of Buddhism, the monastery has a 15 ft statue of Lord Buddha as one of its main attractions, which is known as Maitreya Buddha. Besides the Maitreya Buddha, the monastery also houses idols of other Buddhist deities as well. This includes the likes of Buddha of Compassion and Tsongkhapa.<br />
<br />
Another prominent attraction to visit in the early hours of the day is Batasia Loop, which is a fascinating railway track loop. To watch this, you would be boarding the world renowned and vintage toy train of Darjeeling. From the loop, you can have a whole view of the lovely landscapes of Darjeeling, plus the flowery garden on which the loop is encircled, adds on to the charm of Batasia loop.<br />
<br />
Post these visits, head back to your hotel for a sumptuous breakfast. The other half of the day is meant to cover other attractions of Darjeeling. Under this, you would be visiting the Padmaja Naidu Himalayan Zoological Park, Himalayan Mountaineering Institute, Tibetan Refugee Self Help Center (closed on Sunday), Tea Garden and Ropeway.<br />
<br />
There is also a Peace Pagoda located in the town of Darjeeling, which also would be covered in our sightseeing trip. With the aim of creating peace all around, the Peace Pagoda or Stupa invites people of all castes, creeds and religion to visit the place and develop mutual harmony for each other. It is popular as Japanese Peace Pagoda in Darjeeling. 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 3:</b> Transfer to Kalimpong & Sightseeing at Kalimpong
								</p>
								<p class="aj">As soon as you are done with your breakfast, embark on a journey to Kalimpong, which is another famous hill station in the state of West Bengal. Kalimpong resides at an elevation of around 1200 meters and the main town is on a ridge area connecting two hills. Owing to its magnificent Himalayan beauty and invigorating climate, the place is no less than a paradise.<br />
<br />
After a journey of 1 hr and 40 mins, you would be arriving at Kalimpong. As you arrive, you would be quickly heading to a sightseeing tour of Kalimpong. Under this, you would be visiting Deolo hill, Teesta valley, Pine View Point, Orchid, Golf Club and Dr Graham’s Homes School.<br />
<br />
Amongst them, Deolo hill holds quite prominence. As mentioned earlier, Kalimpong lies on a ridge between two hills, Deolo hill is one of them. Situated at an elevation of around 1700 meters, Deolo hill is the highest point of the hill station. Owing to the location of the hill, you can have an enchanting view of the whole town of Kalimpong, the nearby Relli valley and the bloodline of Kalimpong, the beautiful Teesta river. Once you reach the top of the hill, you would be welcomed with a park of exotic flowers.<br />
<br />
Besides these attractions, our tour representative will also make you visit the scared Durpin hill and Durpin monastery, which is around 5 km from the main town of Kalimpong. After this, call it a day and make a check in to a pre-booked hotel for 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 4:</b> Pelling Sightseeing
								</p>
								<p class="aj">Post breakfast, bid goodbye to Kalimpong and make your way to Pelling, which is a prominent hill station in the western part of Sikkim. Situated at an altitude of around 2100 meters, Pelling is known for its natural splendor and tranquility. Unspoiled and covered with dense alpine vegetation, waterfalls after every couple of miles and the sight of the greater Himalayas and Kanchenjunga overshadowing the valley, the town is perfect to wind up in the lap of nature.<br />
<br />
Journey to Pelling from Kalimpong is likely to take 2 hours and as you arrive in this serene paradise, you would be embarking on a sightseeing trip to the numerous attractions or jewels that the town feels proud of. Amongst them, the most prominent ones include Kanchenjunga falls and Rimbi waterfalls. At first, you would be heading to Rimbi waterfalls, which is around 12 kms from Pelling. Rimbi waterfalls are situated right at the banks of Rimbi river and are remarkable to watch.<br />
<br />
Moving ahead from these falls are the king size Kanchenjunga falls. Situated around 28 km from the main town of Pelling and named after the mighty Kanchenjunga mountain, Kanchenjunga falls is renowned for its grandeur and beauty. The existence of this splendid waterfall largely remained unknown until the mid 90s, when a local tour operator accidentally discovered it at a sharp curve on the roadside. The place is ideal for picnicking with family and friends. Thus, you can have a nice time relaxing near the gushing Kanchenjunga falls.<br />
<br />
Other attractions that you will be surely visiting in Pelling including Kecheopalri lake and Rimbi rock garden which lies in close vicinity of the majestic falls. Also visit Sinsore Bridge –Asia's 2nd Highest Bridge, Post all the sightseeing, return to the town of Pelling and make a check in to the hotel for 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 5:</b> Gangtok Local Sight Seeing (Full Day)
								</p>
								<p class="aj">Day 5 of our exclusive tour is dedicated to tasting the flavors of the Himalayan town of Gangtok. Nestled in the Shivalik hills of the Himalayas, close to the Buddhist country of Bhutan, Gangtok is blessed with a mystical blend of natural beauty and Buddhism. Owing to this, Gangtok is dotted with several Buddhist monasteries that are believed to be quite ancient. Drive from Pelling to Gangtok is roughly going to take 2 hrs and 30 mins and as you arrive in Gangtok, you would be embarked on a sightseeing trip.<br />
<br />
Sightseeing in Gangtok includes the very famous Rumtek monastery, which is also the largest of its kind in the state. Serving as the an important seat of the Karmapa Lama, the monastery holds a lot of significance for the religion of Buddhism. It enshrines a golden Stupa that has relics of the ancient Karmapa in the form of statues and paintings. Make a visit here and shed all your travel tiredness in the spiritual ambience of the monastery.<br />
After Rumtek, you would be taken to Do Drul Chorten Stupa, which is one of the biggest in Sikkim. Encircled by Chorten Lhakhang and Guru Lhakhang, it boasts of two huge statues of Guru Rinpoche.<br />
<br />
As you would be done visiting the religious sects of Gangtok, head towards other attractions in the capital of the state, which include the Research Institute of Tibetology, Botanical Garden, Tashi View Point and Directorate of handicrafts and handlooms. 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 6:</b> Excursion to Tsomgo Lake & Baba Mandir (Full Day)
								</p>
								<p class="aj">Being situated in the Himalayan topography, Gangtok has various natural attractions which are filled with mystical beauty and serenity. One of them is the breathtaking Tsomgo lake which offers one of the most beautiful sights in the region. The lake is nestled at an altitude of 12,400 ft and the drive from Gangtok to it is likely to take around 1 hour to reach. Tsomgo or Changu lake is actually a glacial lake, which derives its waters from the snow capped mountains it get surrounded by. The lake is also a home of Brahmin ducks and migratory birds. Being a prominent tourist place, the banks of the lake have shops selling trinkets and Yak cheese. So you can buy some for yourself. The locals also provide for yak rides so you can have a nice time exploring the breathtaking surroundings sitting on the back of a yak. Admire the beauty of the lake and pay a visit to the Lord Shiva temple, which is located on the banks of Tsomgo Lake. We can also visit Nathu La Pass, which is the border of India and China.<br />
<br />
Post this, move towards Baba Harbhajan Singh Memorial War temple, which is 20 kms from Tsomgo Lake near Gangtok. Situated at an altitude of around 13000 feet, close to Jelep Pass, is a memorial shrine, dedicated to a soldier of the 23rd Punjab Regiment, who died in the 1962 war between India and China. As per the legend, after meeting his tragic death in the war, soldier Harbhajan Singh came in the dream of one of his peers, and asked to build a war memorial after him. Following this, Indian Army built a war memorial in order to commemorate the sacrifice of this martyr. Later on, this memorial started enjoying the privileges of a sacred shrine. The original Baba Harbhajan Singh temple was built in the year 1983 at the bunker of the late soldier. When you will visit this bunker, you will come across dresses, stationeries and pictures of the soldier. There also lies a small wishing poodle, in which you can throw a coin and make a wish.<br />
<br />
After a day full of excursion, return back to your hotel in Gangtok. Spend the evening at leisure in your hotel or do some shopping in the nearby malls and market. 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 7:</b> Departure from Gangtok to home
								</p>
								<p class="aj">This day marks the end of our exclusive Northeast tour. Post breakfast, you would be transferred to New Jalpaiguri Station/Bagdogra Airport/ Tenzing Norgay Bus Stand for your onward journey back home. These destinations are around 130 Km from Gangtok so it is advised you start early.</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>
															</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.kunzongtourandtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="North East Delight with Pelling (Honeymoon Special) 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="75832"/>
						</form>
						</div>
						
						";i:1;s:95:"Book North East Delight with Pelling (Honeymoon Special) Tour - 6 Nights / 7 Days Tour Packages";i:2;s:185:"book north east delight with pelling (honeymoon special) tour - 6 nights / 7 days tour packages, valley tour packages, gangtok, darjeeling, kalimpong, pelling, west sikkim tour packages";i:3;s:226:"Kunzong Tours and Travel offers North East Delight with Pelling (Honeymoon Special) Tour - 6 Nights / 7 Days tour package, budget Valley tour packages for Gangtok, Darjeeling, Kalimpong, Pelling, West Sikkim at exciting price.";i:4;s:480:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Kalimpong, Pelling, West Sikkim"        
		                 },
		      "description": "",
		      "name": "North East Delight with Pelling (Honeymoon Special) Tour",
		      "telephone": "+91-9593716601"
		    }
		    </script>
			";i:5;N;}