a:6:{i:0;s:10643:"				<div class="h1"><h1>Beauty of Kerala Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.apexholidaysandadventures.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.apexholidaysandadventures.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Beauty of Kerala 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kochi, Kovalam, Thekkady, Alleppey, Trivandrum, Kanyakumari, Munnar</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.apexholidaysandadventures.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beauty of Kerala 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="69487"/>
						</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_15/426591/126156.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/426591/126156.jpg"  width="150" height="150"    alt="Beauty of Kerala Tour" title="Beauty of Kerala 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> Cochin to Munnar, after Airport pickup
								</p>
								<p class="aj">On your arrival at Cochin Airport/Railway station, proceed to Munnar. Enroute you may visit Cheeyapara & Valara Falls. Munnar, one of the most ethereal Hill stations across India, is perched between Tea Gardens at an altitude of 1520m. These celestial Mountains has a lot to offer for Tourists of various interests ranging from Nature addicts, Wildlife lovers or Adventure enthusiasts looking to trek across the Western Ghats. Overnight Stay at Munnar. </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> Munnar Local Sightseeing
								</p>
								<p class="aj">After Breakfast at Hotel, you will proceed for full Day sightseeing across Munnar. Places & Activities of Interest - Echo Point,Kundala Lake, Kundala Dam,Indo Swiss Livestock Project, Mattupetty Lake & Mattupetty Dam, Munnar BoatingMunnar Tea gardens, Munnar Tea museum & Tea factory,Blossom Park, Munnar Elephant Ride, Pothamedu View Point,Hydel Park,Photo Shooting Points, Rajamalai Eravikulam National Park, Anamudi peak,Tea Powder Shopping,Punarjani traditional Village (Kathakali & Kalaripayattu performance),Lock Heart Gap (On way towards Thekkady). You can visit inline with time available with you. Overnight at Munnar.</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> Munnar to Thekkady
								</p>
								<p class="aj">After Breakfast at Hotel, you will proceed towards Thekkady. Transfer to hotel & relax. Afternoon, proceed for sightseeing The Periyar wildlife sanctuary is thick evergreen forest, declared a Tiger Reserve in 1978. The splendid artificial lake formed by the Mullaperiyar Dam across the Periyar river adds to the charm of the park. You can also go for Boat Cruises on the Periyar lake, visit cardamom, pepper, tea & coffee plantation. You may like to experience Kathakali Show-the local dance depicting the God & the devil, Kalaripayattu Show-ancient form of martial Arts practised across this part of India, Thekkady Elephant Ride, on your own. Overnight at Thekkady. </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> Thekkady to Alleppey
								</p>
								<p class="aj">After breakfast at Hotel, you will proceed to Allepey/Alappuzha, connoted as Venice of the East by Lord Curzon. The place is well known for its meandering canals, brackish lagoons & sprawling Backwaters. The prominent Tourist attaraction are the Kerala Houseboats, popularly known as Kettuvallams. You may opt a cruising Houseboat or a Hotel for Overnight Stay. Staying in Houseboat is one of the most stimulating experiences while sailing across the maze of Canals perched between small villages. Experience of Backwaters, witnessing the paddy fields, & a stay away from bustling city life is quintessential on your holiday to this God's Own Country. However, staying at a Hotel will make you experience this quaint city engulfed between Backwaters. Evening you may opt for Sunset Cruise at Vembanadu Lake (directly payable) or visit Allepey Beachor shop around the city.</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> Alleppey to Kovalam / Trivandrum
								</p>
								<p class="aj">After Breakfast Check out from Hotel/Houseboat & proceed towards Kovalam, the countryside that God connected with the Seas in his own Country. Check-in to Hotel, relax & later you can proceed for sightseeing around Trivandrum Town visiting Museum complex, Sri. Padmanabha Swamy Temple, Science & Technology museum, Veli tourist village, Aakulam boat club, Shangmugham Beach. Overnight</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> Kovalam Day trip to Kanyakumari
								</p>
								<p class="aj">After Breakfast, proceed to Kanyakumari, enroute visiting Padmanabhapuram Palace, Suchidram Temple. Later visit Gandhi Memorial, Devi Kanya Kumari Temple, Vivekanand Rock Memorial, built on a rock on which Swami Vivekanand meditated in year 1892. Evening, you will get to see the mesmerizing Sunset at the confluence of 3 Oceans, Arabian Sea, Pacific Ocean & Indian Ocean. Evening return to Kovalam for overnight Stay.</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 7:</b> Kovalam to Cochin/Trivandrum Airport Dro
								</p>
								<p class="aj">After Breakfast at Hotel, get ready to say adios to God's Own Country. You will depart to Airport for onward journey, alongwith unforgettable memoirs .</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.apexholidaysandadventures.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Beauty of Kerala 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="69487"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Beauty of Kerala Tour - 6 Nights / 7 Days Tour Packages";i:2;s:171:"book beauty of kerala tour - 6 nights / 7 days tour packages, hill station tour packages, kochi, kovalam, thekkady, alleppey, trivandrum, kanyakumari, munnar tour packages";i:3;s:231:"Book Beauty of Kerala Tour - 6 Nights / 7 Days tour packages from Apex Holidays and Adventures - Get attractive 6 Nights / 7 Days Hill Station  tour packages for  Kochi, Kovalam, Thekkady, Alleppey, Trivandrum, Kanyakumari, Munnar.";i:4;s:460:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kochi, Kovalam, Thekkady, Alleppey, Trivandrum, Kanyakumari, Munnar"        
		                 },
		      "description": "",
		      "name": "Beauty of Kerala Tour",
		      "telephone": "+91-8554854111"
		    }
		    </script>
			";i:5;N;}