a:6:{i:0;s:27481:"						<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">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. </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;}