a:6:{i:0;s:21993:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Kerela Tour Package</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.ss3tourtravelmemories.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.ss3tourtravelmemories.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Kerela Tour Package</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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-->				
								
						<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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kochi, Thekkady, 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.ss3tourtravelmemories.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerela Tour Package - 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="183819"/>
						</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_1/27163/281373.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/27163/281373.jpg"  height="150"  width="150"    alt="Kerela Tour Package" title="Kerela Tour Package" /></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> Cochin – Munnar Tour (130Km 4 Hrs Drive)
										</p>
										<p class="aj">COCHIN – MUNNAR TOUR (130KM 4 HRS DRIVE)</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
										</p>
										<p class="aj">After morning breakfast start for full day sightseeing tour of Munnar. Here visit to Mattupetty Lake & Dam, Echo Point, Kundale Lake, Blossom Garden, Rajamalai, Tea Plantation and Eravikulam Wildlife Sanctuary. Enjoy and relax near the tea gardens and appreciated the beauty of nature as you share romantic talks. Later return back on time to the hotel and enjoy the stimulating hot tea sitting outside in the garden. Rest of the day free at leisure. Overnight stay at 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> After morning breakfast start for full day sightseeing tour of Munnar. Here visit to Mattupetty Lake
										</p>
										<p class="aj">Morning after breakfast check out from hotel and depart for Thekkady by road. En route visit the panoramic Western Ghat hills covered with spice plantations and an occasional view of waterfalls and streams, several types of spice plantations like cardamom, vanilla, pepper, cinnamon and clove. <br />
Thekkady in India’s largest wildlife sanctuary is a dream destination for any tourist visiting India . The 120 years old ‘Surki’ dam built across Peryiar, Poorna in Vedic parlance, is a major tourist attraction. This sanctuary is spread over an area of 777 Sq.Kms, surrounded by an artificial lake over an area of 25 Sq.Kms. The Country’s sole Tiger reserve, Thekkady, with its bountiful treasures of tropical flora and fauna is the ultimate reservoir of many an endangered species and a rich tribal culture. Thekkady is a pleasant heaven on earth for those who love nature in its wild manifestations.<br />
On arrival at Thekkady, check into hotel. Rest of the day free at leisure. 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> Thekkady – Houseboat – Alleppey
										</p>
										<p class="aj">Morning after breakfast check out from hotel & process to Alleppey.<br />
Alleppey or Alappuzha is the Venice of the East; It is famous for its boat races, backwater holidays, beaches, marine products and coir industry. Alappuzha beach is a popular picnic spot. The pier, which extends into the sea here, is over 137 years old. Entertainment facilities at the Vijaya Beach Park add to the attraction of the beach. There is also an old lighthouse nearby which is greatly fascinating to visitors.<br />
Enjoy the magic of backwater by going on a Houseboat (Kettuvallam) cruise across the backwaters. Houseboat cruise is the best way to explore the beauty of backwaters Rest of the day at leisure on the House Boat. Enjoy your evening on the sundeck away from polluted cities and maddening crowd. Rest of the day free at leisure. Overnight stay at House Boat.</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 – Kovalam (180 Km-5 Hrs
										</p>
										<p class="aj">Morning after breakfast check out from hotel and transfer you to Kovalam.<br />
Kovalam is an internationally renowned beach with three adjacent crescent beaches. It has been a favorite haunt of tourists, Sunbathing, swimming, herbal body toning massages, special cultural programmers and catamaran cruising are some of them. The tropical sun acts so fast that one can see the faint blush of coppery tan on the skin in a matter of minutes. Life on the beach begins late in the day and carries on well into the night. The beach complex includes a string of budget cottages, Ayurvedic health resorts, and convention facilities, shopping zones, swimming pools, Yoga and Ayurvedic massage centres.<br />
On arrival at Kovalam check into Hotel. Rest of the day at leisure on the beach at Kovalam enjoy the scene of Arabian waves embracing virgin sands in Kerala -Gods own country. Rest of the day free at leisure. Overnight stay at 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> Kovalam – Trivandrum – Kovalam
										</p>
										<p class="aj">Morning after breakfast we take you for a day sightseeing of Trivandrum.<br />
Trivandrum is an ancient city with tradition dating back to 1000 BC. Thiruvananthapuram became the capital of Raja of Travancore in 1750. The name is derived from ‘Tiru Ananta Puram’, the abode of the Sacred serpent Ananta, upon whose coils Vishnu lies in the main temple.<br />
It is a peaceful attractive city built across seven hills; the city’s old quarter clusters around the temple, while along the busy Mahatma Gamdhi Road are colonial mansions, churches and modern high-rises. Thiruvananthapuram had managed to retain some of the ambience characteristics of Kerala such as red tiled roofs, narrow winding lanes and intimate corner cafes.<br />
Visit: The Napier Museum, Kuthiramalika Museum, Sri Padmanabha Temple afternoon go to the beach for relaxation. Return back to the hotel and rest of the day free at lesuire. Overnight stay at Hotel, 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 – Trivandrum (30 Kms-1 Hrs)
										</p>
										<p class="aj">After breakfast check out from hotel & Depart as per schedule to the Airport/ Railway station at Trivandrum.</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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</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>Air tickets and hotels are subject to availability. </li><li>
It is mandatory for guests to present valid photo identification at the time of check-in. </li><li>
The identification proofs accepted are Driving License, Voters Card, Passport, Ration Card. Without valid ID the guest will not be allowed to check in. Note- PAN Cards will not be accepted as a valid ID card. </li><li>
All transfers and sightseeing are as per the Itinerary/package and in case of Air Conditioned vehicles, It will be switched off in the hills. </li><li>
The inclusion of extra bed with a booking is facilitated with a folding cot or a mattress as an extra bed. </li><li>
Early check-in or late check-out is subject to availability and may be chargeable by the hotel. The standard check-in time is 1400hrs and the standard check-out time is 1200hrs. </li><li>
The hotel reserves the right of admission. Accommodation can be denied to guests posing as a couple if suitable proof of identification is not presented at check-in. Pretty Planet Travels will not be responsible for any check-in denied by the hotel due to the aforesaid reason. </li><li>
In case of non-availability of above mentioned hotels similar category hotel will be provided. </li><li>
Transportation as per itinerary only (not available at disposal). </li><li>
The distance mentioned in the itinerary is correct however travel time depends on traffic and road condition. </li><li>
Itinerary is subject to change / swap without any prior notice. </li><li>
Package rates are subject to change without prior notice. </li><li>
The package cannot be combined with any other offer. </li><li>
All the sightseeing tours and excursions are organized by local companies. </li><li>
The timings and days of operation are subject to alteration. Changes if any will be intimated at the time of booking </li><li>
Prices are subject to change without prior notice. </li><li>
Pretty Planet Travels reserves the right to change/modify or terminate the offer any time at its own discretion and without any prior notice. This booking is not valid on long week vacations, festival season, peak season or any other occasional season etc. Please refer our booking office for booking in the mentioned seasons </li><li>
We reserve the right to use an alternate accommodation or airfare of an equal or matchable standard. </li><li>
If we source a more expensive alternative, we reserve the right to re-quote based on the higher rates. </li><li>
Seat-in-coach transfers are on fixed timings. </li><li>
No refunds either in part or in full will be made for any unutilized service. </li><li>
The surcharge for any payment made in our online payment gateway through credit or debit Card or Master card or VISA card will be applied @ 3.5 % additionally charged over the total cost. </li><li>
The surcharge for any payment made in our online payment gateway through Net banking will be applied @ 4 % additionally charged over the total cost. </li><li>
The surcharge for any payment made in our online payment gateway through American express/ JCB/ Cash card will be applied @ 5 % additionally charged over the total cost. </li><li>
Bookings once confirmed can be requested by customer for cancellation, charges for which shall be advised at that time. In an event of cancellation of the tour package on any grounds wether due to uncontrollable factors like natural calamities, political strikes etc, the initial advance deposit shall be forfeited. </li><li>
All disputes are subject to Dharamshala Jurisdiction court only. </li><li>
No refunds after issuing of this confirmation. </li><li>
In case of cancellation/postponed or No show the guest will be liable to pay the full amount as per our booking plan. </li><li>
Accommodation shall be provided only for dates confirmed. No refunds for unused nights. POSTPONMENT AMOUNTS TO CANCELLTION. </li><li>
No refunds in full or part for any service provided due to technical or other reasons beyond our control </li><li>
NON REFUNDABLE / NON TRANSFERABLE. All Disputes are subject to Dharamshala Court Jurisdiction Only.</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. </li><li>
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.ss3tourtravelmemories.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerela Tour 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="183819"/>
						</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.ss3tourtravelmemories.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/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.ss3tourtravelmemories.in/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.ss3tourtravelmemories.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/packages-in-north-goa.htm" title="Packages in North Goa">North Goa</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/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 spanlist dn"><a class="dif" href="http://www.ss3tourtravelmemories.in/packages-in-kufri.htm" title="Packages in Kufri">Kufri</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.ss3tourtravelmemories.in/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 spanlist dn"><a class="dif" href="http://www.ss3tourtravelmemories.in/packages-in-sawai-madhopur.htm" title="Packages in Sawai Madhopur">Sawai Madhopur</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.ss3tourtravelmemories.in/packages-in-kansas.htm" title="Packages in Kansas">Kansas</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.ss3tourtravelmemories.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/wildlife-safari-holidays-catid.htm" title="Wildlife Safari Packages">Wildlife Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ss3tourtravelmemories.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</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:58:"Book Kerela Tour Package - 6 Nights / 7 Days Tour Packages";i:2;s:140:"book kerela tour package - 6 nights / 7 days tour packages, beach and islands tour packages, kochi, thekkady, alleppey, munnar tour packages";i:3;s:186:"S.s. Tours Travel & Transport offers Kerela Tour Package - 6 Nights / 7 Days tour package, budget Beach and Islands tour packages for Kochi, Thekkady, Alleppey, Munnar at exciting price.";i:4;s:424:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kochi, Thekkady, Alleppey, Munnar"        
		                 },
		      "description": "",
		      "name": "Kerela Tour Package",
		      "telephone": "+91-9975491918"
		    }
		    </script>
			";i:5;N;}