a:6:{i:0;s:9241:"				<div class="h1"><h1>Bangalore Nagarhole Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.seaqueenholiday.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.seaqueenholiday.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Bangalore Nagarhole Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Bangalore, Mysore, Coonoor, Kodagu, Mandya</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bangalore Nagarhole 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="52587"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/235469/102928.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/235469/102928.jpg"  width="150" height="150"    alt="Bangalore Nagarhole Tour" title="Bangalore Nagarhole Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
											<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival in Bangalore
								</p>
								<p class="aj">On arrival in Bangalore, you meet an Indian Holiday representative who facilitates your transfer to your pre-booked hotel. Known as the "IT hub" of India, Bangalore is quite a charming city to visit. Before the IT boom, Bangalore was also referred to as the "city of gardens". Post lunch, in the afternoon, indulge in sightseeing tour of the city covering the prime attractions. Return for an overnight stay at your hotel in Bangalore.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Bangalore - Mysore
								</p>
								<p class="aj">On day of the Bangalore Nagarhole Tour, drive to Mysore that is also known as the "city of palaces". Stop to visit the Tipu Sultan's capital at Srirangapatna on the way. Check into a hotel on arrival and spend the rest of the day exploring interesting places like the Maharaja’s Palace- also known as the Amba Vilas Palace, the colorful vegetable and flower markets and the Chamundi Hill with its Nandi Temple. Stay overnight in Mysore.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Mysore - Nagarhole National Park
								</p>
								<p class="aj">As part of the Bangalore Nagarhole Tour on the 3rd day of the tour, after breakfast, drive to the Nagarhole National Park. Home to animals like the tiger, leopard and elephant, Nagarhole, also known as Rajiv Gandhi National Park, also boasts of a rich avian population. On reaching, complete the check-in formalities at your jungle resort. Later, enjoy an elephant or a jeep safari inside the park in the afternoon till the evening. Overnight stay at the jungle resort in Nagarhole.<br />
<br />
Those who love angling can opt for a visit to the Cauvery Fishing Camp instead of a safari in the wilderness of Nagarhole. The Cauvery Fishing Camp is situated 100 km from Bangalore and 85 km from Mysore.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Nagarhole National Park
								</p>
								<p class="aj">On day of the Bangalore Nagarhole Tour, enjoy more wildlife safaris in the jungle to get closely acquainted with the flora and fauna of Nagarhole. During the safaris, you can spot animal and bird species like tiger, leopard, Indian bison or gaur, sambar , red giant flying squirrel , spotted deer or chital, spotted deer or chital, bamboo pit viper, common wolf snake  Malabar grey hornbill, red headed vulture, Indian scimitar babbler etc.  Stay overnight in Nagarhole.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Nagarhole - Coonoor
								</p>
								<p class="aj">Drive to Coonoor via Ooty after breakfast on the 5th day of the tour. One of the most beautiful hill stations in South India, Coonoor is a great base for a relaxed vacation to remember. It also boasts of many attractions like lush green tea estates, botanical gardens and the "Dolphin's Nose" peak. Once you reach, check-in at your hotel. Indulge in sightseeing. Stay overnight at a hotel in Coonoor.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Departure
								</p>
								<p class="aj">On the final day of the Bangalore Nagarhole Tour, an Indian Holiday representative drives you to the nearest airport / railway station for your onward journey.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Bangalore Nagarhole 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="52587"/>
						</form>
						</div>
						
						";i:1;s:63:"Book Bangalore Nagarhole Tour - 5 Nights / 6 Days Tour Packages";i:2;s:156:"book bangalore nagarhole tour - 5 nights / 6 days tour packages, wildlife and nature tour packages, bangalore, mysore, coonoor, kodagu, mandya tour packages";i:3;s:191:"Sea Queen Holidays offers Bangalore Nagarhole Tour - 5 Nights / 6 Days tour package, budget Wildlife and Nature tour packages for Bangalore, Mysore, Coonoor, Kodagu, Mandya at exciting price.";i:4;s:438:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangalore, Mysore, Coonoor, Kodagu, Mandya"        
		                 },
		      "description": "",
		      "name": "Bangalore Nagarhole Tour",
		      "telephone": "+91-9833538295"
		    }
		    </script>
			";i:5;N;}