a:6:{i:0;s:14773:"				<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>5 Nights and 6 Days Tour Package</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.andamancoralinn.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamancoralinn.in/packages.htm" title="Packages">Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>5 Nights and 6 Days Tour Package</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> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> South Andaman</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.andamancoralinn.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="5 Nights and 6 Days 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="194974"/>
						</form>
						
												</p>
											</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> Cellular Jail Visit +Corbyns Cove+ Light and Sound Show+ Night Stay in Port Blair.
										</p>
										<p class="aj">. <br />
Arrival at Veer Savarkar International Airport .You will be received by our tour coordinator and then escorted to your well placed hotel . Tour expedition taken to the Cellular Jail where the <br />
<br />
 +essence of the freedom struggle once again ignites with your step into the red bricked structure. Once the stroll around the national memorial ends you would Taken to Corbyns Cove Beach and After that attend the light and sound show (Hindi/English) at the Cellular jail campus in the evening 6pm to 7pm / 7.15pm to 8.15pm. Once the show ends you would be escorted back to the hotel along with a sumptuous feast to your taste buds of the various cuisines provided by the</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> Havelock Transfer + Radhanagar Beach + Night Stay in Havelock.
										</p>
										<p class="aj">With packed breakfast start at 7.00 am and proceed to Phoenix bay jetty which is an approximate 10 min drive . Board in to the ferry for Havelock which departs at 8 am depending upon the schedule and reach Havelock at 10:00 am. During the voyage one can enjoy the scenic beautiful lush green forest mountain on one side and open sea on the other side. One can occasional witness flying fishes and dolphins on either side of the ferry. Ferry takes around 2 hrs to reach one of the most beautiful islands provided by the archipelago and the crystal clear water and lush environment just proves it to you. Our tour escort will welcome you in Havelock jetty and after a 10-15 min drive you can check in to your resort. After a short unwinding and lunch at around 3 pm it is time to start for Radha Nagar Beach . Radha Nagar Beach is rated among World’s top 10 Beaches and Asia’s best Beach that will take you around 25 min drive to reach . The beach is ideal for Swimming and Beach Walk. It is bounded by Lush green forest stand pale turquoise waters which just pounds your heart beat thumps a little harder. One can admire the picturesque scene that the beach presents at the time of sunset. The view is a perfect scattering of white light. Finally after imbibing nature’s ecstasy it is time to unwind at around 6 pm. Night stay with the isolation provided by the Havelock Island which proves to be a perfect get away.</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> Elephanta Beach + Leisure Evening + Night Stay in Havelock
										</p>
										<p class="aj">After breakfast at around 8 am proceed for Elephant beach which is 20 min speed boat ride from Havelock main harbour . Elephanta beach offers crystal clear water ideal for swimming and water sports activities like Jetskie ride , sofa ride , banana ride , blackeye , sea walk which can be paid on the spot counter if chosen to be done . Adventurist can indulge in scuba diving also before going to Elephanta beach in the time slot of 6 am to 8 am . Once the activities at elephant beach come to an end you will be received by our tour coordinator at the point of harbour and escorted back to the resort. . (Elephant beach is subject to weather conditions and in case of bad weather conditions the operations at elephant beach are brought to an immediate halt for safety and security of the guests, in such case refund of the activity is probable provided tickets are not booked . Night stay in Havelock. .</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>3 Star Hotel</li>
																						<li>Sightseeing</li>
																						<li>Transport</li>
																						<li>Transfers</li>
																						<li>Airport Pickup-Drop</li>
																						<li>Private Cab</li>
																						<li>Entry Tickets</li>
																						<li>Complimentary Drinks</li>
																						<li>Cab Transfer</li>
																						<li>Pickup-Drop</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Airfare</li><li>
water activities,</li><li>
lunch</li><li>
Dinner</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>50% Advance Percentage of total booking amount</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>1. In case tour gets blocked due to administrative reasons, upset weather, VIP visit, loss incurred like hotel expenses, tour expenses will have to be bear by the traveller and the travel agent should not be held responsible for any loss/extra expenses to further carry on the trip. </li><li>
 </li><li>
2. Places of visit like Ross Island, Red Skin Island, Jolly Buoy, North Bay, Baratang, Ross & Smith (in Diglipur), Havelock Island, Elephanta Beach, Neil Island and any other places which are not mentioned here but in the itinerary is subject to availability of tickets and hence travel agents reserves the right to cancel the particular trip on non availability of tickets/ or any other unavoidable circumstances. And appropriate refund of tickets to the cancelled destination will be entertained after certain deduction as per company norms. Hence under the occurrence of such circumstances travel agent should not be held responsible for any type of financial, career, emotional losses. </li><li>
 </li><li>
3. In case the hotel given in the itinerary is not liked by the traveller, then the traveller can change hotel at their own expense and the transportation charges from the existing hotel given in the itinerary to the selected hotel by traveller will have to be bear by the traveller. Thus travellers are requested to select the hotel wisely after going through various portals like Trip Advisor, Go IBIBO, concerned hotel websites, etc. Thus travel agent reserves the right to not to change the hotel as the name of the hotel is informed well in advance. Liking/disliking of the hotel is purely a personal choice where travel agent has no role to perform. </li><li>
 </li><li>
4. After booking, if there occurs any changes in the charges of tour logistics like private/government ferry from Port Blair to Havelock, Havelock to Neil, Neil to Port Blair, private ferry to Ross Island, North Bay, Jolly Buoy, Elephanta Beach, entry charges of museum, or any other tour charges not mentioned here but in itinerary, will have to be borne by the traveller. </li><li>
 </li><li>
5. In case of any changes in the government taxes after booking, extra expenses will have to be borne by the traveller. </li><li>
 </li><li>
6. Any dispute arises during the trip need to be registered to the concerned Govt. Authority in Andaman & Nicobar Islands during </li><li>
the trip and the same will not be entertained or stands valid after the end of the trip. And all legal/court processes will have to be</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.andamancoralinn.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="5 Nights and 6 Days 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="194974"/>
						</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.andamancoralinn.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(20)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamancoralinn.in/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamancoralinn.in/packages-in-genting.htm" title="Packages in Genting">Genting</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamancoralinn.in/packages-in-south-andaman.htm" title="Packages in South Andaman">South Andaman</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.andamancoralinn.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamancoralinn.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(21)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamancoralinn.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamancoralinn.in/water-scooters-holidays-catid.htm" title="Water Scooters Packages">Water Scooters</a> <b class="alpha50 bn small">(1)</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:71:"Book 5 Nights and 6 Days Tour Package - 5 Nights / 6 Days Tour Packages";i:2;s:133:"book 5 nights and 6 days tour package - 5 nights / 6 days tour packages, beach and islands tour packages, south andaman tour packages";i:3;s:180:"Book 5 Nights and 6 Days Tour Package - 5 Nights / 6 Days tour packages from Hotel Coral Inn - Get attractive 5 Nights / 6 Days Beach and Islands  tour packages for  South Andaman.";i:4;s:417:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "South Andaman"        
		                 },
		      "description": "",
		      "name": "5 Nights and 6 Days Tour Package",
		      "telephone": "+91-9434267010"
		    }
		    </script>
			";i:5;N;}