a:6:{i:0;s:11072:"				<div class="h1"><h1>Kerala Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.jachintravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.jachintravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Thiruvananthapuram</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.jachintravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="57204"/>
						</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_10/296660/108871.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/296660/108871.jpg"  width="150" height="150"    alt="Kerala Package" title="Kerala Package" /></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 Airport - Munnar
								</p>
								<p class="aj">Welcome to Kochi s Own Country. Upon arrival our representative will greet you at Kochi Airport. Later proceed to Munnar, the place where the unfolded green carpets is waiting for you. Munnar is breathtakingly beautiful, a haven of peace and tranquility - the idyllic tourist destination in God's own country. Munnar is the gateway of Hills in South India. On the way you can also watch the lovely waterfalls in Cheeyappara and colorful flowers in Blossom Gar=en. Reach & check in at the hotel and relax for a while amidst the comforts of your room. Explore the rest of the day along with the nature. Overnight stay at the Hotel/Resort.</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 - Munnar
								</p>
								<p class="aj">Enjoy the sumptuous breakfast. Laser proceed for a morning sightseeing trip of Munnar; visiting. Eravikulam National Park where you can see the very rare mountain goats locally called the Nilgiri Tahr. (National Park is Closed during breeding season. Please check with us regarding the visit prior to your arrival)& Tea Gardens along with Tea Museum (Closed on Mondays and Good Friday). Mattupetty Dam which offers many fascinating sights to relish. The Shola forests around Matupetty are ideal for trekking and bird watching, with the variety of birds found there. Kundala is a picturesque town located at the confluence of tree mountain streams namely Mudrapuzha, Nallathanni and Kundala. Overnight stay at the Hotel/Resort.</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 - Thekkady
								</p>
								<p class="aj">Enjoy the sumptuous breakfast. Later proceed to the most attractive feature of Thekkady i.e. Periyar Wild life Sanctuary. The place where one can go for a Wildlife cruise to view a large variety of wildlife like Wild Elephants, Nilgiri Langur, Sambar Deer, Wild Bison, Wild Bear etc, and quite a lot of unique birds can also be spotted. You can recreate yourself by having Optional activities like spice plantation Tour, Bambo Rafting, Trekking and Elephant ride. Overnight stay at the Hotel/Resort.</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 - Alleppey Houseboat
								</p>
								<p class="aj">Enjoy the sumptuous breakfast. Later proceed to the boat Jetty to boar the beautifully decorated houseboats and begin the enchanting backwater cruising. The backwaters of Kerala is a unique product of Kerala and is foundation no where else in the world. A glide in a "Kettuvallam" (Houseboat) through the enchanting backwaters is sure to rob your heart. You 99re in a watery universe, so quiet, even you can hear your own blood pumping around your head. Sparkling greens, emerald backwaters, coir laden house boats and magical beauty heals your mind and body as you travel to surreal=Kerala. Overnight stay in 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> Alleppey Houseboat - Kovalam
								</p>
								<p class="aj">Take breakfast and then arrive to Kovalam, an internationally famous beach town near Trivandrum 80 the capital city of Kerala. Kovalam is an evergreen, serene and entining destination for beach holidays in India. It is renowned for having some of finest beach resorts in the world. On arrival at Kovalam, transfer to the resort. Freshen up and relax amidst the comforts and amenities of resort. Later put your legs on the sandy beaches to see how the everlasting sea couches the everlasting sky. You can see here golden sand shimmering with sun rays during the day time and sliver side in the night with moonlight. You can also enjoy here swimming, sunbathing, herbal body massages and other water sports. Overnight stay will be at the resort.</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
								</p>
								<p class="aj">Enjoy the sumptuous breakfast. Later proceed for the sightseeing of Trivandrum. Thiruvananthapuram literally means Ananthapuri, "the city of Ananthan", the Thiru (Great/Lord) Ananthan's Puram (City). Ananthan is the serpent Sesha on who Padmanabhan or Vishnu reclines. The temple of Anantha, the Sri Padmanabhaswamy temple is the most religious icon of the city (dress code of Lungi; Saree is followed). Other sightseeing places are Veli Tourist Village, which has an excellent waterfront park with a wide range of aqua entertainment facilities like fishponds, wading pools and landscaped garden. Shangumuham Beach where one can watch the amazing sunset. Overnight stay at the Hotel/Resort</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 - Trivandrum Airport
								</p>
								<p class="aj">Enjoy the breakfast. Later pack your baggages with a promise to return once again to this part of the word Proceed on time to board your flight/train with sweet memories of your holidays. We await for your next visit Bon Voyage. Service ends.</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>
																		<li>Transfers</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.jachintravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="57204"/>
						</form>
						</div>
						
						";i:1;s:53:"Book Kerala Package - 6 Nights / 7 Days Tour Packages";i:2;s:109:"book kerala package - 6 nights / 7 days tour packages, valley tour packages, thiruvananthapuram tour packages";i:3;s:155:"Book Kerala Package - 6 Nights / 7 Days tour packages from JACHIN TRAVELS - Get attractive 6 Nights / 7 Days Valley  tour packages for  Thiruvananthapuram.";i:4;s:404:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thiruvananthapuram"        
		                 },
		      "description": "",
		      "name": "Kerala Package",
		      "telephone": "+91-8527093369"
		    }
		    </script>
			";i:5;N;}