a:6:{i:0;s:10332:"				<div class="h1"><h1>Exotic Andaman Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.geetcompany.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Exotic 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_1/22362/54810.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/22362/54810.jpg"  width="150" height="150"    alt="Exotic Andaman Tour" title="Exotic Andaman Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Tour Code :</b> 104</p>
												<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Blair</p>
												<p><b>Price (Starting From) :</b>						
						INR 13500 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Exotic 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="27947"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
											<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: Arrive Port Blair
									</p>
									<div class="data p10px">Arrival at Port Blair Airport & move to the hotel with our envoy. After lunch start the breathtaking trip to Corbyns Cove Beach, one of the most picturesque, coconut palm fringed beach, 7 kms away from Port Blair town, and to the Cellular Jail, a place of pilgrimage for all freedom loving people. One can also view the history of the heroic freedom struggle which is brought alive in a moving Light & Sound Show at the Cellular Jail. Overnight at hotel.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Port Blair - Havelock : By Ferry
									</p>
									<div class="data p10px">After Breakfast departure by Govt Ferry (54 kms by sea from Port Blair). Enjoy your afternoon at the World Famous Radhanagar Beach (Beach number 7). Overnight stay at respective Hotel / Resort at Havelock Island.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Havelock - Neil island : By Ferry
									</p>
									<div class="data p10px">Depart to Neil Island by inter-island ferry (30 kms by sea from Havelock), an island with clear turquoise sea and white sand beaches. Check in to your hotel. Post breakfast visit Sitapur viewpoint. Then go to Bharatpur Beach, one of the most beautiful beaches in Andaman. You can take a ride in a glass bottomed boat to see under water corals and marine life (Optional - extra cost). Late afternoon visit the Laxmanpur Beach 2 to view the natural coral bridge and also go to LaxmanpurBeach1 to view the sunset. Evening free or at own. Overnight in Neil Island.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Neil island - Port Blair
									</p>
									<div class="data p10px">After a leisure breakfast, check out from the hotel departs from Neil Island. Check- in in to hotel Overnight Stay at Port Blair & Evening Shopping. Overnight at Port Blair.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Port Blair
									</p>
									<div class="data p10px">After breakfast, proceed to Ross Island, the erstwhile capital of Port Blair during the British regime. The island presently houses the ruins of old buildings like Chief Commissioner’s House, Government House, Church, Bakery, Press, Swimming Pool, Cemetery, etc. and all in dilapidated condition. After lunch proceed for the sightseeing tour in and around the city like Fisheries Museum (Aquarium) - exhibits species of marine life peculiar to the islands, Anthropological Museum - displays tribal essential and artifacts’, Naval Marine Museum (Samudrika) - gives a good retrospect of the history, shells, Corals marine life, geography and archaeology of these islands. Overnight at Port Blair</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Port Balir - Departure
									</p>
									<div class="data p10px">After Breakfast transfer to airport to board flight from Port Blair.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Port Blair<br />
<br />
Port Blair, the gateway to the pristine islands, is the capital of Andaman & Nicobar Islands. A typical small Indian city, where people of diversified cultures and religion live together in peace and harmony. With over 5 tribes and many religions, it is incredible how Port Blair has never faced any religion/region based conflicts ever. With households celebrating every festival, whether big or small, together, with pomp and vigour, this city can undoubtedly be called Mini-India.<br />
<br />
Havelock<br />
<br />
This island, with beautiful sandy beaches fringed with green canopy of the rain forest beckons every one to enjoy the fun at the azure sea. Vijayanagar beach, 5 Kms. away from the jetty on the eastern side and Elephant beach, 10 Kms. from the jetty (including trekking through the forest) on the north western part of the island are other breathtaking beaches. Havelock is connected by daily speed boat services from Port Blair.<br />
<br />
Neil island<br />
<br />
This island known as the ‘vegetable bowl’ of Andaman Islands for its quality and quantity of agricultural produce, Neil Island is a small settlement 36kms from Port Blair and takes around 2 hours by sea. It also has a decent cattle population and is known for milk production, most of which gets transported to the capital city. Neil Island is yet another place which is considered ideal for eco-tourism owing to the lush green paddy fields, banana plantations and tropical trees. Neil Island is being considered as another ‘Havelock in the making’. But we really leave it up to you to decide.(Ross Island and City Tour centers are closed on Wednesday and Monday respectively, itinerary will be shuffled in that case.)<br />
Personal Expense Such Telephonic calls, Camera, Laundry charges, Internet, Tips, etc<br />
Vehicle will not be at disposal.<br />
Any extra excursion or sightseeing apart from the Suggested tour itinerary<br />
Guide charges,Camera Tickets are not included<br />
Cost for any other service not mentioned under the "Inclusions" head.<br />
Difference in cost arising due to change in Taxes by the Government which will<br />
have to be collected directly ON ARRIVAL.<br />
Difference in cost arising due to mishaps, political unrest, natural calamities like<br />
landslides, road blockage, etc. In such case extra will have to be paid on the spot by the guest directly.<br />
Service tax will be extra01-1031-03							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Transport</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>(Ross Island and City Tour centers are closed on Wednesday and Monday respectively, itinerary will be shuffled in that case.)</li><li>
Personal Expense Such Telephonic calls, Camera, Laundry charges, Internet, Tips, etc</li><li>
Vehicle will not be at disposal.</li><li>
Any extra excursion or sightseeing apart from the Suggested tour itinerary</li><li>
Guide charges,Camera Tickets are not included</li><li>
Cost for any other service not mentioned under the "Inclusions" head.</li><li>
Difference in cost arising due to change in Taxes by the Government which will</li><li>
have to be collected directly ON ARRIVAL.</li><li>
Difference in cost arising due to mishaps, political unrest, natural calamities like</li><li>
landslides, road blockage, etc. In such case extra will have to be paid on the spot by the guest directly.</li><li>
Service tax will be extra</li></ul><br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:58:"Book Exotic Andaman Tour - 5 Nights / 6 Days Tour Packages";i:2;s:117:"book exotic andaman tour - 5 nights / 6 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:148:"Geet & Company offers Exotic Andaman Tour - 5 Nights / 6 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:2755:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "Port Blair

Port Blair, the gateway to the pristine islands, is the capital of Andaman & Nicobar Islands. A typical small Indian city, where people of diversified cultures and religion live together in peace and harmony. With over 5 tribes and many religions, it is incredible how Port Blair has never faced any religion/region based conflicts ever. With households celebrating every festival, whether big or small, together, with pomp and vigour, this city can undoubtedly be called Mini-India.

Havelock

This island, with beautiful sandy beaches fringed with green canopy of the rain forest beckons every one to enjoy the fun at the azure sea. Vijayanagar beach, 5 Kms. away from the jetty on the eastern side and Elephant beach, 10 Kms. from the jetty (including trekking through the forest) on the north western part of the island are other breathtaking beaches. Havelock is connected by daily speed boat services from Port Blair.

Neil island

This island known as the ‘vegetable bowl’ of Andaman Islands for its quality and quantity of agricultural produce, Neil Island is a small settlement 36kms from Port Blair and takes around 2 hours by sea. It also has a decent cattle population and is known for milk production, most of which gets transported to the capital city. Neil Island is yet another place which is considered ideal for eco-tourism owing to the lush green paddy fields, banana plantations and tropical trees. Neil Island is being considered as another ‘Havelock in the making’. But we really leave it up to you to decide.(Ross Island and City Tour centers are closed on Wednesday and Monday respectively, itinerary will be shuffled in that case.)
Personal Expense Such Telephonic calls, Camera, Laundry charges, Internet, Tips, etc
Vehicle will not be at disposal.
Any extra excursion or sightseeing apart from the Suggested tour itinerary
Guide charges,Camera Tickets are not included
Cost for any other service not mentioned under the "Inclusions" head.
Difference in cost arising due to change in Taxes by the Government which will
have to be collected directly ON ARRIVAL.
Difference in cost arising due to mishaps, political unrest, natural calamities like
landslides, road blockage, etc. In such case extra will have to be paid on the spot by the guest directly.
Service tax will be extra01-1031-03",
		      "name": "Exotic Andaman Tour",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;}