a:6:{i:0;s:14540:"				<div class="h1"><h1>Kerala Honeymoon Tours</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northindiatravel.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northindiatravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Kerala Honeymoon Tours</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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kochi, Kovalam, Trivandrum, Periyar, 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.northindiatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Honeymoon Tours - 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="43342"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_11/307359/85904.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/85904.jpg"  width="150" height="150"    alt="BEACH" title="BEACH" /></a></p></div></li>
																		<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_11/307359/85901.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/85901.jpg"  width="150" height="150"    alt="Kerala Honeymoon Tours" title="Kerala Honeymoon Tours" /></a></p></div></li>
																		<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_11/307359/85902.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/85902.jpg"  width="150" height="150"    alt="Kerala Honeymoon Tours" title="Kerala Honeymoon Tours" /></a></p></div></li>
																		<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_11/307359/85903.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/307359/85903.jpg"  width="150" height="150"    alt="Kerala Honeymoon Tours" title="Kerala Honeymoon Tours" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Cochin  -  Munnar  -Sightseeing at Munnar   -   Munnar to Periyar   -  Periyar to Kumarakon   -Houseboat to Kovalam    -Trivandrum <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 at Cochin :
								</p>
								<p class="aj">Your Kerala Honeymoon Tours starts from Ernakulum railway station or Cochin airport. Upon arrival, our respective delegate meets and assists you and guides your step ahead to the hotel. Once you freshen up, get ready to enjoy a welcome drink with your companion in order to share some of the exciting experience. After daytime leisure, proceed for sightseeing to Cochin. During the tour you are about to visit Jewish Synagogue, Dutch Palace, St. Francis Church, Jews Street, Ind0- Pak Museum, Chinese Fishing Net and many more. After a terrific journey at Cochin, you are guided to revisit back at the hotel, where mouthwatering delicious dinner and cozy flower bed is waiting for you. Enjoy your first day on Kerala Honeymoon Tours with your companion.</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 to Munnar 
								</p>
								<p class="aj">After breakfast at the Cochin hotel, proceed towards Munnar. You are going to get a view of some breathtaking path routes dotted with cardamom and pepper plantation, thick forests and tea plantations. Kerala is darned with amazing and scenic beauty that can be seen while entering Munnar border. Upon arrival at Munnar hotel, warm and freshen up by enjoying the welcome drink offered specially for the couples and even one can order hot coffee or tea prepared freshly from coffee beans or tea leaves. During evening time you are about have delicious dinner followed with cozy overnight in a decorative room for the very next day of your honeymoon</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> Sightseeing at Munnar 
								</p>
								<p class="aj">Enjoy a healthly breakfast in the morning, as you are about to view some of the most exquisite natural beauty of Munnar. Enjoy a leisure walk inside the tea bushes, romantic meadows shrouded with green carpet, view of a romantic waterfall and twittering of birds while sightseeing Munnar. Afterwards you can visit Kundale Lake, Echo point, Matteupeety Dam & Lake, Blossom Lake, Eravikulam Wildlife Park, Tea plantation and Tea plantation. Relax and enjoy near the place by holding each others hands, share your romantic talks and take a look on the exquisite natural beauty. After sightseeing at Munnar, enjoy hot tea or coffee sitting outside the hotel garden. Have delicious dinner and cozy nights in Munnar hotel.<br />
</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 to Periyar 
								</p>
								<p class="aj">After breakfast at the Munnar hotel, you will be transfered to Thekkady. While traveling to Thekkady, you can enjoy some of the most beautiful panorama with frequent streams and waterfalls on the way. Check into the Thekaddy hotel, enjoy and freshen up with the welcome drinks. Take some rest, as you are going to enjoy the mind blowing beauty of the village surrounded with scenic view of the Lake Periyar in the afternoon. Here you can watch some of the varied species of animals and birds. The surrounding is romantic and hence couple love to romance near the bank of the lake sitting under the shades of trees. Later come back to the same hotel for your dinner and romantic night 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> Periyar to Kumarakon 
								</p>
								<p class="aj">With chirping sounds of the birds, enjoy your morning breakfast at the Periyar hotel, as later you will be transfered to Kumarakon. Kumarakon is a lovely village situated at the picturesque Lake Vembanad. After your check into the hotel, enjoy the welcome drink that freshens up every individual’s mind. You are about to leave for Kumarakon Bird Sanctuary, which is a natural home for some of the varied species of migratory & colorful birds. The melodious sound of birds enhances the beauty of the sanctuary. During the evenings take a romantic walk with your companion near Lake Vembanad by enjoying nature`s beauty and relaxing at the backwater. Later return to the hotel, where you will be having a special dinner containing some local spices. Everything is nicely arranged for your 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> Kerala Houseboat 
								</p>
								<p class="aj">Enjoy your breakfast, as later you will check into the Kerala houseboat at 12.30hrs for the most romantic tour over the lovely backwaters. Relax and enjoy the lovely beach while the boat passes all the way through rustic villages, green paddy fields and natural beauty which freshen up the mind of every individual. Moreover, you can enjoy the scenic waterfalls, chirping of birds and serene beauty of sunset from your houseboat. Every facilities such as Lunch, Tea 0r coffee in the evening along with traditional snacks, delicious dinner and onboard overnight staying facilities are arranged</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> Houseboat to Kovalam 
								</p>
								<p class="aj">After having breakfast, you will enjoy the lovely view while transferring to Kovalam. This place is considered to be the finest beaches all over the country as it offers a heavenly ambiance, scenic beauty and unpolluted surrounding. Check in details are all arranged by our representatives, after that you can enjoy the welcome drink that freshens up your mood. In the afternoon spend some quality time with your loved one by viewing the scenic beauty of the beach. One can also spend time under the shades of coconut trees. Later come back to the hotel by enjoying delicious and mouthwatering dinner followed with cozy flower beds, specially decorated for honeymoon </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> Kovalam to Trivandrum 
								</p>
								<p class="aj">Enjoy breakfast at the Kovalam hotel. Later go for some sightseeing views of Trivandrum tour that includes Sri Padmanabha Temple, Kuthiramalika Museum and Napier Museum. Enjoy staying on the beach in the afternoon dotted with glistering sands and shaded of coconut trees which creates romantic ambience. Dinner and all overnight staying facilities are arranged at the Kovalam hotel.<br />
</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 9:</b> Depart at Kovalam 
								</p>
								<p class="aj">Enjoy your breakfast at the last destination of Kerala Honeymoon Tours at Kovalam. After few hours, our representative will guide you to transfer to Trivandrum railway station or airport as per your convenience.<br />
<br />
Here your unforgettable and romantic journey of Kerala Honeymoon Tour ends that both of you will cherish forever.<br />
</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>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.northindiatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Honeymoon Tours - 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="43342"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Kerala Honeymoon Tours - 8 Nights / 9 Days Tour Packages";i:2;s:148:"book kerala honeymoon tours - 8 nights / 9 days tour packages, hill station tour packages, kochi, kovalam, trivandrum, periyar, munnar tour packages";i:3;s:195:"Book Kerala Honeymoon Tours - 8 Nights / 9 Days tour packages from MD Tour Travels - Get attractive 8 Nights / 9 Days Hill Station  tour packages for  Kochi, Kovalam, Trivandrum, Periyar, Munnar.";i:4;s:568:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kochi, Kovalam, Trivandrum, Periyar, Munnar"        
		                 },
		      "description": "Cochin  -  Munnar  -Sightseeing at Munnar   -   Munnar to Periyar   -  Periyar to Kumarakon   -Houseboat to Kovalam    -Trivandrum ",
		      "name": "Kerala Honeymoon Tours",
		      "telephone": "+91-9646469331"
		    }
		    </script>
			";i:5;N;}