a:6:{i:0;s:15452:"				<div class="h1"><h1>Mist & Rain Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travelect.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelect.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Mist & Rain Tour</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">Tour Code </td>
						<td class="p5px pl0px vat">el12</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						11 Nights / 12 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Kumarakom, Kochi, Kovalam, Thekkady, Alleppey, Kanyakumari, Munnar, Athirappilly</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.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mist & Rain Tour - 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="57767"/>
						</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_12/333350/139042.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/139042.jpg"  width="150" height="150"    alt="Mist & Rain Tour" title="Mist & Rain Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					All Transfers & Sightseeing For The Above Mentioned Places By A/C Vehicle.<br />
Welcome Drink On Arrival<br />
Double Sharing Accommodation For A Couple For Two Nights In Deluxe Room.<br />
Complimentary Breakfast.<br />
Flower Arrangement In Bed<br />
Candle Light Dinner Or Candle Light Dinner - Tree Hut<br />
Cake (Chocolate, Vanilla, Strawberry) Or Cake (Black Forest)<br />
Fruit Basket<br />
Badam Milk<br />
Wine (Homemade)<br />
Campfire / With Music System<br />
Cookies<br />
Soft-Drinks<br />
Homemade Chocolates<br />
All TaxesAny Meals Other Than Those Mentioned Above.<br />
Airfare Train Fare Entrance Fees To Amusement Parks, Boating Charges, Wild Life Sanctuaries, Etc,<br />
Any Portage At Airports And Hotels, Tips, Insurance, Wine, Mineral Water, Telephone Charges, And All Items Of Personal Nature.<br />
Any Services Not Specifically Mentioned In The Inclusions.<br />
Expenses Caused By Factors Beyond Our Control Like Rail And Flight Delays, Roadblocks, And Vehicle Mal - Functions, Political Disturbances Etc.<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
								</p>
								<p class="aj">Our representative will pick you up from Cochin Airport / Ernakulam Railway station to the hotel. After check in the hotel proceed to visit Cochin sightseeing. This will cover Dutch palace, Fort Cochin, Jewish synagogue, ST.Francis church, Santa Cruz basilica, Marine drive etc.<br />
<br />
Overnight stay at 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 2:</b> Cochin to Athirappilly
								</p>
								<p class="aj">After breakfast proceed to Athirappilly and check in the hotels. There after we go for sightseeing of Thumpurmuzhi Gardens, Charpa Falls, Vazhachal Forest Gardens and Water Falls.The Vazhachal waterfalls are located very close to the Athirapilly Falls and are a part of the Chalakudy river stream.Overnight stay at 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 3:</b> Athirappally to Munnar
								</p>
								<p class="aj">Upon arrival at Cochin, our representative meet and pick up you from Cochin Airport / Ernakulam Railway station and proceed to Munnar which is one of the most popular Hill stations in India, situated at the confluence of three mountain streams - Mudrapuzha, Nallathanni and Kundala. Located at 1600 mtrs. above sea level. Munnar was once the summer resort of the erstwhile British Government in South India, on the way we will visits:-Cheyyappara waterfalls,Valara waterfalls,Viewpoint Pallivasal Attukal waterfalls<br />
After Check in to Hotel by evening spent rest of the time in leisure and overnight stay at Munnar 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 4:</b> Munnar
								</p>
								<p class="aj">2nd day of package is devoted to sightseeing in and around Munnar. Enjoy panoramic views of Anaimudi, the highest peak of South India, visit Eravikulam National Park, Rajamala Hills. Mattupetty Dam, a famous picnic spot for boating and horse riding en rooted to Top Station, echo station.If time persist then visit old Munnar.<br />
<br />
Return to hotel for overnight stay.</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> Munnar - Thekkady
								</p>
								<p class="aj">After Breakfast leave Munnar and drive towards Thekkady  ( 4 hrs),In between you can see beautiful landscapes, dam and gap routes, Reach Thekkady then check in to the hotel. Thekkady is otherwise known as Periyar Tiger Reserve. It is a unique preserved wildlife sanctuary. Here we can see the wild animals closely. Thekkady Spread over a picture perfect landscape, it holds great opportunities for wildlife watching and photography. Afternoon proceed for Elephant Safari and boating at Periyar Tiger reserve. Evening you can visit spices market in Kumily town.<br />
 Overnight stay at 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 6:</b> Thekkady - Alleppey
								</p>
								<p class="aj">After breakfast proceed to Kumarakom/Alleppey. Check into the house boat at 12.00 noon. Backwater cruise moving through paddy fields, coconut lagoons and narrow canals, rivers, birds sanctuary and backwaters of Kumarakom/Alleppey. A/c timings in houseboat will be 08.00 P.M to 06.00 A.M.<br />
Stop for lunch at 1.30 PM. Menu: Traditional Kerala cuisine and cruise starts again at 2.30 PM. Tea and snacks will be served at 4 PM.<br />
<br />
Cruise stops. At 6 PM (6.00 pm to 07.00 am- Boat will anchored and it will be idle in the lake. As per Government rule- village people need to put the net in the lake for fishing).<br />
<br />
Enjoy the evening with village walk. Candle light dinner at 8 PM  and you can relax and sleep in super a/c bed rooms. 8: 30 AM.  After breakfast cruise starts again to Kumarakom/Alleppey and drop you to the boat jetty by 9-9.30 A.M</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> Alleppey - Kanyakumari
								</p>
								<p class="aj">After breakfast proceed to Kanyakumari that is one of the most popular tourist destinations of south India. Located in the southernmost point of the Indian mainland, it is a magnificent place of natural beauty where you can see the deep blue waters of the ocean meeting the horizon. Full day enjoy the Kanyakumari sightseeing and watch sunset in the evening.Overnight stay at 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 8:</b> Kovalam
								</p>
								<p class="aj">After breakfast proceed to Kovalam. After check-in the hotel visit the important places like Padmanabhaswamy Temple, Sree Chithra Art Gallary,Chacha Nehru children's museum, Zoo,Naiper Museum,Priyadershini, Planetarium and Kuthiramalika palace, Evening proceed to visit Kovalam Beach. Over night stay at 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 9:</b> Kovalam
								</p>
								<p class="aj">After breakfast proceed to Kovalam. After check-in the hotel visit the important places like Padmanabhaswamy Temple, Sree Chithra Art Gallery,Chacha Nehru children's museum, Zoo,Naiper Museum,Priyadershini, Planetarium and Kuthiramalika palace, Evening proceed to visit Kovalam Beach. Over night stay at 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 10:</b> Kovalam to Kumarakom
								</p>
								<p class="aj">After breakfast proceed to Kumarakom Backwaters which is a major sightseeing destination and can visit through the canals, lagoons, lakes, river and backwaters in the region. Kumarakom Bird Sanctuary is home to different species of birds, including migratory birds from Siberia and natural habitat of birds. Kumarakom Beach is an ideal place to relax and enjoy various types of beach activities and water sports. Some of these water sports are water skiing, wind surfing, parasailing, water polo, boating and swimming. Volleyball, sunbathing, water aerobics and frisbee are popular. Pathiramanal refers to 'the sand of night' or 'midnight sand' and features a zoo and an aquarium. Aruvikkuzhi Waterfalls is a famous tourist spot in Kumarakom,</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Cochin
									</p>
									<p class="aj">After breakfast proceed to Cochin (Airport / Ernakulam Railway station) for onward journey.</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 12:</b> Departure
									</p>
									<p class="aj">Departure.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any Meals Other Than Those Mentioned Above.</li><li>
Airfare Train Fare Entrance Fees To Amusement Parks, Boating Charges, Wild Life Sanctuaries, Etc,</li><li>
Any Portage At Airports And Hotels, Tips, Insurance, Wine, Mineral Water, Telephone Charges, And All Items Of Personal Nature.</li><li>
Any Services Not Specifically Mentioned In The Inclusions.</li><li>
Expenses Caused By Factors Beyond Our Control Like Rail And Flight Delays, Roadblocks, And Vehicle Mal - Functions, Political Disturbances Etc.</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.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Mist & Rain Tour - 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="57767"/>
						</form>
						</div>
						
						";i:1;s:57:"Book Mist & Rain Tour - 11 Nights / 12 Days Tour Packages";i:2;s:175:"book mist & rain tour - 11 nights / 12 days tour packages, valley tour packages, kumarakom, kochi, kovalam, thekkady, alleppey, kanyakumari, munnar, athirappilly tour packages";i:3;s:216:"El Travel Elect Pvt. Ltd offers Mist & Rain Tour - 11 Nights / 12 Days tour package, budget Valley tour packages for Kumarakom, Kochi, Kovalam, Thekkady, Alleppey, Kanyakumari, Munnar, Athirappilly at exciting price.";i:4;s:1414:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kumarakom, Kochi, Kovalam, Thekkady, Alleppey, Kanyakumari, Munnar, Athirappilly"        
		                 },
		      "description": "All Transfers & Sightseeing For The Above Mentioned Places By A/C Vehicle.
Welcome Drink On Arrival
Double Sharing Accommodation For A Couple For Two Nights In Deluxe Room.
Complimentary Breakfast.
Flower Arrangement In Bed
Candle Light Dinner Or Candle Light Dinner - Tree Hut
Cake (Chocolate, Vanilla, Strawberry) Or Cake (Black Forest)
Fruit Basket
Badam Milk
Wine (Homemade)
Campfire / With Music System
Cookies
Soft-Drinks
Homemade Chocolates
All TaxesAny Meals Other Than Those Mentioned Above.
Airfare Train Fare Entrance Fees To Amusement Parks, Boating Charges, Wild Life Sanctuaries, Etc,
Any Portage At Airports And Hotels, Tips, Insurance, Wine, Mineral Water, Telephone Charges, And All Items Of Personal Nature.
Any Services Not Specifically Mentioned In The Inclusions.
Expenses Caused By Factors Beyond Our Control Like Rail And Flight Delays, Roadblocks, And Vehicle Mal - Functions, Political Disturbances Etc.",
		      "name": "Mist & Rain Tour",
		      "telephone": "+91-9225503370"
		    }
		    </script>
			";i:5;N;}