a:6:{i:0;s:11519:"				<div class="h1"><h1>Incredible Andaman Tour 8 Nights 9 Days</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.andamanleisure.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamanleisure.co.in/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Incredible Andaman Tour 8 Nights 9 Days</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">Duration </td>
						<td class="p5px pl0px vat">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Port Blair</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.andamanleisure.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Incredible Andaman Tour 8 Nights 9 Days - 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="84326"/>
						</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_1/26949/148755.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/26949/148755.jpg"  width="150" height="150"    alt="Incredible Andaman Tour 8 Nights 9 Days" title="Incredible Andaman Tour 8 Nights 9 Days" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Arrival at Airport+Corbyn Cove+Light & Sound
								</p>
								<p class="aj">On arrival you will be received by our representative at Veer Savarkar Airport, Port Blair & will be moved to Port Blair Hotel for check-in. Later you will visit Corbyn cove beach followed by a visit for Light & Sound Show at Cellular Jail, where the saga of Kalapani martyrs was written. Overnight at Port Blair.</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> North Bay + Ross Island tour
								</p>
								<p class="aj">After breakfast, full-day excursion to Coral Island (North Bay) to see coral reefs, varieties of beautiful ornamental fish and other marine life. This is an ideal place for snorkelling as this sandy beach coupled with clear water creates a breath-taking spectacle. Please carry your drinking water & changing dress. After that proceed for Ross Island, the former residential and administrative island of the British during their rule of South East Asia, was nick named the Paris of the East. This island is an ideal destination for nature walk amidst sylvan surroundings with deers, peacocks, exotic birds, etc. This island was completely destroyed in an earthquake, now in ruins. Evening is free for leisure. Overnight stay at Port Blair.</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> Port blair – Neil
								</p>
								<p class="aj">After early morning Breakfast check out from Hotel & leave for this marvelous Island having plenty of marine life, Neil Island in Andaman is an ideal location for eco-tourism. Neil Island is triangularly shaped with lush green surroundings of paddy fields, banana plantations and tropical trees. Many natural beaches and attraction like Howra Bridge, a natural bridge formation makes this Island a much sought after picnic spot. The sandy beaches at Sitpur, Bharatpur and Lakshmanpur are very attractive for spending holidays. Tourists who like to spend vacations in an eco-friendly locale will find this Island an ideal spot. The breathtaking view of the sea and the lush greenery really is rejuvenating and enjoyable for enthusiastic travelers. Evening is free for leisure. Overnight stay at Neil Island.</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> Neil – Havelock
								</p>
								<p class="aj">This morning Check-out from the hotel & transfer to the Neil Jetty to take a ferry to Havelock Island. On arrival at Jetty you will be transferred to you rpre-booked hotel. Enjoy the afternoon at the World Famous and Asia’s best beach “Radha Nagar Beach” (Beach number 7), dont miss the mesmerizing Sunset at its shore. Evening is free for leisure. Overnight stay at Havelock.</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> Havelock sightseeing
								</p>
								<p class="aj">After breakfast, you will proceed for an excursion to Elephant Beach, by a dungi (small boat), you will be offered to snokell here. Later return to hotel by late afternoon. Overnight at Havelock.</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> Havelock – Port Blair
								</p>
								<p class="aj">After breakfast check out from the hotel, transfer your luggage to Hotel cloak room. Day at leisure. In the afternoon, you will proceed to take the jetty for onward ferry to Port Blair. On arrival at Port Blair Jetty, you will be transferred to your hotel. Evening free for leisure. Overnight stay at Port Blair.</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> Day Trip – Baratang Island with Mud Volcano & Limestone Caves
								</p>
								<p class="aj">Early morning departure to Baratang.(dedicated vehicle for your group only). It holds the natures best treasures gifted to the Islands. The Road journey from Port Blair to Baratang is through a dense jungle, enroute you can see the oldest tribes of India, Jarawas, if you are lucky enough. Later visit Limestone caves and Mud volcano. Evening return back to Port Blair. Overnight stay at respective Hotel / Resort at Port Blair.</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> Port Blair City Tour
								</p>
								<p class="aj">After breakfast, full-day “City Tour” of Port Blair – covering Cellular Jail, Chatham Saw Mill (one of the oldest & largest in Asia, Anthropological Museum, Naval Marine Museum (Samudrika), Afternoon free for shopping and other personal activities. In the evening witness the enthralling Sound and Light Show at Cellular Jail – where the heroic saga of the Indian freedom struggle is brought alive. Overnight stay at Port Blair.</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> Departure from Airport
								</p>
								<p class="aj">After Breakfast, check-out from Hotel & proceed to Sagarika (if time permits) to collect the Souvenir for your kiths and kins, before finally bidding adios to this memorable trip to this beautiful Island, with colorful memories</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>
															</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.andamanleisure.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Incredible Andaman Tour 8 Nights 9 Days - 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="84326"/>
						</form>
						</div>
						
						";i:1;s:78:"Book Incredible Andaman Tour 8 Nights 9 Days - 8 Nights / 9 Days Tour Packages";i:2;s:137:"book incredible andaman tour 8 nights 9 days - 8 nights / 9 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:194:"Book Incredible Andaman Tour 8 Nights 9 Days - 8 Nights / 9 Days tour packages from Andaman Leisure Pvt. Ltd. - Get attractive 8 Nights / 9 Days Beach and Islands  tour packages for  Port Blair.";i:4;s:421:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "Incredible Andaman Tour 8 Nights 9 Days",
		      "telephone": "+91-9476010441"
		    }
		    </script>
			";i:5;N;}