a:6:{i:0;s:25248:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Day Visit Jungle Safari Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.corbettpackagetour.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.corbettpackagetour.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Day Visit Jungle Safari Tour</p>
						</div>
						</div>
						</section>
										<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">
					<div class="db vat pr slideArrow">				
												<ul class="bxslider11 fx-height lh0" style="margin:0px;padding:0px;">
																	<li class="pr">
										<div>										
										<div class="lh0 pa blur-bg" style="background:url(https://ttw.wlimg.com/package-images/photo-big/dir_18/539279/262982.jpg);"></div>
										<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/539279/262982.jpg">
										<div class="slide-fixImag" style="margin:0 9%;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/539279/262982.jpg"  alt="Day Visit Jungle Safari Tour" title="Day Visit Jungle Safari Tour"  /></div>
										</a>
										</div>
										</li>
																	</ul>
												<div class="sliderCont-Layer">
					<div class="dt w100">
					<div class="dtc vam"><p class="xxxlarge fw7 lh13em">Day Visit Jungle Safari Tour 
					
											<p class="mb5px"><b>Duration :</b> 
						4 Hours
						</p>
											</p>
											<p class="mt5px"><span class="fw6">Destination Covered</span> : Corbett</p>
											</div>
					<div class="dtc w200px vam"></div>
					</div>
					</div>
					<div class="slidePrice ac">
					<p class="xxlarge red mb12px">
											<span class="xxxlarge fw7"><i class="fa fa-inr"></i> 4500</span>
						<span class="db ttu xsmall mt5px">Per Jeep (Max 6 Person)</span>
											</p>
											<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.corbettpackagetour.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Day Visit Jungle Safari Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig c3px dib p10px15px xlarge fw6">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="175026"/>
						</form>
											</div> 
					
					<script>			
					jQuery('.bxslider11').bxSlider({
					  mode:'horizontal',
					  slideWidth:840,
					  auto:true,
					  autoControls:false,
					  stopAutoOnClick:true,
					  pager:false
					});
					</script>
					</div>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Bijrani Tourism Zone is open from 15th October to 30th June every year. <br />
<br />
Bijrani Zone - Entry is from Amdanda gate situated very close to Ramnagar town - 30 Jeeps are permitted every morning & evening and can be booked well in advance - this was a famous shooting block during the British Raj days and has across section of Jungle roads best suited for Jungle Jeep Safaris. This area has a healthy Tiger and wildife population and thus the chances of sighting are immense. Located on the eastern end of Corbett, Bijrani contains a wide variety of flora & fauna which includes Sal forests on the upper reaches and tropical moist, deciduous mixed forest in the valley and plain areas. The availability of water from perennial sources and also from man made water holes and the location of the extremely wide grasslands provide a strong prey base for the big cats and grazing for the herbivores.<br />
<br />
Jhirna Tourism Zone is open throughout the year. <br />
<br />
Jhirna Zone - located on the southern periphery of Corbett Tiger Reserve - 30 Jeeps are permitted every morning & evening and can be booked well in advance - the area consisted of many villages and was prime farming area - but being in close proximity to Corbett the crops were destroyed by wild animals - this made it one of the high man animal conflict zone for years. The Park authorities then managed to relocate these villages with its farming population to another area and the Jhirna zone was added to the Corbett Tiger Reserve. This particular area was transformed into grassland habitat which is excellent for bird watching but this also provides rich grazing for herbivores and wild Elephants. One can see abundant cheetal, sambhar and wild boar which makes this place attractive for Tiger sightings - there is also a good chance to see sloth bear and wild elephants which provide great sightings for the wild life enthusiasts. <br />
<br />
Dhela Tourism Zone is open throughout the year <br />
<br />
This is the newest and sixth eco-tourism zone that was opened for tourists in December 2014. Dhela Ecotourism zone remains open for tourists throughout the year. <br />
This zone is extremely rich in flora and fauna. The zone spreads over 1,173 hectares, which has mixed forests of Sal, Rohini, Haldu, Bahera, Kusum vegetation, and tigers, leopards, Asiatic elephants, sloth bears and king cobras. The area is particularly rich in bird diversity. <br />
Jungle Safari <br />
The Dhela zone can be visited on a day safari, the permit for which can be reserved using the official website. The safari is done using the registered vehicles and a mandatory guide. Private vehicles are not allowed in this zone just like the other zones of CTR. <br />
<br />
Chaurs (Grass Lands) <br />
A vast Laldhang chaur is the main attraction of this zone. The grassland is often seen packed with elephants and deers. Several wild pigs and Neelgai can also be seen here. The area is also a very sought after place for visitors interested in grassland birds. <br />
Sheesam, Dhak, Sisoo, and Khair are the most visible trees found in Corbett. A lot of other varieties are found around the park which contributes to the diversity of species. The only conifer found in the park is Chir Pine, and is seen on ridge tops like Chir Choti and declines in Gajar Sot. The higher reaches near Kanda shelters Banj Oak growing, which is a typical Himalayan species. Kanju (Holoptelia Integrifolia), Jamun (Syzygium Cumini) and Aamla (Emblica Officinalis) are seen growing in major areas. Other main types of trees in Corbett Park<br />
<br />
Bel <br />
Kusum <br />
Mahua <br />
Bakli<br />
Durga Devi Tourism Zone is open from 15th November to 15th June every year. <br />
<br />
Durga Devi Zone - located on the northeastern boundary of Corbett Park - 11 Jeeps are permitted every morning & evening and can be booked well in advance - the area consists of virgin Sal Forest and the meandering Ramganga river and its riverine forest and grasslands - making it very suitable for bird watching with many rare species of Raptors and forest birds. the track leads to the confluence of the Mandal & Ramgnaga rivers that provide the opportunity to see wild elephants all round the year and the undulating terrain provides excellent chances to see Leopard as well as Tiger. The Mandal range of Corbett tiger Reserve is very rich for species like lesser grey headed fishing eagle, crested laughing thrush, maroon oriole, black chinned yuhina, slaty blue flycatcher, little forktail and bar tailed tree creeper etc.. <br />
<br />
Corbett Landscape (Sitabani) area is open from 01 October to 30 June every year.<br />
<br />
Price (Indian) INR 4500 / Jeep ( Maximum 6 Persons are allowed in ONE Jeep ) <br />
Price (Foreigner) INR 6500 / Jeep ( Maximum 6 Persons are allowed in ONE Jeep ) <br />
Zones Bijrani, Jhirna, Dhela, Durgadevi & Corbett Landscape <br />
Timings 06:30 am to 10:30 am & 01:30 pm to 5:30 pm</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">
																							4 Hours
																							
											:</b> Corbett Jungle Safari										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Maximum 6 Person are Aloud in One Jeep															
														   
											</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>AP (Room + Breakfast + Lunch + Dinner)</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>Id proof are mandatory</li><li>
50 % advance before booking</li><li>
Booking must be in advance before 45 days</li></ul>						
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>4500</b> <small>/
			
			                		Per Jeep (Max 6 Person)			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </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. </li><li>
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.corbettpackagetour.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Day Visit Jungle Safari 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="175026"/>
						</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.corbettpackagetour.com/corbett-tour-packages.htm" title="Corbett Tour Packages">Corbett</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/nainital-tour-packages.htm" title="Nainital Tour Packages">Nainital</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/garhwal-tour-packages.htm" title="Garhwal Tour Packages">Garhwal</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/sahibabad-tour-packages.htm" title="Sahibabad Tour Packages">Sahibabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/sundargarh-tour-packages.htm" title="Sundargarh Tour Packages">Sundargarh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/pangot-tour-packages.htm" title="Pangot Tour Packages">Pangot</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/kumaon-tour-packages.htm" title="Kumaon Tour Packages">Kumaon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/up-east-tour-packages.htm" title="UP East Tour Packages">UP East</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/ramnagar-tour-packages.htm" title="Ramnagar Tour Packages">Ramnagar</a> <b class="alpha50 bn small">(1)</b></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.corbettpackagetour.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/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 "><a class="dif" href="http://www.corbettpackagetour.com/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.corbettpackagetour.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</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 Corbett</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.corbettpackagetour.com/holiday-packages/birding-tour-for-corbett-and-uttarakhand.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/539279/262976.jpg"  alt="Birding Tour for Corbett and Uttarakhand" title="Birding Tour for Corbett and Uttarakhand"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.corbettpackagetour.com/holiday-packages/birding-tour-for-corbett-and-uttarakhand.htm" title="Birding Tour for Corbett and Uttarakhand"><h3>Birding Tour For Corbett And Uttarakhand</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 Hours
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kumaon, Pangot, Corbett, Sundargarh, UP ..</p>
															<div class="mt10px small">
							<form name="pkg_175019" id="pkg_175019" method="post" action="http://www.corbettpackagetour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.corbettpackagetour.com/holiday-packages/birding-tour-for-corbett-and-uttarakhand.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Birding Tour for Corbett and Uttarakhand - 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="175019"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.corbettpackagetour.com/holiday-packages/one-night-stay-package-for-corbett-national-park-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/539279/262973.jpg"  alt="One Night Stay Package for Corbett National Park Tour" title="One Night Stay Package for Corbett National Park Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.corbettpackagetour.com/holiday-packages/one-night-stay-package-for-corbett-national-park-tour.htm" title="One Night Stay Package for Corbett National Park Tour"><h3>One Night Stay Package For Corbett Nationa..</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 Hours
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Corbett</p>
															<div class="mt10px small">
							<form name="pkg_175016" id="pkg_175016" method="post" action="http://www.corbettpackagetour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.corbettpackagetour.com/holiday-packages/one-night-stay-package-for-corbett-national-park-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="One Night Stay Package for Corbett National Park 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="175016"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.corbettpackagetour.com/holiday-packages/night-stay-packegein-forest-rest-house-and-dhikala-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/539279/262979.jpg"  alt="Night Stay Packege in Forest Rest House and Dhikala Tour" title="Night Stay Packege in Forest Rest House and Dhikala Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.corbettpackagetour.com/holiday-packages/night-stay-packegein-forest-rest-house-and-dhikala-tour.htm" title="Night Stay Packege in Forest Rest House and Dhikala Tour"><h3>Night Stay Packege In Forest Rest House An..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 7500</b> <b class="xsmall alpha50">Per Night</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Hours
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Corbett</p>
															<div class="mt10px small">
							<form name="pkg_175023" id="pkg_175023" method="post" action="http://www.corbettpackagetour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.corbettpackagetour.com/holiday-packages/night-stay-packegein-forest-rest-house-and-dhikala-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Night Stay Packege in Forest Rest House and Dhikala 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="175023"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.corbettpackagetour.com/holiday-packages/corbett-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/539279/262970.jpg"  alt="Corbett Tour" title="Corbett Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.corbettpackagetour.com/holiday-packages/corbett-tour.htm" title="Corbett Tour"><h3>Corbett Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 16500</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Hours
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Corbett</p>
															<div class="mt10px small">
							<form name="pkg_175014" id="pkg_175014" method="post" action="http://www.corbettpackagetour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.corbettpackagetour.com/holiday-packages/corbett-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Corbett 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="175014"/>
							</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:56:"Book Day Visit Jungle Safari Tour - 1 Days Tour Packages";i:2;s:110:"book day visit jungle safari tour - 1 days tour packages, wildlife safari tour packages, corbett tour packages";i:3;s:151:"Book Day Visit Jungle Safari Tour - 1 Days tour packages from Corbett Package Tour - Get attractive 1 Days Wildlife Safari  tour packages for  Corbett.";i:4;s:5218:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Corbett"        
		                 },
		      "description": "Bijrani Tourism Zone is open from 15th October to 30th June every year. 

Bijrani Zone - Entry is from Amdanda gate situated very close to Ramnagar town - 30 Jeeps are permitted every morning & evening and can be booked well in advance - this was a famous shooting block during the British Raj days and has across section of Jungle roads best suited for Jungle Jeep Safaris. This area has a healthy Tiger and wildife population and thus the chances of sighting are immense. Located on the eastern end of Corbett, Bijrani contains a wide variety of flora & fauna which includes Sal forests on the upper reaches and tropical moist, deciduous mixed forest in the valley and plain areas. The availability of water from perennial sources and also from man made water holes and the location of the extremely wide grasslands provide a strong prey base for the big cats and grazing for the herbivores.

Jhirna Tourism Zone is open throughout the year. 

Jhirna Zone - located on the southern periphery of Corbett Tiger Reserve - 30 Jeeps are permitted every morning & evening and can be booked well in advance - the area consisted of many villages and was prime farming area - but being in close proximity to Corbett the crops were destroyed by wild animals - this made it one of the high man animal conflict zone for years. The Park authorities then managed to relocate these villages with its farming population to another area and the Jhirna zone was added to the Corbett Tiger Reserve. This particular area was transformed into grassland habitat which is excellent for bird watching but this also provides rich grazing for herbivores and wild Elephants. One can see abundant cheetal, sambhar and wild boar which makes this place attractive for Tiger sightings - there is also a good chance to see sloth bear and wild elephants which provide great sightings for the wild life enthusiasts. 

Dhela Tourism Zone is open throughout the year 

This is the newest and sixth eco-tourism zone that was opened for tourists in December 2014. Dhela Ecotourism zone remains open for tourists throughout the year. 
This zone is extremely rich in flora and fauna. The zone spreads over 1,173 hectares, which has mixed forests of Sal, Rohini, Haldu, Bahera, Kusum vegetation, and tigers, leopards, Asiatic elephants, sloth bears and king cobras. The area is particularly rich in bird diversity. 
Jungle Safari 
The Dhela zone can be visited on a day safari, the permit for which can be reserved using the official website. The safari is done using the registered vehicles and a mandatory guide. Private vehicles are not allowed in this zone just like the other zones of CTR. 

Chaurs (Grass Lands) 
A vast Laldhang chaur is the main attraction of this zone. The grassland is often seen packed with elephants and deers. Several wild pigs and Neelgai can also be seen here. The area is also a very sought after place for visitors interested in grassland birds. 
Sheesam, Dhak, Sisoo, and Khair are the most visible trees found in Corbett. A lot of other varieties are found around the park which contributes to the diversity of species. The only conifer found in the park is Chir Pine, and is seen on ridge tops like Chir Choti and declines in Gajar Sot. The higher reaches near Kanda shelters Banj Oak growing, which is a typical Himalayan species. Kanju (Holoptelia Integrifolia), Jamun (Syzygium Cumini) and Aamla (Emblica Officinalis) are seen growing in major areas. Other main types of trees in Corbett Park

Bel 
Kusum 
Mahua 
Bakli
Durga Devi Tourism Zone is open from 15th November to 15th June every year. 

Durga Devi Zone - located on the northeastern boundary of Corbett Park - 11 Jeeps are permitted every morning & evening and can be booked well in advance - the area consists of virgin Sal Forest and the meandering Ramganga river and its riverine forest and grasslands - making it very suitable for bird watching with many rare species of Raptors and forest birds. the track leads to the confluence of the Mandal & Ramgnaga rivers that provide the opportunity to see wild elephants all round the year and the undulating terrain provides excellent chances to see Leopard as well as Tiger. The Mandal range of Corbett tiger Reserve is very rich for species like lesser grey headed fishing eagle, crested laughing thrush, maroon oriole, black chinned yuhina, slaty blue flycatcher, little forktail and bar tailed tree creeper etc.. 

Corbett Landscape (Sitabani) area is open from 01 October to 30 June every year.

Price (Indian) INR 4500 / Jeep ( Maximum 6 Persons are allowed in ONE Jeep ) 
Price (Foreigner) INR 6500 / Jeep ( Maximum 6 Persons are allowed in ONE Jeep ) 
Zones Bijrani, Jhirna, Dhela, Durgadevi & Corbett Landscape 
Timings 06:30 am to 10:30 am & 01:30 pm to 5:30 pm",
		      "name": "Day Visit Jungle Safari Tour",
		      "telephone": "+91-8265957626"
		    }
		    </script>
			";i:5;N;}