a:6:{i:0;s:9974:"				<div class="h1"><h1>Kerala Wayanad Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.shareoursource.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.shareoursource.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Kerala Wayanad 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">WAYIB17</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">Kochi, Kozhikode Calicut, Wayanad, Thrissur</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 class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Concession For Group More Than 15</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.shareoursource.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Wayanad 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="64865"/>
						</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_15/433238/119660.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/433238/119660.jpg"  width="150" height="150"    alt="Kerala Wayanad Tour" title="Kerala Wayanad Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Concession For Group More Than 15Flight/ Train ticket (optional)<br />
All the Entrance Fees<br />
Local conveyance where our transport is not allowed<br />
Tips and laundry<br />
Special and personel additional requirement<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> Arrive Kozhikodu
								</p>
								<p class="aj">Arrive Kozhikodu early morning - Kalpetta - Likdi view point - Pukut lake - Night 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 2:</b> Kurva Isaland
								</p>
								<p class="aj">After BF Proceed to Edakal cave - Kurva Isaland - Night 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 3:</b> Banakara sagar Dam
								</p>
								<p class="aj">After BF - Proceed to Banakara sagar dam - Kozhikodu seashore - Night 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 4:</b> Guruvayur
								</p>
								<p class="aj">After BF - proceed to Guruvayur - proceed to Kochi - Night 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> Departure
								</p>
								<p class="aj">After BF - Kochi city Tour - Night departure to Native place</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>Transport</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Flight/ Train ticket (optional)</li><li>
All the Entrance Fees</li><li>
Local conveyance where our transport is not allowed</li><li>
Tips and laundry</li><li>
Special and personel additional requirement</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>Preferably from chennai/ At the destination of the customer's choice<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>July, August, sept<br /><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul style="list-style-type: circle">
	<li>All the packages provides twin/triple Sharing&nbsp; AC /Non Ac Rooms as per the mention in the packages.</li>
	<li>South / North indian&nbsp; Veg/ Non veg buffetmeals will be provided . The packet lunch will be given for customers,where&nbsp; the spot meals can not be provided during the travel</li>
	<li>Sos traders will not be held responsible for the misbehaviours/damage caused by the GENERAL TERMS &amp; CONDITIONS</li>
	<li>individual while on the tour</li>
	<li>Sostraders advise all the customer to buy travel insurance&nbsp; additionally through sostraders sales desk agent before departuring the tour.</li>
	<li>Comfortable transportation will be given on the private/SIC through car/Van/Minibus/Bus depending upon the customer group size for the particular package.</li>
	<li>Sos traders has got full right to change the Itineraries for the required circumstances. The changes in cost and itineraries will informed immediately. Amount will be refunded according to the refund policy if raised by customer</li>
	<li>Probelems faced by the customers should be informed immediately to the hotel/transport provider/tour manager/sostraders.</li>
	<li>No boarding, drinks and beverages wll be given during the train/Flight travel as per package category</li>
	<li>All the customers who are under group tour not allowed to go seperately or extending the tour without proper intimation.</li>
	<li>For Train transport only sleeper class is included in all the packages. unless other wise if the customer shows specific interest to have Secon/third AC tier will be given with extra charges only.</li>
	<li>EXCLUDED</li>
	<li>&nbsp;&nbsp;&nbsp; Entrance fee for Adventure, watersport,park,cable&nbsp;&nbsp; car, winter cloth,Rental, laundryetc. Auto, local&nbsp; transport, beverages and drinks during Bus/ Train &nbsp;travels except the item mention in the package</li>
</ul>

<p>CANCELLATION POLICY

<ul style="list-style-type: circle">
	<li>No refund of Advance if cancelled by individual</li>
	<li>7days before 10% of tour amount refunded</li>
	<li>15 days before 50% of tour amount refunced</li>
	<li>30 days before 100% minusing the advance amount</li>
	<li>will refunded</li>
</ul>						
    	<p class="h dif xlarge b mb5px">Kerala Wayanad</p>
    	<div class="otherDetails aj">Tour cost may vary according the customer's requirements</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">ON DEMAND</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.shareoursource.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Kerala Wayanad 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="64865"/>
						</form>
						</div>
						
						";i:1;s:58:"Book Kerala Wayanad Tour - 4 Nights / 5 Days Tour Packages";i:2;s:139:"book kerala wayanad tour - 4 nights / 5 days tour packages, valley tour packages, kochi, kozhikode calicut, wayanad, thrissur tour packages";i:3;s:195:"Book Kerala Wayanad Tour - 4 Nights / 5 Days tour packages from Share Our Source Traders - Get attractive 4 Nights / 5 Days Valley  tour packages for  Kochi, Kozhikode Calicut, Wayanad, Thrissur.";i:4;s:637:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kochi, Kozhikode Calicut, Wayanad, Thrissur"        
		                 },
		      "description": "Concession For Group More Than 15Flight/ Train ticket (optional)
All the Entrance Fees
Local conveyance where our transport is not allowed
Tips and laundry
Special and personel additional requirement",
		      "name": "Kerala Wayanad Tour",
		      "telephone": "+91-9444728610"
		    }
		    </script>
			";i:5;N;}