a:6:{i:0;s:19825:"				<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="h1"><h1>Kerala Honeymoon Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.rkandsonsonline.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.rkandsonsonline.com/packages.htm" title="Packages">Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Kerala Honeymoon Tour</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kochi, Kovalam, Thekkady, Thiruvananthapuram, Alleppey, Munnar</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.rkandsonsonline.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Honeymoon Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="112254"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/501701/184217.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/501701/184217.jpg"  width="150" height="150"    alt="Kerala Honeymoon Tour" title="Kerala Honeymoon Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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
										</p>
										<p class="aj">Upon arrival at the Cochin airport, meet our representative who escorts you to the hotel. As you complete the check-in formalities, settle in your rooms. Thereafter, get ready for sightseeing in Cochin.<br />
<br />
Also known as Kochi and Ernakulam, Cochin is a cosmopolitan city of the state that was an important port city in the earlier times. This vibrant city is also referred to as the 'Queen of the Arabian Sea' and the 'Gateway to Kerala'. It is dotted with a number of tourist attractions that are worth-visiting. The places of interest in Cochin that you visit today include Santa Cruz Basilica-one of India's 8 basilicas, it has Gothic style architecture; Dutch Palace or Mattancherry Palace- a two-storied structure was built around 1555, it is now a museum that is home to murals, weapons, paintings etc and finally, St. Francis Church- constructed way back in the year 1503, this is the oldest European church in the country.<br />
<br />
Stay overnight in Cochin.</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> Cochin – Munnar
										</p>
										<p class="aj">Today, in the morning, leave by road for Munnar. Upon arrival, check into the hotel. Munnar is probably the most popular hill station of Kerala that is flocked by tourists in crazy numbers. Placed at an altitude of 6000 feet above the sea level, this hill town has pleasant climate, green surroundings, several attractions, aromatic tea plantations, adventure opportunities and more. The rest of the day is free; you can indulge in the activities of your interest. Explore the lovely surroundings on your own.<br />
<br />
Overnight stay in the hotel.</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
										</p>
										<p class="aj">Post breakfast in the morning, embark on a sightseeing tour of famous tourist spots in Munnar. The attractions that you visit include today include the Christ Church- constructed by the British in the year 1910, it is one of Munnar's most revered religious spots; Eravikulam National Park- home to the endangered mountain goat of Southern India- the Nilgiri Tahr, this wildlife reserve offers ample opportunities; Mattupetty Dam- constructed on a lake, this dam is a popular picnic spot amidst lush and serene surrounding and Anamudi peak- standing tall at an altitude of 2695 m above the sea level, this peak lies within Eravikulam and is popular for offering amazing trekking opportunities.</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> Munnar – Thekkady
										</p>
										<p class="aj">As you relish hot breakfast, check- out from the hotel, followed by road transfer to Thekkady, home to the very popular Periyar National Park and Tiger Reserve. On arrival, check-into the hotel. Relax for some time. Afternoon is scheduled for Motor Boat Ride on the Periyar Lake for sightseeing. One of the most popular national parks in Kerala, Periyar is home to a decent variety of Indian Elephants and Tigers, along with lion-tailed macaque, Nilgiri Tahr, Indian giant squirrel and as many as 265 species of birds.<br />
<br />
Stay overnight at the hotel.</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> Thekkady – Alleppey
										</p>
										<p class="aj">In the morning, start driving for Alleppey, now known as Alappuzha. On arrival, go on-board a luxury houseboat, locally known as Kettuvallam. Alleppey is known as the 'Venice of the East' and has some wonderful backwater routes. You check into an overnight houseboat cruise in and around Alleppey. This houseboat comes equipped with all kinds of modern comforts and comes with variation in number of rooms. You are accompanied by a rower and a trained chef. Admire the stunning verdant views of the paddy fields, and the coconut grooves, and soak-in the serenity during you backwater cruise. Observe the locals busy in their routine work, spot colorful birds, visit the coir making industry etc.<br />
<br />
Overnight stay on the houseboat.</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> Alleppey - Kovalam
										</p>
										<p class="aj">In the morning, the houseboat is back in Alleppey. Complete the check-out and disembark. Start the road journey to the lovely beach town of Kovalam. Away from regular hustle-bustle of city life, this place offers complete relaxation and rejuvenation. On Arrival, complete the check-in. Take rest for a while.<br />
<br />
Thereafter, you have options to pick from. You can either visit the tranquil crescent-shaped Kovalam beach, comprising of Hawa Beach, Lighthouse Beach and Samudra Beach for partaking in water sports like swimming, surfing, kayaking etc. The other option is of going for a relaxing herbal Ayurvedic massage at any of the Ayurveda centers, which are spread all around.<br />
<br />
Overnight stay in Kovalam.</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
										</p>
										<p class="aj">On day 7, in the morning, relax on the beautiful beach of Kovalam and proceed towards Cape Comorin. Kanyakumari, known as Cape Comorin during the British days, lies on the southern tip of the Cardamom Hills. Extremely popular as Hindu religious site, the city is home an ancient temple that is dedicated to Lord Shiva. Visit the beach with multi-colored sand and partake in leisure activities. Other places that you visit include Padmanabhapuram Palace- a beautiful architecture gem built during the 16th century, this palace has murals, carvings, rose wood furniture, huge Durbar Hall, delicate intricate carvings etc and Government Archeological museum-consisting of murals, wood carvings and artifacts.<br />
<br />
Back to Kovalam. 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 8:</b> Departure
										</p>
										<p class="aj">On the last day of the tour, get transferred to Trivandrum or Thiruvananthapuram. Enjoy morning sightseeing tour of Trivandrum- the largest and the capital city of Kerala. Later, drive to the airport to board flight for your onward destination. The other option is to get transferred to the Cochin Airport for your onward journey.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</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>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</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. 
* 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.rkandsonsonline.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Honeymoon 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="112254"/>
						</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.rkandsonsonline.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/packages-in-baramulla.htm" title="Packages in Baramulla">Baramulla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.rkandsonsonline.com/packages-in-manikaran.htm" title="Packages in Manikaran">Manikaran</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.rkandsonsonline.com/packages-in-thiruvananthapuram.htm" title="Packages in Thiruvananthapuram">Thiruvananthapuram</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.rkandsonsonline.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.rkandsonsonline.com/packages-in-ganderbal.htm" title="Packages in Ganderbal">Ganderbal</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.rkandsonsonline.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.rkandsonsonline.com/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.rkandsonsonline.com/packages-in-anantnag.htm" title="Packages in Anantnag">Anantnag</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.rkandsonsonline.com/packages-in-mussoorie.htm" title="Packages in Mussoorie">Mussoorie</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.rkandsonsonline.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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.rkandsonsonline.com/adventure-sports-holidays-catid.htm" title="Adventure Sports Packages">Adventure Sports</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.rkandsonsonline.com/paragliding-holidays-catid.htm" title="Paragliding Packages">Paragliding</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:60:"Book Kerala Honeymoon Tour - 7 Nights / 8 Days Tour Packages";i:2;s:160:"book kerala honeymoon tour - 7 nights / 8 days tour packages, valley tour packages, kochi, kovalam, thekkady, thiruvananthapuram, alleppey, munnar tour packages";i:3;s:216:"Book Kerala Honeymoon Tour - 7 Nights / 8 Days tour packages from Rk & Sons online service - Get attractive 7 Nights / 8 Days Valley  tour packages for  Kochi, Kovalam, Thekkady, Thiruvananthapuram, Alleppey, Munnar.";i:4;s:455:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kochi, Kovalam, Thekkady, Thiruvananthapuram, Alleppey, Munnar"        
		                 },
		      "description": "",
		      "name": "Kerala Honeymoon Tour",
		      "telephone": "+91-7640833145"
		    }
		    </script>
			";i:5;N;}