a:6:{i:0;s:11073:"				<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"  height="150"  width="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;}