a:6:{i:0;s:10049:"				<div class="h1"><h1>Family premium kerala package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bluedolphintravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bluedolphintravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Family premium kerala package</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">Kumarakom, Kovalam, Thekkady, 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.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Family premium kerala package - 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="65360"/>
						</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/428110/120288.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428110/120288.jpg"  width="150" height="150"    alt="Family premium kerala package" title="Family premium kerala package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					any thing not not mentioned in itinerary.<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> Arrive in Munnar
								</p>
								<p class="aj">On your arrival at Cochin Airport, our driver will meet you near the exit area. He will drive you to Munnar that takes about 4 hours.<br />
<br />
Munnar, as the name signifies is located at the confluence of three rivers. Munnar is a popular hill resort with its sprawling tea plantations and picturesque landscapes. It is often called as "Nature Lovers’ Paradise". En route, enjoy the beautiful sights of lush greenery and majestic waterfalls.<br />
<br />
On arriving Munnar, Check in to the hotel and relax. Evening is free for your own leisure</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> Sightscene Munnar
								</p>
								<p class="aj">Rise to a beautiful fresh morning and breathe in the pure unpolluted air. Enjoy your morning breakfast. Today we spend the day for local sightseeing. Situated at the confluence of three mountain streams - Mudrapuzha, Nallathanni and Kundale, Munnar is 1,600 meters above sea level. Earlier Munnar was the summer resort of British government in South India. On our sightseeing tour, we visit Mattupetty Dam, Kundale Lake and Echo point.<br />
<br />
In the afternoon we proceed to Rajamalai. There is a possibility for you to spot ‘Nilgiri Thars’ here, the rarest species of mountain goat. Enjoy your evening in the romantic surroundings.<br />
<br />
Stay overnight at hotel in 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> Enjoy Thekkady
								</p>
								<p class="aj">After having morning breakfast, check out from the hotel and proceed to Thekkady, the famous wildlife sanctuary of South India. Check in at the hotel upon arrival and relax.<br />
<br />
Today visit to Spice Village & in the evening, enjoy a refreshing boat safari in the spectacular Periyar Lake. Take your camera along to capture the glances of some rare varieties of birds & animals at Periyar National park. It is a home to nomadic tribes of wild elephant, boar, deer, the great Indian tiger and many more. Later return back to Hotel.<br />
<br />
Stay overnight at hotel in 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> Let Your Heart Float on Houseboat
								</p>
								<p class="aj">Today morning after breakfast, check out from the hotel and drive to Kumarakom. Check in to THE HOUSEBOAT<br />
<br />
One of the major attractions of Kerala that pulls in numerous tourists to the destination, BACKWATER is a unique attraction. Check in to your houseboat. Relax over the gentle ripples of calm waters and sights of palm groves swaying in the cool breeze, away from the city dust and screeching honks; a silent charm that makes it no less than a paradise. Relish freshly prepared lunch on the houseboat.<br />
<br />
The day is at your own to accustom with the place. Spend a beautiful night by the dim moonlight, by the hushing waters and cool breeze. After having dinner on board, enjoy ultimate intimacy with nature and oneself.<br />
<br />
Stay overnight at 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 5:</b> Beach Town Kovalam
								</p>
								<p class="aj">Rise to a wavy morning in the houseboat over the backwaters. Enjoy morning breakfast sitting by the passing coconut trees and sparkling backwaters. Later check out from the houseboat and transfer to Kovalam. Check in and relax in the hotel. You will be free in the evening.<br />
<br />
Stay overnight at hotel 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 6:</b> End of Memorable Trip
								</p>
								<p class="aj">Take your breakfast and rush to enjoy what you have not enjoyed in your week long trip,<br />
You will Transferred back to Airport / Railway Station.<br />
Club Holiday - Makes No Stones Unturned To Leave Sweet Memories Imprinted in our Mind, While Saying Goodbye To Gods Own Country- Kerala</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>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>any thing not not mentioned in itinerary.</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.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Family premium kerala package - 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="65360"/>
						</form>
						</div>
						
						";i:1;s:68:"Book Family premium kerala package - 5 Nights / 6 Days Tour Packages";i:2;s:153:"book family premium kerala package - 5 nights / 6 days tour packages, beach and islands tour packages, kumarakom, kovalam, thekkady, munnar tour packages";i:3;s:205:"Book Family premium kerala package - 5 Nights / 6 Days tour packages from Blue Dolphin Travels - Get attractive 5 Nights / 6 Days Beach and Islands  tour packages for  Kumarakom, Kovalam, Thekkady, Munnar.";i:4;s:478:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kumarakom, Kovalam, Thekkady, Munnar"        
		                 },
		      "description": "any thing not not mentioned in itinerary.",
		      "name": "Family premium kerala package",
		      "telephone": "+91-9558888723"
		    }
		    </script>
			";i:5;N;}