a:6:{i:0;s:18427:"				<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-->				
									<div class="h1"><h1>Best of Cochin with Ramada Kochi Resort - 3 Nights Ex Hyderabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.airboneholidays.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.airboneholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Best of Cochin with Ramada Kochi Resort - 3 Nights Ex Hyderabad</p> 
									
						<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> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Kochi</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 14400 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.airboneholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of Cochin with Ramada Kochi Resort - 3 Nights Ex Hyderabad - 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="197847"/>
						</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_27/788499/316555.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_27/788499/316555.jpg"  height="150"  width="150"    alt="Best of Cochin with Ramada Kochi Resort - 3 Nights Ex Hyderabad" title="Best of Cochin with Ramada Kochi Resort - 3 Nights Ex Hyderabad" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								3 Nights Cochin<br />
 Origin City: Hyderabad<br />
 Places Covered: Cochin								</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> Kochi
										</p>
										<p class="aj">Arrive Kochi</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> Kochi
										</p>
										<p class="aj">Kochi stay in 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> Kochi
										</p>
										<p class="aj">Kochi</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> departure
										</p>
										<p class="aj">departure</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>CP (Room + Breakfast)</li>
																						<li>Hotel</li>
																				<li>2 Night Stay in Ramada Kochi Resort</li><li>
Daily Breakfast</li><li>
One way flight from Hyderabad</li><li>
Flight offered - GoAir</li><li>
10% discount on Food</li><li>
10% discount on spa</li><li>
10% discount on Laundry</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Visa and Travel Insurance</li><li>
Any expenses of personal nature</li><li>
Tips and porterage</li><li>
Meals other than that what is mentioned in your itinerary.</li><li>
Package cost 5 Star</li><li>
Per Person(min 2 pax required) 14400</li><li>
Destination No of Nights 5 Star</li><li>
Cochin 3 Ramada Cochin Resort /</li><li>
similar hotels</li><li>
Any services not mentioned in the inclusions list</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Package valid only for Indian nationals.</li><li>
Flight rates are subject to availibility at the time of booking</li><li>
Rooms and rates are subject to availability at the time of booking</li><li>
It is mandatory for guests to present valid photo identification at the time of check-in.</li><li>
Right of admission to every Hotel is subject to individual Hotel policy. Accommodation to guests may be</li><li>
denied by the Hotel, if adequate proof of identity is not submitted at the time of check-in. Guest may be</li><li>
required to provide a valid photo-id card in originals and /or any other document as per the hotel policy</li><li>
including but not limited to Passport, Driving License, Voter ID Card etc. Note- PAN Cards will not be</li><li>
accepted as a valid ID card. Foreign Nationals are required to carry their original passport along with a</li><li>
valid visa. Via shall not be responsible for any declination in admission of guests at the time of check-in,</li><li>
by the Hotel, for any reason whatsoever.</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</li><li>
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</li><li>
suitable proof of identification is not presented at check-in. Via.com will not be responsible for any checkin 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>
Any cost arising due to natural calamities like, flood, landslides, road blockage, political disturbances</li><li>
(strikes), etc to be paid by the client, which is directly payable on the spot.</li><li>
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land</li><li>
arrangements, which may come into effect prior to departure to be paid by guest</li><li>
Any claim or complaint by the Traveller must be notified to</li><li>
 the company in writing within 07 days of the end of their holiday tour.</li><li>
No claim notified to this company beyond this period will not be entertained</li><li>
and the company shall incur no liability whatsoever in respect thereof.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>14400</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 								<div class="data mt20px p15px">            
							<div class="mb7px"> 
							<p class="b xlarge mb10px dib">Note</p>
							</div>
									
							<ul><li>We are not holding any rooms or airline seats as of now and above mentioned is quote only , subject to availability at the time of confirmation .</li><li>
First preference will be given to mentioned hotels for reservation. In case of non-availability of these hotels we shall</li><li>
advise the similar or next available option with supplement cost .</li><li>
Itinerary provided is just suggestive and the sightseeing will be done as per availability.</li><li>
In case of no show or late cancellation after reconfirmation charges applicable as per the Hotels Policy and other vendors policy.</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>45 To 30 Days prior to departure - 30%</li><li>
30 Days To 15 Days - 70% of the Total cost</li><li>
15 Days or Less - 100 % of the Total Cost</li><li>
Same cancellation policy will apply for postponements of bookings or in case of change of hotels during</li><li>
the progress of tour</li><li>
Cancellation charges would vary during peak and high travel season</li><li>
Bank transaction charges on credit card/net banking will not be refunded</li><li>
This policy may vary during Apr, May and Jun months, Diwali / Dussehra and New Year period and Long</li><li>
Weekends.</li><li>
No refund will be provided for unutilized services provided in the package</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.airboneholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of Cochin with Ramada Kochi Resort - 3 Nights Ex Hyderabad - 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="197847"/>
						</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.airboneholidays.com/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.airboneholidays.com/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.airboneholidays.com/kumarakom-tour-packages.htm" title="Kumarakom Tour Packages">Kumarakom</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.airboneholidays.com/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.airboneholidays.com/varkala-tour-packages.htm" title="Varkala Tour Packages">Varkala</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.airboneholidays.com/coorg-tour-packages.htm" title="Coorg Tour Packages">Coorg</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.airboneholidays.com/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</a> <b class="alpha50 bn small">(1)</b></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.airboneholidays.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.airboneholidays.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Kochi</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.airboneholidays.com/holiday-packages/happiness-returns-bestof-kerala-package-for5-days3-star.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_27/788499/316556.jpg"  height="100"  width="100"    alt="Happiness Returns - Best Of Kerala Package for 5 Days (3 Star)" title="Happiness Returns - Best Of Kerala Package for 5 Days (3 Star)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.airboneholidays.com/holiday-packages/happiness-returns-bestof-kerala-package-for5-days3-star.htm" title="Happiness Returns - Best Of Kerala Package for 5 Days (3 Star)"><h3>Happiness Returns - Best Of Kerala Package..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 12800</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Kumarakom, Kochi, Alleppey, Varkala</p>
															<div class="mt10px small">
							<form name="pkg_197848" id="pkg_197848" method="post" action="http://www.airboneholidays.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.airboneholidays.com/holiday-packages/happiness-returns-bestof-kerala-package-for5-days3-star.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Happiness Returns - Best Of Kerala Package for 5 Days (3 Star) - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="197848"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:102:"Book Best of Cochin with Ramada Kochi Resort - 3 Nights Ex Hyderabad - 3 Nights / 4 Days Tour Packages";i:2;s:151:"book best of cochin with ramada kochi resort - 3 nights ex hyderabad - 3 nights / 4 days tour packages, hill station tour packages, kochi tour packages";i:3;s:175:"Airbone offers Best of Cochin with Ramada Kochi Resort - 3 Nights Ex Hyderabad - 3 Nights / 4 Days tour package, budget Hill Station tour packages for Kochi at exciting price.";i:4;s:505:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Kochi"        
		                 },
		      "description": "3 Nights Cochin
 Origin City: Hyderabad
 Places Covered: Cochin",
		      "name": "Best of Cochin with Ramada Kochi Resort - 3 Nights Ex Hyderabad",
		      "telephone": "+91-8296977059"
		    }
		    </script>
			";i:5;N;}