a:6:{i:0;s:27020:"						<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 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_18/539279/262982.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_18/539279/262982.jpg);background-size:cover;background-position:center;"><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" 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">Day Visit Jungle Safari Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						4 Hours
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Corbett</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px"><i class="fa fa-inr"></i> 4500						</p>
						<p class="xxsmall alpha50">Per Jeep (Max 6 Person)</p>
						</div>
												<div class="mt12px mb7px">
						<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 p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="175026"/>
						</form>
						
												</div>
											<br/>
					</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/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>
										<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>
										
				</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 Jeep (Max 6 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_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 Jeep (Max 6 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;}