a:6:{i:0;s:8842:"				<div class="h1"><h1>Kerala Delights Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.vnhindia.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.vnhindia.in/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Kerala Delights 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">4KNL01</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Thekkady, Alleppey, Munnar</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 11335 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.vnhindia.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Delights 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="98304"/>
						</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_13/378243/166257.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/378243/166257.jpg"  width="150" height="150"    alt="Kerala Delights Tour" title="Kerala Delights Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					This 4 Nights / 5 Day package takes you to the hill stations of Munnar, the forest reserves of Thekkady and an enchanting cruise across the famous backwaters of Kerala with an overnight stay in the traditional houseboat of Kerala.Early Check In and Late Check Out in properties<br />
Optional activities mentioned in the itinerary.<br />
Vehicle availability per travel itinerary. Personal / Night life activity extra payable.<br />
Meals other than those mentioned under tour inclusion.<br />
Entry tickets at monuments and other sightseeing places.<br />
Visa / Air / Train Tickets unless specifically mentioned.<br />
Anything other than those mentioned under "Tour Inclusions" above<br />
Personal expenses like laundry, Medicines, telephone calls, alcoholic/non- alcoholic beverages.<br />
Expenses incurred or loss caused by reasons beyond our control such as bad weather, natural calamities, flight, train delays / rescheduling / cancellations, political / social unrest, hartal / bandh / strikes, war etc. We will endower to make the best possible alternate arrangements which may entail change in the itinerary / accommodation and any charges consequent thereof shall be extra payable.11-0630-09<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>3 Star Hotel</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Early Check In and Late Check Out in properties</li><li>
Optional activities mentioned in the itinerary.</li><li>
Vehicle availability per travel itinerary. Personal / Night life activity extra payable.</li><li>
Meals other than those mentioned under tour inclusion.</li><li>
Entry tickets at monuments and other sightseeing places.</li><li>
Visa / Air / Train Tickets unless specifically mentioned.</li><li>
Anything other than those mentioned under "Tour Inclusions" above</li><li>
Personal expenses like laundry, Medicines, telephone calls, alcoholic/non- alcoholic beverages.</li><li>
Expenses incurred or loss caused by reasons beyond our control such as bad weather, natural calamities, flight, train delays / rescheduling / cancellations, political / social unrest, hartal / bandh / strikes, war etc. We will endower to make the best possible alternate arrangements which may entail change in the itinerary / accommodation and any charges consequent thereof shall be extra payable.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Any specific / special meal preference should be communicated by mail.</li>
	<li>At hill stations rooms are generally non A/C unless specifically mentioned under room category.</li>
	<li>All guests are advised to carry a photo id card during the entire trip.</li>
	<li>Check hotel reviews before confirmation Subsequent changes may involve cancellation charges.</li>
	<li>In the event of non- availability of hotels mentioned, similar category of hotels shall be provided.</li>
	<li>No kind of insurance is covered under this package.</li>
	<li>This is a quotation and not a booking confirmation Rooms shall be blocked only upon receipt of advance payment.</li>
	<li>Rates may vary on account of surge pricing during Dusserah, Diwali, Christmas, Onam &amp; New Year periods</li>
</ul>

<p><strong>Payment Terms</strong>

<ul>
	<li>25% of package amount at time of booking confirmation or 45 days before arrival whichever is earlier.</li>
	<li>Next 25% payment to be done immediately after receipt of hotel confirmation vouchers</li>
	<li>Balance 50% to be done preferably 7 days before arrival or latest by cash on arrival.</li>
</ul>

<p>Payments can be made by NEFT / IMPS / Deposit in favour of: &quot;Vacation N Holiday Pvt. Ltd&quot;.

<p><strong>ICICI Bank:<br />
AC No: 6269 0500 1266<br />
IFSC Code: ICIC 000 6269<br />
Branch: Thiruvalla, Kerala - 689 101</strong>

<p><strong>HDFC Bank:<br />
AC No: 5020 0020 262002<br />
IFSC Code: HDFC 000 1512<br />
Branch: Kaloor, Kerala682 017.</strong>

<p><strong>Cancellation Policy</strong>

<p>Cancellation charges will be effective from the date of receipt of customer&rsquo;s cancellation email.

<ul>
	<li>60 days or more prior to arrival - 10% of the total package amount</li>
	<li>59 days to 30 days prior to arrival - 20% of the total package amount</li>
	<li>29 days to 15 days prior to arrival - 50% of the total package amount</li>
	<li>14 days &amp; less or no show - No refund</li>
</ul>

<p>No refund in case travel overlaps with peak season (15 Dec to 15 Jan).												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.vnhindia.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Delights 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="98304"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Kerala Delights Tour - 4 Nights / 5 Days Tour Packages";i:2;s:129:"book kerala delights tour - 4 nights / 5 days tour packages, hill station tour packages, thekkady, alleppey, munnar tour packages";i:3;s:172:"Vacation & Holiday PVT LTD offers Kerala Delights Tour - 4 Nights / 5 Days tour package, budget Hill Station tour packages for Thekkady, Alleppey, Munnar at exciting price.";i:4;s:1582:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Thekkady, Alleppey, Munnar"        
		                 },
		      "description": "This 4 Nights / 5 Day package takes you to the hill stations of Munnar, the forest reserves of Thekkady and an enchanting cruise across the famous backwaters of Kerala with an overnight stay in the traditional houseboat of Kerala.Early Check In and Late Check Out in properties
Optional activities mentioned in the itinerary.
Vehicle availability per travel itinerary. Personal / Night life activity extra payable.
Meals other than those mentioned under tour inclusion.
Entry tickets at monuments and other sightseeing places.
Visa / Air / Train Tickets unless specifically mentioned.
Anything other than those mentioned under "Tour Inclusions" above
Personal expenses like laundry, Medicines, telephone calls, alcoholic/non- alcoholic beverages.
Expenses incurred or loss caused by reasons beyond our control such as bad weather, natural calamities, flight, train delays / rescheduling / cancellations, political / social unrest, hartal / bandh / strikes, war etc. We will endower to make the best possible alternate arrangements which may entail change in the itinerary / accommodation and any charges consequent thereof shall be extra payable.11-0630-09",
		      "name": "Kerala Delights Tour",
		      "telephone": "+91-9847521170"
		    }
		    </script>
			";i:5;N;}