a:6:{i:0;s:40843:"				<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>Exotic Andaman ( ETT@102) Package</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.andamanemeraldtour.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.andamanemeraldtour.com/andaman-tour-packages.htm" title="Andaman Tour Packages">Andaman Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Exotic Andaman ( ETT@102) Package</p> 
										<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/196631.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/196631.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/196631.jpg"  alt="Exotic Andaman ( ETT@102) Package" title="Exotic Andaman ( ETT@102) Package" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Exotic Andaman ( ETT@102) Package</p>
					
											<p class="mb5px"><b>Tour Code :</b> ETT@102</p>
												<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Blair, Havelock</p>
												<p class="mb5px"><b>Attractions :</b> Cellular Jail</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px"><i class="fa fa-inr"></i> 16343						</p>
						<p class="xxsmall alpha50">Per Person</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.andamanemeraldtour.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Exotic Andaman ( ETT@102) Package - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="121679"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">01-0414-09</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 1:</b> Port Blair Airpick										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												10:00 AM	Airport Pickup<br />
Our representative will pick you up from the airport and drop you at your hotel. From this point your amazing journey for the incredible Andaman will begin. We know you will be very excited and eager to experience the scenic beauty of the exotic island. We will be equally enthusiastic in welcoming you to the emerald beach destination.<br />
01:30 PM	Cellular Jail<br />
Cellular Jail houses the rich history of Andaman and is a must see in Port Blair. It is a colonial prison built by Britisher's to exile Indian freedom fighters and political leaders. Jail has museums that reflect the sufferings and hardship of the prisoners. The place has the pride & patriotism in the air and will certainly make you enthusiastic.<br />
02:30 PM	Corbyns Cove<br />
The only beach around Port Blair is located at a distance of around 9kms and 20 mins from the city center. The beach is very famous for water sports activities and is a wonderful place to relax at. This beach has all the arrangements like rest chairs, changing rooms, restaurants etc.<br />
06:00 PM	Sound And Light Show<br />
This is a show of lights and sound conducted in Cellular Jail every evening that depicts the history of Andaman and the life of prisoners in the Cellular Jail. The show will fill your heart with patriotism. The show lasts around 30 mins and is conducted in both English and Hindi languages.<br />
Day At: Port Blair; Night At: Port Blair																											   
												<div class="mt10px">
												
																	
													<p>Meals : No</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 2:</b> Port Blair To Havelock Island										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												06:00 AM	Jetty Drop<br />
Our representative will receive you from the hotel and will drop you at the jetty.  Jetty is the place where boats/cruises halt (also known as Port), from here it takes and drops passengers and cargo from one place to another. Here you can find many sizes and varieties of ship starting from small slow boats for inter island journeys till multi layer cruise from different countries. Here you can take some memorable photographs, experience how boats operate and know the life style of localities. Keep your Id Proof ready in your hands along with ticket for security check.<br />
06:45 AM	Port Blair to Havelock Island by Green Ocean( Luxury )<br />
For any reasons, if the ticket for specified boat is unavailable then similar boat would be provided<br />
01:00 PM	Radhanagar Beach<br />
Radhanagar beach located at about 12km from jetty is also known as beach No.7. It is a beautiful Beach with amazing waves and perfect for swimming. It is constantly ranked as best beach in India and Asia. It’s a picture perfect beach with an excellent view of sunset. You cannot just miss this place if you are in Havelock.<br />
Day At: Port Blair, Havelock Island; Night At: Havelock Island															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 3:</b> Havelock - Elephanta Beach										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												08:00 AM	Elephant Beach<br />
The beauty of elephant beach starts with the speed boat ride that takes you to this heavenly beach. There are numerous activities which are conducted in this exotic beach with white sand and crystal clear water. Most wanted Snorkeling water activity can be done here.... And some more water sport attractions you may have at elephant beach except sea walk.<br />
	Elephanta Coral Beach – (Complimentary Snorkelling) to see coral reefs, exotic varieties of beautiful ornamental fishes and other marine life<br />
Day At: Havelock Island; Night At: Havelock Island															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 4:</b> Havelock To Neil Island										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												10:15 AM	Havelock Island to Neil Island by Makruzz( Premium )<br />
For any reasons, if the ticket for specified boat is unavailable then similar boat would be provided<br />
01:00 PM	Bharatpur Beach<br />
Bharatpur Beach is the only sandy and the most happening place in Neil Island. Bharatpur Beach is located at a distance of 5mins from the jetty. The beach is scenic, sublime and a house to a large number of water sports activities. The Beach has a changing room facility, lots of small coral shops etc. You just cannot miss Bharatpur beach if you are at Neil Island.<br />
04:00 PM	Laxamanpur Beach<br />
Laxmanpur beach is a beautiful white sandy beach that is full of shells and dead corals which provides scenic beauty to the beach. It also provides an impressive sunset view. All best resorts in Neil Island are located in this long stretch of coral reef beach. Up rooted trees on the shore add to the picturesque view and make it an amazing tourist destination.<br />
Day At: Havelock Island, Neil Island; Night At: Neil Island															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 5:</b> Neil Island To Port Blair										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												08:30 AM	Natural Bridge<br />
Natural Bridge is also known as Howrah Bridge, the name was given by local Bengalis. It is a natural rock formation in the form of bridge. This place is best to visit during low tides. To reach natural bridge you have to walk through sea shores which are rich in Marine life.<br />
11:15 AM	Neil Island to Port Blair by Makruzz( Premium )<br />
For any reasons, if the ticket for specified boat is unavailable then similar boat would be provided<br />
01:00 PM	Jetty Pickup<br />
Our representative will receive you from the jetty and drop you at the hotel. Jetty is the place where boats/cruises halt (also known as Port), from here it takes and drops passengers and cargo from one place to another. Here you can find many sizes and varieties of ship starting from small slow boats for inter island journeys till multi layer cruise from different countries. Here you can take some memorable photographs, experience how boats operate and know the life style of localities. Keep your Id Proof ready in your hands along with ticket for security check.<br />
03:00 PM	Chidiyatapu Beach<br />
White sand beach, clear water and sunset combine to make Chiriyatapu a perfect tourist attraction. The place also has a small zoo which will interest children. The best time to visit the place is around late afternoon so that you don’t miss the serene sunset from the beach. Chiryatappu is also famous for swimming and has changing room facility.<br />
05:00 PM	Vehicle For Shopping<br />
You can do shopping of some shell arts, articles made of local stuff, species, handicrafts. We will provide you with a complimentary ride for shopping .Then we will drop you at your hotel.<br />
Day At: Neil Island, Port Blair; Night At: Port Blair															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">Day 6:</b> Port Blair Airport Drop										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												09:00 AM	Airport Drop<br />
After enjoying the beauty of exotic islands, mesmerizing beaches, unexploited nature and knowing our culture its now time for us to tell you good bye. We will be thankful for giving us the opportunity to serve you and will expect to serve you many more times in the future. Our representative will receive you from the Hotel and drop you at the Airport.<br />
Day At: Port Blair															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Sightseeing</li>
																						<li>Transport</li>
																						<li>Airport Pickup-Drop</li>
																						<li>Private Cab</li>
																						<li>Entry Tickets</li>
																						<li>Stay Included</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Package Cost</p>
    	<div class="otherDetails aj">Port Blair + Havelock Island + Neil Island</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Holiday Package</td>
				<td class="data p5px">Hotel In Port Blair</td>
				<td class="data p5px">Hotel In Havelock</td>
				<td class="data p5px">Hotel In Neil</td>
				<td class="data p5px">Per Couple Cost</td>
				<td class="data p5px">Extra Person ( Above 12 yrs)</td>
				<td class="data p5px">Child With Mattress ( Below 12 yrs)</td>
				<td class="data p5px">Child Without Mattress ( Below 12 yrs)</td>
				<td class="data p5px">Child ( 5 to2 yrs)</td>
				<td class="data p5px">Infant ( 1 to 2 yrs )</td>
			</tr>
			<tr>
				<td class="data p5px">Standard</td>
				<td class="data p5px">Marine View, King Tower, Shreesh, Western Park</td>
				<td class="data p5px">Gold Star Beach Resort, Moonlit Sands, etc</td>
				<td class="data p5px">Amulya, Kingfisher, etc</td>
				<td class="data p5px">32686</td>
				<td class="data p5px">10568</td>
				<td class="data p5px">8258</td>
				<td class="data p5px">8258</td>
				<td class="data p5px">5486</td>
				<td class="data p5px">4285</td>
			</tr>
			<tr>
				<td class="data p5px">Deluxe</td>
				<td class="data p5px">G.International, Sun Sea, North Reef, Shompen, N.K, Mainak, Kavitha, Airport Hotel, AR Pride</td>
				<td class="data p5px">Havelock Holiday Beach Resort, Blue Bird Resort, Holiday Inn Beach Resort, etc</td>
				<td class="data p5px">Holiday Inn, Vacation Village, Pearl Park Beach Resort</td>
				<td class="data p5px">42735</td>
				<td class="data p5px">15084</td>
				<td class="data p5px">15084</td>
				<td class="data p5px">13305</td>
				<td class="data p5px">5486</td>
				<td class="data p5px">4285</td>
			</tr>
			<tr>
				<td class="data p5px">Luxury</td>
				<td class="data p5px">Keys Hotel, SR Castle, Mansha, Sea Shell</td>
				<td class="data p5px">Havelock Island Beach Resort, Coral Reef, Sea Shell Resort, etc</td>
				<td class="data p5px">Summer Sand, TSG Neil, Sea Shell Resort</td>
				<td class="data p5px">70339</td>
				<td class="data p5px">27662</td>
				<td class="data p5px">23966</td>
				<td class="data p5px">16574</td>
				<td class="data p5px">5486</td>
				<td class="data p5px">4285</td>
			</tr>
		</table></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<ul>
	<li>All rates quoted are on Per person basis (in Rs) - Applicable for 2 persons staying together sharing the same room</li>
	<li>Prices mentioned are the minimum quote and will be available on first - come, first - served basis</li>
	<li>Package rates are subject to change without prior notice</li>
	<li>EMERALD reserves the right to change/modify or terminate the offer anytime at its own discretion and without any prior notice</li>
	<li>Cruise to Islands is subject to weather conditions. Alternate arrangements will be made in case the sailing does</li>
	<li>not take place. However, EMERALD will not be responsible for refunding any amount due to non - sailing of Cruise.</li>
	<li>Only Indian citizens are entitled to make booking on these rates.</li>
	<li>We request the customers to provide their meal preference at the time of booking for convenience during the holiday</li>
	<li>Meal selections are available for vegetarian / non - vegetarian / Jain meals / Guajarati food.</li>
	<li>In case of unavailability in mentioned hotels, alternate accommodation will be arranged in a similar category hotel.</li>
</ul>

<p><strong>NOTE</strong>

<ul>
	<li>The above mentioned hotels will be confirmed as per the room availability. Otherwise we will confirm similar category hotel.</li>
	<li>Please carry original id proof (identity card - Voter ID card/Pass - port/Driving License etc) for security purpose &amp; hotel policy.</li>
</ul>

<p><strong>PAYMENT MODE</strong>

<ul>
	<li>50% PAYMENT SHOULD BE PAID IN ADVANCE.</li>
	<li>AND THE REMAIN 50% PAYMENT SHOULD BE PAID BEFORE STARTS THE TOUR.</li>
</ul>

<p><strong>INCLUDE</strong>

<ul>
	<li>Accommodation in twin sharing Rooms at specified hotels &amp; resort as per package.</li>
	<li>Meals: As per Itinerary</li>
	<li>Sightseeing tours as per the itinerary &amp; vehicle as per the group size.</li>
	<li>All Island Transfers by Pvt. Cruise &amp; Government ferry.</li>
	<li>Assistance at the airport at the time of arrival and departure</li>
	<li>Miscellaneous charges like inner - line permits, porter services at hotel and all applicable luxury/road taxes.</li>
	<li>Service Tax.</li>
	<li>Free tour for kids ( 0 - 1 ) years. &amp; 2 - 5 years 50%</li>
</ul>

<p><strong>COST EXCLUDE</strong>

<ul>
	<li>Air Fare/Train fare.</li>
	<li>Personal Expenses such as Laundry, telephone calls, tips &amp; gratuity, mineral water, soft &amp; hard drinks, porterage.</li>
	<li>Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.</li>
	<li>camera fees &amp; Guide charges.</li>
	<li>Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, whichis directly payable on the spot).</li>
	<li>Any increase in taxes or fuel price, leading to increase in cost on surface transportation &amp; land arrangements, which may come into effect prior to departure.</li>
	<li>Snorkeling, Glass Bottom, Boat Ride, Sea Walking, Scuba Diving</li>
	<li>Insurance.</li>
	<li>Anything which is not include in the inclusion.</li>
</ul>

<p><strong>OPTIONAL</strong>

<ul>
	<li>Scuba Diving at Havelock including transfers &amp; diving equipments - INR 4000/ -</li>
	<li>Sea walk at Northbay on additional payment of Rs.2700/ - per person.</li>
	<li>Jet Ski, Banana Ride, Sofa Ride, Speed Boat Ride at water sport complex on Package (duration 30 minutes) - INR 1150/ - per person</li>
	<li>Paddle Boats, self driven at water sport complex (duration 10 minutes) - INR 500/ - per person</li>
	<li>Flower Decoration PER COUPLE for 1 Night &amp; Chocolate Cake for one Night at Rs2200/ - extra.</li>
	<li>One way journey in Sea Plane to Havelock @ Rs 4700/ - per person.</li>
</ul>

<p><strong>ABOUT VEHICLE</strong>

<ul>
	<li>We provide exclusive vehicles in our packages.</li>
	<li>Scorpio / Xylo / Ertica / Tavera for 1 - 7 pax including child.</li>
	<li>For Larger Groups suitable vehicle shall be provided according to class of package.</li>
	<li>Group Travel Shall is in Shared Vehicle.</li>
</ul>

<p><strong>IMPORTANT</strong>

<ul>
	<li>Check - in 09:00 hrs. / Check - out time is 08:00 hrs. (As per Hotel Conditions )</li>
	<li>On arrival of guest at Airport our executive will be there with the PLA - CARD at Exit Gate on the Airport.</li>
	<li>The tourism infrastructure in other islands is not very developed and one should not expect or compare it with the standards of city &amp; other developed destinations.</li>
	<li>On arrival of guests, we will provide them local contact numbers of our executive, who will handle the entire operation.</li>
	<li>If for any reason any tourist spot is closed we shall not cover it on next day and if guest wants to do the same on next day then they have to pay the extra cost for the vehicle.</li>
	<li>Please inform your guest to maintain the timing for the sightseeing / transfers which will advisable by our executive</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.andamanemeraldtour.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Exotic Andaman ( ETT@102) 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="121679"/>
						</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="https://www.andamanemeraldtour.com/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</a> <b class="alpha50 bn small">(95)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.andamanemeraldtour.com/havelock-tour-packages.htm" title="Havelock Tour Packages">Havelock</a> <b class="alpha50 bn small">(73)</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="https://www.andamanemeraldtour.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.andamanemeraldtour.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(78)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.andamanemeraldtour.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.andamanemeraldtour.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.andamanemeraldtour.com/adventure-sports-holidays-catid.htm" title="Adventure Sports Packages">Adventure Sports</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.andamanemeraldtour.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.andamanemeraldtour.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Port Blair, Havelock</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.andamanemeraldtour.com/holiday-packages/family-standard-packages5n6d.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/20814.jpg"  alt="Family Standard Packages - ( 5N / 6D )" title="Family Standard Packages - ( 5N / 6D )"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.andamanemeraldtour.com/holiday-packages/family-standard-packages5n6d.htm" title="Family Standard Packages - ( 5N / 6D )"><h3>Family Standard Packages - ( 5n / 6d )</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_14269" id="pkg_14269" method="post" action="https://www.andamanemeraldtour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.andamanemeraldtour.com/holiday-packages/family-standard-packages5n6d.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Family Standard Packages - ( 5N / 6D ) - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="14269"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.andamanemeraldtour.com/holiday-packages/incredible-andaman-tour-couple.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/65103.jpg"  alt="Incredible Andaman Tour ( Couple)" title="Incredible Andaman Tour ( Couple)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.andamanemeraldtour.com/holiday-packages/incredible-andaman-tour-couple.htm" title="Incredible Andaman Tour ( Couple)"><h3>Incredible Andaman Tour ( Couple)</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 12785</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_31542" id="pkg_31542" method="post" action="https://www.andamanemeraldtour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.andamanemeraldtour.com/holiday-packages/incredible-andaman-tour-couple.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Incredible Andaman Tour ( Couple) - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="31542"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.andamanemeraldtour.com/holiday-packages/couple-package5n-port-blairw-baratang1n-havelock-radhanagar1n-neil.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/98643.jpg"  alt="Couple Package (5 N Port Blair W Baratang + 1 N Havelock Radhanagar + 1 N Neil Tour" title="Couple Package (5 N Port Blair W Baratang + 1 N Havelock Radhanagar + 1 N Neil Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.andamanemeraldtour.com/holiday-packages/couple-package5n-port-blairw-baratang1n-havelock-radhanagar1n-neil.htm" title="Couple Package (5 N Port Blair W Baratang + 1 N Havelock Radhanagar + 1 N Neil Tour"><h3>Couple Package (5 N Port Blair W Baratang ..</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 17445</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_50365" id="pkg_50365" method="post" action="https://www.andamanemeraldtour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.andamanemeraldtour.com/holiday-packages/couple-package5n-port-blairw-baratang1n-havelock-radhanagar1n-neil.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Couple Package (5 N Port Blair W Baratang + 1 N Havelock Radhanagar + 1 N Neil Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="50365"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.andamanemeraldtour.com/holiday-packages/family-deluxe-package7n8d.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/20845.jpg"  alt="Family Deluxe Package - ( 7N / 8D )" title="Family Deluxe Package - ( 7N / 8D )"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.andamanemeraldtour.com/holiday-packages/family-deluxe-package7n8d.htm" title="Family Deluxe Package - ( 7N / 8D )"><h3>Family Deluxe Package - ( 7n / 8d )</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_14289" id="pkg_14289" method="post" action="https://www.andamanemeraldtour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.andamanemeraldtour.com/holiday-packages/family-deluxe-package7n8d.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Family Deluxe Package - ( 7N / 8D ) - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="14289"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.andamanemeraldtour.com/holiday-packages/group-deluxe-package2n3d.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/21535.jpg"  alt="Group Deluxe Package - ( 2N / 3D )" title="Group Deluxe Package - ( 2N / 3D )"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.andamanemeraldtour.com/holiday-packages/group-deluxe-package2n3d.htm" title="Group Deluxe Package - ( 2N / 3D )"><h3>Group Deluxe Package - ( 2n / 3d )</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_14551" id="pkg_14551" method="post" action="https://www.andamanemeraldtour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.andamanemeraldtour.com/holiday-packages/group-deluxe-package2n3d.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Group Deluxe Package - ( 2N / 3D ) - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="14551"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='https://www.andamanemeraldtour.com/holiday-packages/amazing-holidays-family-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/69028.jpg"  alt="Radha Nagar Beach - Havelock" title="Radha Nagar Beach - Havelock"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.andamanemeraldtour.com/holiday-packages/amazing-holidays-family-tour.htm" title="Amazing Holidays ( Family ) Tour"><h3>Amazing Holidays ( Family ) Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 4855</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_33432" id="pkg_33432" method="post" action="https://www.andamanemeraldtour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="https://www.andamanemeraldtour.com/holiday-packages/amazing-holidays-family-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Amazing Holidays ( Family ) Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="33432"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:72:"Book Exotic Andaman ( ETT@102) Package - 5 Nights / 6 Days Tour Packages";i:2;s:141:"book exotic andaman ( ett@102) package - 5 nights / 6 days tour packages, beach and islands tour packages, port blair, havelock tour packages";i:3;s:181:"Emerald Tours & Travels offers Exotic Andaman ( ETT@102) Package - 5 Nights / 6 Days tour package, budget Beach and Islands tour packages for Port Blair, Havelock at exciting price.";i:4;s:435:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Havelock"        
		                 },
		      "description": "01-0414-09",
		      "name": "Exotic Andaman ( ETT@102) Package",
		      "telephone": "+91-9434284736"
		    }
		    </script>
			";i:5;N;}