a:6:{i:0;s:10926:"				<div class="h1"><h1>Amazing Andaman Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.saiandamanholidays.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.saiandamanholidays.in/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Amazing Andaman Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_14/401679/111742.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401679/111742.jpg"  width="150" height="150"    alt="Amazing Andaman Tour" title="Amazing Andaman Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Blair</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.saiandamanholidays.in/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="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="59163"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Fly in to Port Blair Airport
									</p>
									<div class="data p10px">Our representative will meet and assist you at the Veer Savarkar Airport. Board the waiting vehicles, drive to your hotel and check in. Our representative will assist to do Hotel Check in formalities. First half of the day is at leisure. After lunch, visit the Corbyns Cove Beach - 9 kms from Port Blair - a coconut palm fringed beach, ideal for swimming, sun-basking & bathing.  Then proceed for a leisurely cruise (Harbour Cruise) in a steamer along the Port Blair Harbour - which takes one to Viper Island. The gallows atop a hillock here is sight to watch</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Port Blair - Coral Island + Ross Island - Port Blair
									</p>
									<div class="data p10px">Start after breakfast for a full-day Excursion to North Bay (Coral Island) - to see coral reefs, exotic varieties of beautiful ornamental fishes and other marine life. Optional Activities - Snorkeling, Glass Bottom Boat Ride, Swimming & Trekking. Visit Ross Island - from where the Britishers' governed the entire A&N islands, prior to India’s Independence. This island is an ideal destination for nature walk amidst sylvan surroundings with deers, peacocks, exotic birds, etc</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Port Blair - Havelock
									</p>
									<div class="data p10px"> Early morning after breakfast you will be transferred to Phoniex bay Harbour. Head to Havelock Island by Luxury Catamaran M V MAKRUZZ / GOVT FERRY to Havelock Island (57 kms by sea from Port Blair). In Havelock Island our Company’s representatives will be there to meet you at the Harbour. Our company’s vehicle will take you to the Radhanagar Beach. Radhanagar Beach is situated 12kms from Havelock ferry pier is undoubtedly one of the best beaches of Andaman Islands. Fine white sand, turquoise blue waters and a lot of peace and serenity are the hallmark of this beautiful landmass. Sunsets here are often spectacular and it's a popular time to be at the beach. By evening return back to the hotel and stay overnight amongst sandy beach and lush green forest in a comfortable beach resort.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Havelock - Port Blair
									</p>
									<div class="data p10px">Morning after check out from the hotel keep your luggage in the hotel cloak room and visit to Kala Pathar Beach. Return from there and collect your luggage and after lunch proceed to Harbour for return ferry + Return from Havelock to Port Blair by Luxury Catamaran M V MAKRUZZ / GOVT FERRY in the afternoon & transfer to hotel.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Port Blair - Red skin / Jolly Buoy Island - Port Blair
									</p>
									<div class="data p10px">After a hearty breakfast, start for Mahatma Gandhi Marine National Park at Wandoor from where ferry leaves to Jolly Buoy / Red Skin Island. Jolly Buoy Island / Red Skin Island offer a remarkable sight of underwater marine and coral life. Glass bottom boats give you a closer look at the coral colonies. Carry swim suits or other clothes apt for Snorkeling. This island is a no plastic zone.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Port Blair
									</p>
									<div class="data p10px">After breakfast, start for a full-day tour of places in & around Port Blair (City Tour) - covering the famous Cellular Jail, Saw Mill (one of the oldest & largest in Asia), Forest Museum, Anthropological Museum, Fisheries (Marine) Museum, Naval Marine Museum (Samudrika), Andaman Water Sports Complex (for water & adventure sports like water-skiing, boats, water scooters, tube rides, etc.) and the Cottage Industries Emporium (Sagarika) - for shopping & souvenirs. In the evening, attend the enthralling Sound and Light Show at Cellular Jail - where the heroic saga of the Indian freesdom struggle is brought alive.</div>					
										<p><b>Meals : </b> Breakfast</p>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 7: Depart Port Blair
									</p>
									<div class="data p10px">Transfer to Airport to board the flight to your destination, with happy memories of your trip in Andaman.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Expenses of personal nature such as tips, telephone calls, laundry, liquor etc.<br />
Any deviation from the route map.<br />
Any other item not specified in cost included.<br />
Any food other than the plan chosen.<br />
Guide and entrance fees during Sightseeing.<br />
Air fare / Train fare.<br />
Medical Insurance.<br />
Any optional activities like water sports etc. However, if you are interested in any of these activities, we can guide and arrange for the same with the supplementary charges<br />
Lunch & Dinner is as per the meal plan. <br />
Vehicle at disposal.<br />
Any Extra excursions apart from the suggested itinerary.<br />
Personal expenses.<br />
Expenses occurred due to bad weather, Flight or ferry cancellation, strike or any political unrest to be paid by guest as per actual.							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Sightseeing</li>
																				<li>Transfers</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>Expenses of personal nature such as tips, telephone calls, laundry, liquor etc.</li><li>
Any deviation from the route map.</li><li>
Any other item not specified in cost included.</li><li>
Any food other than the plan chosen.</li><li>
Guide and entrance fees during Sightseeing.</li><li>
Air fare / Train fare.</li><li>
Medical Insurance.</li><li>
Any optional activities like water sports etc. However, if you are interested in any of these activities, we can guide and arrange for the same with the supplementary charges</li><li>
Lunch & Dinner is as per the meal plan. </li><li>
Vehicle at disposal.</li><li>
Any Extra excursions apart from the suggested itinerary.</li><li>
Personal expenses.</li><li>
Expenses occurred due to bad weather, Flight or ferry cancellation, strike or any political unrest to be paid by guest as per actual.</li></ul><br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						~^#^~~^#^~<ul>
	<li>
	<p align="justify" style="widows: 8; page-break-inside: avoid;"><font color="#000000"><font face="Arial, serif"><span lang="en-IN"><b>Check out time for most of the hotels mentioned is 0700 hrs.</b></span></font></font>
	</li>
	<li>
	<p align="justify" style="widows: 8; page-break-inside: avoid;"><font color="#000000"><font face="Arial, serif"><span lang="en-IN"><b>Please note that our representative will hold placard with your name/travels name just outside the exit gate of the Terminal.</b></span></font></font>
	</li>
	<li>
	<p align="justify" style="widows: 8; page-break-inside: avoid;"><font color="#000000"><font face="Arial, serif"><span lang="en-IN"><b>The vehicle used will be exclusive for the couple / group and it will be as per contract &amp; will change as advised / mentioned.</b></span></font></font>
	</li>
	<li>
	<p align="justify" style="widows: 8; page-break-inside: avoid;"><font color="#000000"><font face="Arial, serif"><span lang="en-IN"><b>Online rates are subject to change in case of change in hotel rates, transport rates, Government taxes etc.</b></span></font></font>
	</li>
</ul>						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></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:170:"Book Amazing Andaman Tour - 6 Nights / 7 Days tour packages from Sai Andaman Holidays - Get attractive 6 Nights / 7 Days Beach and Islands  tour packages for  Port Blair.";i:4;s:1165:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "Expenses of personal nature such as tips, telephone calls, laundry, liquor etc.
Any deviation from the route map.
Any other item not specified in cost included.
Any food other than the plan chosen.
Guide and entrance fees during Sightseeing.
Air fare / Train fare.
Medical Insurance.
Any optional activities like water sports etc. However, if you are interested in any of these activities, we can guide and arrange for the same with the supplementary charges
Lunch & Dinner is as per the meal plan. 
Vehicle at disposal.
Any Extra excursions apart from the suggested itinerary.
Personal expenses.
Expenses occurred due to bad weather, Flight or ferry cancellation, strike or any political unrest to be paid by guest as per actual.",
		      "name": "Amazing Andaman Tour",
		      "telephone": "91-9538031728/8001435933/9620231698"
		    }
		    </script>
			";i:5;N;}