a:6:{i:0;s:9412:"				<div class="h1"><h1>Amazing North East Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.geetcompany.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Amazing North East Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/22362/55160.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/55160.jpg"  width="150" height="150"    alt="Amazing North East Tour" title="Amazing North East Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Tour Code :</b> 125</p>
												<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Gangtok, Darjeeling, Kalimpong</p>
												<p><b>Price (Starting From) :</b>						
						INR 17500 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Amazing North East Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="28129"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
											<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Arrival Njp Railway Station / (Ixb) Bagdogra Airport - Gangtok
									</p>
									<div class="data p10px">On arrival at NJP Railway Station / (IXB) Bagdogra Airport, (500Ft / 150Mts) you will be met by our office Executive who will assist you to board your vehicle to Gangtok (5500 Ft /1677 Mts, 130 Kms / 04 to 05 Hrs). Over night at Hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Gangtok
									</p>
									<div class="data p10px">After breakfast, in the morning, start for excursion to Tshangu Lake (12400Ft / 3780 Mts / 43Kms in 3Hrs one way from Gangtok) & Baba Mandir (13100Ft / 3994 Mts / 16Kms in 1Hrs one way from Tshangu Lake) (no entry for foreigner national, they are allowed to visit till Tshangu Lake, with a valid permit. They also have to be 02 & above is number to visit Tshangu Lake). Situated at a height of 12400Ft / 3780 Mts / 43Kms in 3Hrs one way, with an average depth of 50 ft. The cool water of the Lake is perfectly attuned with the scenic beauty around. Back to Gangtok and Overnight at Hotel. (In-case of Landslide or due to any other reasons if Tshangu Lake is closed then an alternate sightseeing will be provided).</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Gangtok - Kalimpong
									</p>
									<div class="data p10px">After Breakfast Go for a half day (04 hrs) sightseeing covering Jhakri Water Falls along with Droul Chorthen, Research Institute of Tibetology (Closed on Sunday), Directorate of Handicraft & Handloom (Closed on Sunday) and Flower Show. Afternoon transfer to Kalimpong (3937 Ft / 1200 Mts, 85 Kms / 03 to 04 Hrs), Check in & over night at Hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Kalimpong - Darjeeling
									</p>
									<div class="data p10px">After Breakfast visit Dello hills, Dr. Grahams Home, Flower Nurseries, Jang-Dong-Palriffo Brang and Durbin Dara Hills. Afternoon Transfer to Darjeeling (7380 Ft / 2250 Mts, 70 Kms / 03 to 04 Hrs), Overnight at Hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Darjeeling
									</p>
									<div class="data p10px">Early morning tour to Tiger Hills (8364 Ft / 2550 Mts at around 4 AM) to view sunrise over Khangchendzonga Peak (subject to clear weather). On way back visit Ghoom Monastery, Batasia Loop. After breakfast go for a half-day sightseeing of Japanese Temple, Peace pagoda, Padmaja Naidu Himalayan Zoological Park & Himalayan Mountaineering Institute (Closed on Thursday), Darjeeling Rope way Ride (Ticket cost not included & will be approx INR 180.00 per person) Tenzing & Gombu Rock, Tibetan Refugee Self-Help Center (Closed on Sunday) & panoramic view of Tea Estate. Overnight at Hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Darjeeling - Njp Railway Station / (Ixb) Bagdogra Airport
									</p>
									<div class="data p10px">After breakfast proceed to NJP Railway Station / (IXB) Bagdogra Airport (100 Kms / 03 to 04 Hrs), for your onward connection / Journey. Optional via Mirik - Drive via Mirik can be availed by paying a supplement cost of INR 1000.00 per vehicle.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Gangtok<br />
Gangtok is the capital of the Indian state of Sikkim and is situated on the lower slopes of the Himalayan range (Altitude: 1600 meters).The Ranipool river flows by the west side of Gangtok. Gangtok Tourism thrives in its spectacular setting and offers stunning views of the Kanchenjunga from various points in its neighboring areas. Gangtok city can be accessed only by road from Siliguri. The nearest airport is Bagdogra (124 kilometers). The nearest railway station is New Jalpaiguri (NJP). Buses and share taxis ply regularly from Siliguri to Gangtok. <br />
<br />
Kalimpong<br />
Kalimpong is a hill station in the Mahabharat Range (or Lesser Himalaya). It is located at an average elevation of 1,250 metres (4,101 ft). The town is the headquarters of the Kalimpong subdivision, a part of the District of Darjeeling. It used to be a gateway for trade between Tibet and India prior to China's annexation of Tibet and the Sino-Indian War. Kalimpong and neighboring Darjeeling were major centers calling for a separate Gorkhaland state in the 1980s.There has been a Rotary club in Kalimpong since 1993.Kalimpong, located on a ridge overlooking the Teesta River, is a tourist destination owing to its temperate climate and proximity to popular tourist locations in the region.<br />
<br />
Darjeeling<br />
Darjeeling is a traveler’s delight and is frequented by tourists year after year. Apart from the pleasant weather and scenic beauty, there is a lot to see and do in Darjeeling. Darjeeling attracts all those who wish to experience life as it once was before the days of modernization. While lovers and honeymooners travel to the town and book themselves in cozy cottages to enjoy private time away from the city, the tired travelers go soul searching in the hills.3.09% Government Service Tax.<br />
Anything else which is not mentioned in the Package.<br />
Package is not valid for Long Weekend.01-1031-03							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Sightseeing</li>
																				<li>Transport</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>3.09% Government Service Tax.</li><li>
Anything else which is not mentioned in the Package.</li><li>
Package is not valid for Long Weekend.</li></ul><br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:62:"Book Amazing North East Tour - 5 Nights / 6 Days Tour Packages";i:2;s:130:"book amazing north east tour - 5 nights / 6 days tour packages, valley tour packages, gangtok, darjeeling, kalimpong tour packages";i:3;s:161:"Geet & Company offers Amazing North East Tour - 5 Nights / 6 Days tour package, budget Valley tour packages for Gangtok, Darjeeling, Kalimpong at exciting price.";i:4;s:2310:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Gangtok, Darjeeling, Kalimpong"        
		                 },
		      "description": "Gangtok
Gangtok is the capital of the Indian state of Sikkim and is situated on the lower slopes of the Himalayan range (Altitude: 1600 meters).The Ranipool river flows by the west side of Gangtok. Gangtok Tourism thrives in its spectacular setting and offers stunning views of the Kanchenjunga from various points in its neighboring areas. Gangtok city can be accessed only by road from Siliguri. The nearest airport is Bagdogra (124 kilometers). The nearest railway station is New Jalpaiguri (NJP). Buses and share taxis ply regularly from Siliguri to Gangtok. 

Kalimpong
Kalimpong is a hill station in the Mahabharat Range (or Lesser Himalaya). It is located at an average elevation of 1,250 metres (4,101 ft). The town is the headquarters of the Kalimpong subdivision, a part of the District of Darjeeling. It used to be a gateway for trade between Tibet and India prior to China's annexation of Tibet and the Sino-Indian War. Kalimpong and neighboring Darjeeling were major centers calling for a separate Gorkhaland state in the 1980s.There has been a Rotary club in Kalimpong since 1993.Kalimpong, located on a ridge overlooking the Teesta River, is a tourist destination owing to its temperate climate and proximity to popular tourist locations in the region.

Darjeeling
Darjeeling is a traveler’s delight and is frequented by tourists year after year. Apart from the pleasant weather and scenic beauty, there is a lot to see and do in Darjeeling. Darjeeling attracts all those who wish to experience life as it once was before the days of modernization. While lovers and honeymooners travel to the town and book themselves in cozy cottages to enjoy private time away from the city, the tired travelers go soul searching in the hills.3.09% Government Service Tax.
Anything else which is not mentioned in the Package.
Package is not valid for Long Weekend.01-1031-03",
		      "name": "Amazing North East Tour",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;}