a:6:{i:0;s:30858:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Darjeeling Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.nirmaltravels.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.nirmaltravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Darjeeling Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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="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_17/496991/292512.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_17/496991/292512.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/496991/292512.jpg"  alt="Darjeeling Tour" title="Darjeeling Tour" 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">Darjeeling Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Darjeeling, Siliguri</p>
												<p class="mb5px"><b>Attractions :</b> Mirik Hills</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.nirmaltravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Darjeeling Tour - 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="187545"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">• Our representative will be there to receive the guest at the single Exit gate of Bagdogra Airport or at the new Exit (where escalator is present) of New Jalpaiguri Railway Station.<br />
• In case the guest is arriving /arrives the railway station during / after midnight or before dawn, the guest is advised to rest in the Retiring/Waiting Room as it is not safe to travel at that time. Our representative will meet the guest in the morning for their further transfers.<br />
• Hotels suggested are subject to availability at the time of booking. In case the same is not available, then similar category hotel will be provided.<br />
• Please don't expect the service standards to be at par with the services that we may get in the plains /<br />
metropolitan cities.<br />
• Days in the hills are shorter. So the excursions start early in the morning to cover all the points before the weather gets foggy.<br />
• Unavoidable situations - bad weather, bad road, strike or bandh - may require omission of sight-seeing points or change of tour plan and will be advised by our tour guide.<br />
• Landslides are very frequent in the hills. Any additional expense incurred due to change in route plan because of road blockage -caused by snowfall or landslides- will have to be borne by the guest.<br />
• Please take full risk and responsibility of your luggage.<br />
• People in the hills wear 1 cardigan during their summer months. Please carry woolens accordingly.<br />
• If the guest wants some minor change in their sightseeing schedule, it should be informed to our representative 1 day prior before 14:00 hrs. If informed later than 14:00 hrs cancellation rules will apply and the guest will have to pay additionally for the desired changes.<br />
• The following points will remain closed on State Government & National Holidays.<br />
Gangtok - Handicraft & Handloom Showroom, Research Institute of Tibetology, Flower Show.<br />
Darjeeling - Himalayan Mountaineering Institute, Padma Naidu Himalayan Zoological Park, Tibetan Refugee Self Help Centre.<br />
• Nathula Pass, Gurudongmar Lake & Yumesomdong (Zero Point) have less oxygen content in the air, owing to high altitude and presence of snow. People with heart problem, blood pressure and knees problem & having children below 05 years are advised to avoid these points as adequate medical systems are not available here.<br />
• North Sikkim (Lachen & Lachung) trip starts from and terminates in Gangtok. It includes Stay, transport, sight-seeing and all 3 meals.</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> Transfer from Siliguri to Darjeeling										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Meet and greet by our representative at the Railway Station, Bagdogra Airport or Bus Stand (Junction),  proceed to your exciting journey to Darjeeling. Enjoy the view of the tea gardens bordering the road and refresh yourself with the aroma of tea all over															
														   
											</div> 
											</div>
																						<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 2											
											:</b> Local Sightseeing Darjeeling- Full Day										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Head to Tiger Hill at 4 am in the morning to witness a phenomenal view of the first rays of the sun hitting the peak of Mount Kanchandzonga, & Mount Everest. On your return, visit the famous Ghoom Monastery & the Batasia Loop. Post breakfast, visit The Himalayan Mountaineering Institute & Padmaja Naidu Himalayan Zoological Park (Thursdays closed), Tibetan Self- help Centre Or Refugee Centre(Sundays closed), Tenzing Rock, Japanese temple & Peace Pagoda. Have an outer view of the Tea Garden			
														   
											</div> 
											</div>
																						<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 3											
											:</b> Darjeeling Day Excursion to Mirik										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Scenic roads drive to Mirik will mesmerise you. Sumendu Lake, tea gardens, landscape gardens, cardamom groves, orange orchards will compell you to spend more time there. (Horse riding & Boating can be done optionally). Nepal border is waiting for you with Pashupati Market to help you carry memories back  home			
														   
											</div> 
											</div>
																						<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 4											
											:</b> Transfer from Darjeeling To Siliguri										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Check out from hotel and proceed towards Siliguri.			
														   
											</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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Accommodation on twin sharing basis.</li><li>
Meals as mentioned in the itinerary.</li><li>
All permit fees & hotel taxes (as per itinerary).</li><li>
Rates are valid for INDIAN NATIONALS only.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Cost for extra usage of vehicle, other than scheduled & mentioned in the itinerary.</li><li>
 Cost for optional tours, Up – Gradation Charges, Guide, Sightseeing entrance fees, Room Heater charges.</li><li>
 Cost of Meal charges not mentioned.</li><li>
 Cost for any other service not mentioned under the “Cost Includes” Head.</li><li>
 Cost for Airfare, Train fare.</li><li>
 Cost for any sudden increase in taxes or fuel price, leading to change in package cost, which may come into effect prior to departure</li><li>
 Payment for service provided on a personal request.</li><li>
 Personal expenses such as laundry, bottled water, soft drinks, incidentals, porter charges, tips, telephone charges etc.</li><li>
 ST on the total billing.</li><li>
 Visa application fees.</li><li>
 Airport taxes.</li><li>
 Video, film and professional still camera fees.</li><li>
 Pre and post tour accommodation.</li><li>
 Alcoholic beverages.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>50% of the package cost is payable against booking of the package</li><li>
Remaining 50% of the package cost is payable 7 days before the tour starts</li></ul>						
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
						
						<ul><li>• Cancellation within 3 weeks from the start of the journey date 25% shall be charged as cancellation charges.</li><li>
• Cancellation within 15 days from the start of the journey date 50% shall be charged as cancellation charges.</li><li>
• Cancellation within 10 days from the start of the journey date 75% shall be charged as cancellation charges.</li><li>
• Cancellation within 7 days from the start of the journey date 100% shall be charged as cancellation charges.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.nirmaltravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Darjeeling 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="187545"/>
						</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.nirmaltravels.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/packages-in-thimphu.htm" title="Packages in Thimphu">Thimphu</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/packages-in-siliguri.htm" title="Packages in Siliguri">Siliguri</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/packages-in-wangdue-phodrang.htm" title="Packages in Wangdue Phodrang">Wangdue Phodrang</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/packages-in-phuentsholing.htm" title="Packages in Phuentsholing">Phuentsholing</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.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 spanlist dn"><a class="dif" href="http://www.nirmaltravels.in/packages-in-gajner.htm" title="Packages in Gajner">Gajner</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.nirmaltravels.in/packages-in-mane-bhanjang.htm" title="Packages in Mane Bhanjang">Mane Bhanjang</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.nirmaltravels.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</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.nirmaltravels.in/packages-in-mandoli.htm" title="Packages in Mandoli">Mandoli</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.nirmaltravels.in/packages-in-rimbick.htm" title="Packages in Rimbick">Rimbick</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.nirmaltravels.in/packages-in-pelling.htm" title="Packages in Pelling">Pelling</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.nirmaltravels.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.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.nirmaltravels.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.nirmaltravels.in/mountaineering-holidays-catid.htm" title="Mountaineering Packages">Mountaineering</a> <b class="alpha50 bn small">(1)</b></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 Darjeeling, Siliguri</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.nirmaltravels.in/tour-packages/darjeeling-tour9-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/496991/292513.jpg"  alt="Darjeeling Tour 9 Days" title="Darjeeling Tour 9 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nirmaltravels.in/tour-packages/darjeeling-tour9-days.htm" title="Darjeeling Tour 9 Days"><h3>Darjeeling Tour 9 Days</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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling, Siliguri, Lachen</p>
															<div class="mt10px small">
							<form name="pkg_187546" id="pkg_187546" method="post" action="http://www.nirmaltravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nirmaltravels.in/tour-packages/darjeeling-tour9-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Darjeeling Tour 9 Days - 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="187546"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.nirmaltravels.in/tour-packages/blissful-sikkim-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/496991/214286.jpg"  alt="Blissful Sikkim Tour" title="Blissful Sikkim Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nirmaltravels.in/tour-packages/blissful-sikkim-tour.htm" title="Blissful Sikkim Tour"><h3>Blissful Sikkim Tour</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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling, Pelling</p>
															<div class="mt10px small">
							<form name="pkg_135249" id="pkg_135249" method="post" action="http://www.nirmaltravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nirmaltravels.in/tour-packages/blissful-sikkim-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Blissful Sikkim Tour - 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="135249"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.nirmaltravels.in/tour-packages/siliguri-tour-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/496991/215135.jpg"  alt="Darjeeling - Queen of Hills" title="Darjeeling - Queen of Hills"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nirmaltravels.in/tour-packages/siliguri-tour-package.htm" title="Darjeeling - Queen of Hills"><h3>Darjeeling - Queen Of Hills</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> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Siliguri, Lachung</p>
															<div class="mt10px small">
							<form name="pkg_135081" id="pkg_135081" method="post" action="http://www.nirmaltravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nirmaltravels.in/tour-packages/siliguri-tour-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Darjeeling - Queen of Hills - 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="135081"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.nirmaltravels.in/tour-packages/gangtok-tour-with-kalimpong.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/496991/214042.jpg"  alt="Gangtok Tour With Kalimpong" title="Gangtok Tour With Kalimpong"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nirmaltravels.in/tour-packages/gangtok-tour-with-kalimpong.htm" title="Gangtok Tour With Kalimpong"><h3>Gangtok Tour With Kalimpong</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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Gangtok, Darjeeling</p>
															<div class="mt10px small">
							<form name="pkg_135082" id="pkg_135082" method="post" action="http://www.nirmaltravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nirmaltravels.in/tour-packages/gangtok-tour-with-kalimpong.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Gangtok Tour With Kalimpong - 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="135082"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.nirmaltravels.in/tour-packages/mesmerizing-gangtok-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/496991/214037.jpg"  alt="Mesmerizing Gangtok Tour" title="Mesmerizing Gangtok Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.nirmaltravels.in/tour-packages/mesmerizing-gangtok-tour.htm" title="Mesmerizing Gangtok Tour"><h3>Mesmerizing Gangtok Tour</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> :  Gangtok, Darjeeling</p>
															<div class="mt10px small">
							<form name="pkg_135079" id="pkg_135079" method="post" action="http://www.nirmaltravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.nirmaltravels.in/tour-packages/mesmerizing-gangtok-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Mesmerizing Gangtok Tour - 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="135079"/>
							</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:54:"Book Darjeeling Tour - 3 Nights / 4 Days Tour Packages";i:2;s:118:"book darjeeling tour - 3 nights / 4 days tour packages, hill station tour packages, darjeeling, siliguri tour packages";i:3;s:149:"Nirmal Travels offers Darjeeling Tour - 3 Nights / 4 Days tour package, budget Hill Station tour packages for Darjeeling, Siliguri at exciting price.";i:4;s:2890:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Darjeeling, Siliguri"        
		                 },
		      "description": "• Our representative will be there to receive the guest at the single Exit gate of Bagdogra Airport or at the new Exit (where escalator is present) of New Jalpaiguri Railway Station.
• In case the guest is arriving /arrives the railway station during / after midnight or before dawn, the guest is advised to rest in the Retiring/Waiting Room as it is not safe to travel at that time. Our representative will meet the guest in the morning for their further transfers.
• Hotels suggested are subject to availability at the time of booking. In case the same is not available, then similar category hotel will be provided.
• Please don't expect the service standards to be at par with the services that we may get in the plains /
metropolitan cities.
• Days in the hills are shorter. So the excursions start early in the morning to cover all the points before the weather gets foggy.
• Unavoidable situations - bad weather, bad road, strike or bandh - may require omission of sight-seeing points or change of tour plan and will be advised by our tour guide.
• Landslides are very frequent in the hills. Any additional expense incurred due to change in route plan because of road blockage -caused by snowfall or landslides- will have to be borne by the guest.
• Please take full risk and responsibility of your luggage.
• People in the hills wear 1 cardigan during their summer months. Please carry woolens accordingly.
• If the guest wants some minor change in their sightseeing schedule, it should be informed to our representative 1 day prior before 14:00 hrs. If informed later than 14:00 hrs cancellation rules will apply and the guest will have to pay additionally for the desired changes.
• The following points will remain closed on State Government & National Holidays.
Gangtok - Handicraft & Handloom Showroom, Research Institute of Tibetology, Flower Show.
Darjeeling - Himalayan Mountaineering Institute, Padma Naidu Himalayan Zoological Park, Tibetan Refugee Self Help Centre.
• Nathula Pass, Gurudongmar Lake & Yumesomdong (Zero Point) have less oxygen content in the air, owing to high altitude and presence of snow. People with heart problem, blood pressure and knees problem & having children below 05 years are advised to avoid these points as adequate medical systems are not available here.
• North Sikkim (Lachen & Lachung) trip starts from and terminates in Gangtok. It includes Stay, transport, sight-seeing and all 3 meals.",
		      "name": "Darjeeling Tour",
		      "telephone": "+91-9641829112"
		    }
		    </script>
			";i:5;N;}