a:6:{i:0;s:11244:"				<div class="h1"><h1>Amazing Andaman Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.amenityworldholidayz.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.amenityworldholidayz.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Amazing Andaman 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">Duration </td>
						<td class="p5px pl0px vat">
						6 Nights / 7 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.amenityworldholidayz.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Amazing Andaman 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="49365"/>
						</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/388058/96306.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/388058/96306.jpg"  width="150" height="150"    alt="Amazing Andaman Tour" title="Amazing Andaman Tour" /></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 Port Blair
								</p>
								<p class="aj">As you arrive at the Port Blair Airport, our tour representative helps you with an assisted transfer to the resort/hotel. Complete the check-in formalities and then relax for a while in your rooms before you embark for sightseeing. Afterwards, get all set for visiting the popular attractions of Port Blair, a lovely bustling town of Andaman and is also the provincial capital. Explore Anthropological Museum- housing a collection of things such as art, models, tools and handicraft items belonging Andaman's aboriginal tribes; Cellular Jail- formerly a Jail used by the British to put freedom fighters behind the bars; Fisheries Museum- home to around 350 species of marine life that can be found in Indo-Pacific Ocean and Bay of Bengal and Science Center, comprising of portable planetarium, Taramandal, green science parks, an exhibition area, a quiz area and more. The last visit of the day is to the Corbyns Cove beach- less frequented beach of tourists, ideal for seclusion-seekers looking for serenity. The evening is scheduled for the Light and Sound Show at Cellular Jail, depicting the story of the freedom struggle brought alive.<br />
Stay overnight.</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> Port Blair - Ross Island - North Bay Island (Coral Island)
								</p>
								<p class="aj">Post breakfast on the 2nd day, enjoy a full day excursion to Ross Island and North Bay (Coral Island). Firstly, embark on a boat to arrive at Ross Island, blessed with lovely scenery, it is the former capital of various Andaman Islands and also the erstwhile site for Japanese POW camps. After exploring Ross Island, get transferred to Northbay Island (Coral Island) –famed for under water corals. The place is fir snorkeling and scuba diving. Get into a glass bottom boat for having a view at the underwater marine life. Both the islands boast of immensely beautiful scenery.<br />
Night stay in 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 - Havelock Island
								</p>
								<p class="aj">On day 3 of the tour, get ready to visit the very beautiful and tranquil Havelock Island. Board a ferry to arrive at Havelock from Port Blair. On reaching, meet our tour representative who helps you with an assisted transfer to your resort. After the check-in formalities, you are free to explore the island on your own and indulge in the activities of your interest. Popular for its crystal clear water and white sandy beaches, the island is known for offer superb opportunities for snorkeling, scuba diving and kayaking. You are going to love spending time here. Savor the natural scenery and tranquility that is spread all around. Enjoy elephant swimming and trekking here. The experiences are going to be matchless. Stay 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 4:</b> Havelock Island
								</p>
								<p class="aj">Have your breakfast and move to the very popular Radhanagar Beach, popular as the 'best beach of Asia' and 'number 7 beach in the world' (by Times Magazine). This picture perfect beach is ideal for leisure walk and relaxing. Just lie down and bask in the glory of the shining sun. Partake in activities like swimming and sea bathing. Do not miss the lovely sunset views here. Spend memorable moments with your loved ones here. 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 - Port Blair
								</p>
								<p class="aj">After Breakfast on the 5th day of the tour, enjoy a visit to Elephant Beach, a popular beach of Havelock Island for a day's trip. The blue and green water, exotic marine life and wonderful corals are the best features if this place. You are going to have an amazing underwater experiences. Try your hand snorkeling here or just relax at the beach. Treat your eyes to the lovely views here.In the evening, back to 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 6:</b> Port Blair - Mount Harriet - Port Blair
								</p>
								<p class="aj">Today, after breakfast, get ready for a visit to Mount Harriet, the highest peak in the South Andaman's, around 365 m high. An amazing place to simply relax while relishing panoramic views of the Sea and the nearby islands. The peak was the summer headquarters of the British Chief Commissioner before Independence. You can also visit the Mount Harriet National Park, home to 90 avifauna species, 12 mammal species, 120 kinds of moths and, 27 species of amphibians and reptiles.<br />
<br />
Back to Port Blair. The evening is scheduled for shopping. Collect souvenirs and gifts for your loved ones. You can get your hands on Nicobari items such as walking sticks and trays, made from wood.do not miss buying anklets and trinklets made from sea shells. Buying handicrafts is a must. Stay overnight.</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> Departure From Port Blair - Airport Dropping
								</p>
								<p class="aj">On the last day, get an assisted transfer to the Airport.</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>Sightseeing</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.amenityworldholidayz.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Amazing Andaman 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="49365"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Amazing Andaman Tour - 6 Nights / 7 Days Tour Packages";i:2;s:118:"book amazing andaman tour - 6 nights / 7 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:157:"Amenity World Holidayz offers Amazing Andaman Tour - 6 Nights / 7 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:402:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "Amazing Andaman Tour",
		      "telephone": "+91-9827239142"
		    }
		    </script>
			";i:5;N;}