a:6:{i:0;s:10702:"				<div class="h1"><h1>South India Hill Stations Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.journeyasia.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.journeyasia.co.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>South India Hill Stations 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, Coimbatore, Coonoor, Ooty</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.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="South India Hill Stations 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="97215"/>
						</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_1/7828/164352.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/7828/164352.jpg"  width="150" height="150"    alt="South India Hill Stations Tour" title="South India Hill Stations 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> Bangalore
								</p>
								<p class="aj">Welcome to one of the developing metropolitan or garden city of India “Bangalore”.   representative will receive and transfer you from Airport/ Railway Station to hotel. After fresh up, get ready to enjoy its sanitary weather all year round, frosty breeze, pockets of broad roads, tree-lined streets, well-planned parks and gardens, imposing buildings and various sites like 240-acre Lal Bagh Botanical Garden, Cubbon Park, Vidhan Soudha, Venkatappa Art Gallery, Bull Temple, Jama Masjid’s, Kempegowda Fort, ISKCON Temple etc. No doubt all these sites lure you and appeal to come again and again.<br />
In evening you can retire in your lavish hotel room or make your shopping a satisfying and enjoyable by exploring the main shopping center of Bangalore: Commercial Street, MG Road, Brigade Road, Jayanagar Shopping Complex, Koramangala, Jayachamarajendra Road and Russel Market. Undeniably there is nothing that you will not get from these maximum modern centers of shopping. Overnight stay will be at 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: (140 km/04 hrs)
								</p>
								<p class="aj">Second day of your Enamouring South Package precede you toward the City of Palaces “Mysore”. On the way to Mysore visit the pageant island fortress of Srirangapatna, “Tippu's Palace”, the capital of Hyder Ali and his son Tippu Sultan, “Gumbaz”, Tippu's Summer Palace. Upon arrival Check in your hotel/resort and spend the reminder of your day at leisure or in evening you can visit on Krishnarajasagar Dam or fascinating Brindavan Garden, their wide lawns, several kaleidoscopically courses of flowers and main alluring dancing fountain mesmerize you a lot. Overnight stay will be at hotel 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
								</p>
								<p class="aj">On third day, after a light and refreshing breakfast, get ready for a full day’s sightseeing tour of Mysore, its straggling Maharaja's Palace with its wonderful gems, ivory inlaid doors, interior is also lavishly decorated with stained glass, mirrors, pillars, paintings and jewel make your visit worthwhile. Later visit Chamundi Hill, wide Nandi Bull idol, St. Philomena's Church, Jaganmohan Palace, Jayalakshmi Vilas, Lalitha Mahal and Mysore Zoo. Overnight stay will be at hotel 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 4:</b> Mysore - Ooty :(160 km/05 hrs)
								</p>
								<p class="aj">Your fourth day of the trip begins with the journey onwards to the Queen of hill stations and Capital of Nilgiris District “Ooty”. Enroute visit Bandipur & Mudumalai Wild Life Sanctuary prominent for gaur, chital, elephants, tigers, Indian leopards and other threatened species and as well as enjoy the lofty mountains, lush forest, rambling grasslands and miles and miles of tea gardens on most routes. Upon reaching Ooty, check in into hotel/resort; relax a while before embarking on a sightseeing tour of Ooty which include: Wax Musuem, Thread Garden, Rose Garden, Ooty Lake, Botanical Garden, Dodda Betta, Tata tea museum and factory, Ooty house etc. Overnight staywill be at hotel in Ooty.</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> Ooty – Coonoor - Ooty : (19 km/ 40 min)
								</p>
								<p class="aj">Fifth day take you one of the most famous hill stations of the Nilgiri hills or well-known tea plantation town “Coonoor”. To experience the best around Coonoor you can take a ride on the local toy train which offers you to look from close quarter the tea gardens, impressive views of wildflowers and bird watching such as cormorants, pipits, skylarks, Nilgiri verditer, thrushes, and parakeets. Upon reaching you will visit the main attraction of the town includes “Sim's Park”, a small well maintained botanical garden that has several varieties of plants, "Lamb’s Rock" which provide a wonderful view of the tea and coffee plantations,“Lady Canning’s Seat” that offers a panoramic view of the Nilgiris, Dolphin’s Nose and Law’s Falls, later go back to Ooty, here you will get choice either visit on Film shooting points or explore the local market. Overnight stay will be at hotel in Ooty.</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> Ooty - Coimbatore (Departure)
								</p>
								<p class="aj">On sixth day morning you'll be depart to Coimbatore to board flight/train for onward journey. In this way your remarkable excursion will comes to an end and we ensure you enjoy most beautiful scenery of Bangalore, Mysore, Coonoor and Ooty through our Enamouring South Package.</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.journeyasia.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="South India Hill Stations 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="97215"/>
						</form>
						</div>
						
						";i:1;s:69:"Book South India Hill Stations Tour - 5 Nights / 6 Days Tour Packages";i:2;s:151:"book south india hill stations tour - 5 nights / 6 days tour packages, valley tour packages, bangalore, mysore, coimbatore, coonoor, ooty tour packages";i:3;s:195:"Book South India Hill Stations Tour - 5 Nights / 6 Days tour packages from Journey Asia - Get attractive 5 Nights / 6 Days Valley  tour packages for  Bangalore, Mysore, Coimbatore, Coonoor, Ooty.";i:4;s:446:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Bangalore, Mysore, Coimbatore, Coonoor, Ooty"        
		                 },
		      "description": "",
		      "name": "South India Hill Stations Tour",
		      "telephone": "+91-9910078863"
		    }
		    </script>
			";i:5;N;}