a:6:{i:0;s:20604:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Beautiful Dooars Package</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.xploretours.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.xploretours.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Beautiful Dooars Package</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-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Bagdogra</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.xploretours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beautiful Dooars Package - 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="129934"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/493506/207645.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/493506/207645.jpg"  width="150" height="150"    alt="Beautiful Dooars Package" title="Beautiful Dooars Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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 and Transfer to Jaldapara
										</p>
										<p class="aj">You will be received by our official at Bagdogra Airport (IXB) / New Jalpaiguri Railway Station (NJP) – Drive to Madarihat. The drive is nearly 4 - 4 ½ over a distance of approximately 155 km Via Malbazaar&Chalsa. Lunch on the way in Dhaba or on reaching the Resort at Jaldapara nearJaldapara National Park. It ensures a pleasant climate round the year so it isn't a problem even if you've set your visit any time of the year. (The forest Safari closes on June 15 and reopens on September 15 each year hence Safari / Elephant ride not possible during the period).Totopara, Khayerbari, Chilapata, Phuentsholling are some of the tourist spot nearby. Evening free. Night stay in Hotel / Resort at Jaldapara / Hollong. - See more at: http://www.bengaltourism.in/package-tour/dooars-chalsa-murti-buxa-jaldapara.html#sthash.1wYiYaoJ.dpuf</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> Safari and Elephant Ride & Visit to either Totopara:
										</p>
										<p class="aj">Early morning drive to Hollong for thrilling Elephant Safari (your cost) is organized in the early morning from Hollong. It offers the exquisite beauty of the vast grassland of Jaldapara.One can sight Indian rhinos, bison, deer and Asiatic elephants. Back to resort for breakfast. Drive to Totapara; famous for the Dooars aboriginals Totos;Totoapara is 22 km away. Toto is an isolated tribal group residing only in a small enclave called Totopara which is located at the foot of the Himalayas just to the south of the border of Bhutan on the western bank of Torsa river. Back to resort. Evening stroll at the meadow near the resort or watch tower to spot wildlife. Night stay in Hotel / Resort at Jaldapara / Hollong</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> Sightseeing to Chilapata&Phuentsholling
										</p>
										<p class="aj">Early morning one can proceed to Chilapata, nearly 26 km from Jaldapara or Alipurduar. The forest is used by the Elephants as a corridor to migrate. Chilapata Forest Reserve, NalRajarGarh, Barodabari/ Malangi and KodalBosti are the place of interest. Interesting is Ram Guna Tree locally called is knownas the tree that bleed. Back to Resort - Post Lunch one can visit Phuentsholling (Bhutan Border). The frontier town in southern Bhutan nearly. Phuntsholing or Phuentsholing is the administrative seat of the Chukha district; a thriving commercial centre, it is home to a potpourri of ethnic groups intermingling at the point where the countries Bhutan and India meet.Temple called ZangthoPelriLhakhang, Monastery KharbandiGoemba, Crocodile breeding centerand the local market is the places of interest. - Back to resort. Night stay in Hotel / Resort at Jaldapara / Hollong.</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> Transfer to Lataguri (Gorumara National Park):
										</p>
										<p class="aj">Early morning breakfast - Check out from Jaldapara. Drive to Lataguri; 75 km, 2 hours. Check into the Resort and have lunch or one can have lunch outside rich tropical forests, innumerable hill streams cutting across the green carpet, undulating plains makes this a tourist hotspot. Visit to someoffbeat place in the lap of Himalaya with wildlife or afternoon (4 PM - 6 PM), go for jungle Jeep Safari and a few Watch Tower with Buffalo Cart ride (your cost) if tickets are available. In the late evening campfire & tribal dance at the resort can be arranged (Optional). Night stay in Hotel / Resort at Latagturi</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> Local Sight Seeing to Jhalong, Bindu
										</p>
										<p class="aj">Early morning Breakfast. Visit to Jhalong, Bindu in the lap of Himalaya. The area is known for its diversified flora and fauna.Jhalong is on the bank of the river Jaldhakaon the Indo-Bhutan border in the foothills of the Himalayas, on the way to Bindu. Major attraction are scenic beauty, birds and the Water body.Bindu is the last village of West Bengal before one enters Bhutan on the bank of river Jaladhaka a natural physical boundary separating West Bengal and Bhutan. The place is also known for Ginger & cardamom plantations.Lunch en-route or back to resort by 2 P M and have Lunch. Early evening (04 P M to 06 P M) Jungle Jeep Safari (your cost) subjected to availability of tickets. In the late evening one can stroll around the market area. Guest are advised not to stroll away from the crowd towards the forest. Back to resort. Cultural Show can be arranged at Supplement cost. Nightstay in Hotel / Resort at Lataguri.</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> Local Sight Seeing Samsing, Suntaleykhola
										</p>
										<p class="aj">Early morning Breakfast.Next one has to leave for Excursion. Visit Samsing, Suntaleykhola in the lap of Himalaya. The area is known for its diversified flora and fauna.Samsing is a village at around 3000 feet known for its landscape, tea gardens and the forest. It is also a gateway to Neora Valley National Park. Rolling Tea Estatesare a treat to watch &SuntaleyKhola is named from a stream named Suntaley. One can spot exotic species of birds and butterflies. Visitors can cherish the natural natures beauty of this hamlet.Lunch en-route or back to resort by 2 PM. Night Stay in Hotel / Resort at Lataguri</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 Transfer to Bagdogra Airport (IXB) / New Jalpaiguri Railway Station (NJP)
										</p>
										<p class="aj">Early morning breakfast. Check Out Time 11 AM. Next one has to drive to Siliguri (or any local Railway Station of your choice), on the way to Bagdogra Airport / NJP. It is a approximately 90 km drive and is nearly 2 ½ - 3 hours via Sevoke Coronation Bridge / Sevoke Kali Mandir. One can stop at Coronation Bridge for photography and scenic beauty if time permits. One can also have some refreshment if time permits The traffic will be more hence one has to start early. Reach BagdograAirport / NJP. Tour ends….</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<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.xploretours.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beautiful Dooars Package - 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="129934"/>
						</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.xploretours.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/packages-in-kalimpong.htm" title="Packages in Kalimpong">Kalimpong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/packages-in-lachen.htm" title="Packages in Lachen">Lachen</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/packages-in-nainital.htm" title="Packages in Nainital">Nainital</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/packages-in-ranikhet.htm" title="Packages in Ranikhet">Ranikhet</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.xploretours.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</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.xploretours.in/packages-in-jalpaiguri.htm" title="Packages in Jalpaiguri">Jalpaiguri</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.xploretours.in/packages-in-corbett.htm" title="Packages in Corbett">Corbett</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.xploretours.in/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</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.xploretours.in/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</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.xploretours.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung</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.xploretours.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.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 "><a class="dif" href="http://www.xploretours.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.xploretours.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(2)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:63:"Book Beautiful Dooars Package - 6 Nights / 7 Days Tour Packages";i:2;s:111:"book beautiful dooars package - 6 nights / 7 days tour packages, heritage tour packages, bagdogra tour packages";i:3;s:157:"Book Beautiful Dooars Package - 6 Nights / 7 Days tour packages from Xplore Tourism - Get attractive 6 Nights / 7 Days Heritage  tour packages for  Bagdogra.";i:4;s:403:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bagdogra"        
		                 },
		      "description": "",
		      "name": "Beautiful Dooars Package",
		      "telephone": "91-9749882945"
		    }
		    </script>
			";i:5;N;}