a:6:{i:0;s:40335:"				<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>Truly Andaman Tour ( Couple)</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>Truly Andaman Tour ( Couple)</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/65282.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/65282.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/65282.jpg"  alt="Truly Andaman Tour ( Couple)" title="Truly Andaman Tour ( Couple)" 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">Truly Andaman Tour ( Couple)</p>
					
											<p class="mb5px"><b>Tour Code :</b> #902</p>
												<p class="mb5px"><b>Duration :</b> 
						7 Nights / 8 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> 19017						</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="Truly Andaman Tour ( Couple) - 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="31634"/>
						</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">Air Fare/Train fare.<br />
Personal Expenses such as Laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, porterage.<br />
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.<br />
camera fees & Guide charges.<br />
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, which is directly payable on the spot).<br />
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.<br />
Boat Ride, Jet Ski Ride,  Sea Walking, Scuba Diving<br />
Insurance.<br />
Anything which is not include in the inclusion.01-0131-03</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> Arrive Andaman										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Morning/Afternoon arrival at Port Blair and our guest relations executive will be meets and greets then transfer by car to the hotel. After lunch visit to the famous  Science Museum, Corbyn’s cove beach.. In the evening, attend 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.																											   
												<div class="mt10px">
												
																	
													<p>Meals : Dinner</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 - Havelock										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a breakfast, check-out from the hotel to visit Cellular Jail, Anthropological Museum, Fisheries Aquarium, samudrika museum. After lunch, board the ferry for a journey to Havelock Island. This beach is famous for Snow-White Beaches, tea shallows, a coast crammed with Beach huts and some of the best diving in Asia.<br />
Enjoy dinner and a comfortable overnight stay at the hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast & Dinner</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> Excursion to Elephant Beach										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												(Car will come at 0800 hrs and please ensure you are ready as the boat will leave at 0830 hrs and it is a further 10 min drive away to the boat) Embark on the most memorable snorkelling trip, just 25 min by Boat this beach offers snorkelers calm blue shallow waters and is the perfect spot for beginner snorkelers. The boat goes right up to the beach and it’s so easy to slip on your gear and just start snorkelling. It’s also a great place to just spend the day lying on the beach and relaxing. The beach is very scenic with fallen trees and white sand giving the photographer some interesting shots. The reef here starts very close to shore at a depth of about 1 metre. The large reef is mostly made up of hard coral and has plenty of marine life. Note: Inclusive of snorkelling equipment and car pick up and drop to jetty. (The trip may be changed to light house subject to weather conditions and visibility).															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast & Dinner</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 - Radhanagar Beach - Neil Island										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Check out and after Breakfast visit to Radhanagar Beach at Havelock Island (Best Beach in Asia by Time Magazine-2007- and also Declared countries Best beach Announced by Tourism Dept of India). Return from Havelock Island in the evening by the Cruise and transfer to hotel in Neil Island. The guest will arrive only in the evening at Neil Island. (Do note that all hotels on Havelock have a early morning check out time and late check out is provided at the discretion of the hotel management) Request you to kindly keep the luggage ready and leave it at the reception.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast & Dinner</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 ( Natural Coral bridge+Bharatpur) - Port Blair										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Check out and after Breakfast visit 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 . Late afternoon visit the Laxmanpur Beach 2 to view the natural coral bridge and Return from Neil Island in the evening by the Cruise and transfer to hotel in Port Blair. The guest will arrive only in the evening at Port Blair. (Do note that all hotels on Neil have a early morning check out time and late check out is provided at the discretion of the hotel management) Request you to kindly keep the luggage ready and leave it at the reception.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast & Dinner</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> Baratang - ( Limestone Cave+ Mud Volcano) - Port Blair										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Baratang Island Tour starts early morning for Baratang Island, 100km Road Journey ,the island between South and Middle Andaman has beautiful Mangrove Creeks, Mud Volcano and Limestone Cave . Once we reach Baratang we takes Small Speed Boat for Lime stone Caves where you can enjoy 30min Adventure journey through mangrove creeks, 30mins Trekking in the forest for Lime Stone Caves and Mud valcano. and  Overnight stay will be at respective Hotel / Resort at Port Blair.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast & Dinner</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 7											
											:</b> Port Blair - ( Ross+North Bay Coral Island) - Port Blair										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												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. The glass bottom boat ride helps one to take a closer look at the vast coral colonies. You can also enjoy Snorkeling and other water sports activities like Jet Ski Ride, Sea walk etc. Please carry your snacks / pack lunch, drinking water & changing dress. Then visit Ross Island - from where the Britishers governed the entire Andaman & Nicobar Islands, prior to India’s Independence. One can see remnants of an opulent past in the ruins of the church, swimming pool and the chief commissioner's residence with its huge gardens and grand ballrooms. There is also a cemetery and a small museum managed by the Indian Navy. This island is an ideal destination for nature walk amidst sylvan surroundings with deer, peacocks, exotic birds, etc. Overnight stay will be at respective Hotel / Resort at Port Blair.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast & Dinner</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 8											
											:</b> Departure										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Depart Port Blair with Fond memories of these mesmerizing Islands.															   
												<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>Sightseeing</li>
																						<li>Transfers</li>
																						<li>Entry Tickets</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Air Fare/Train fare.</li><li>
Personal Expenses such as Laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, porterage.</li><li>
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.</li><li>
camera fees & 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, which is directly payable on the spot).</li><li>
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.</li><li>
Boat Ride, Jet Ski Ride,  Sea Walking, Scuba Diving</li><li>
Insurance.</li><li>
Anything which is not include in the inclusion.</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 Pricing</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">CATEGORY</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">Cost Per Couple</td>
			</tr>
			<tr>
				<td class="data p5px">BUDGET ( Option-01)</td>
				<td class="data p5px">Blair, Deepantar, Aries, Sunrise Inn, Vedant, City King Palace(Regul)  - STD AC Room </td>
				<td class="data p5px">V Knot / Hotel Harmonium–AC rooms</td>
				<td class="data p5px">King Fisher, Green Island, Cocon-Hut, Tango Resort(Standard), Highness Sea Rock @   Non A/C  Resort</td>
				<td class="data p5px">38’034</td>
			</tr>
			<tr>
				<td class="data p5px">BUDGET ( Option-02)</td>
				<td class="data p5px">Tango Ways(Deluxe),Marine View(std), City King Palace(Deluxe),SRM Diamond Heritage Inn (Deluxe), Andu(Deluxe),  Andaman Residency(Deluxe)   - STD AC Room </td>
				<td class="data p5px">Holiday Inn - Std AC Room/ Hotel Gold Star - Std AC Room/ El Dorado( Semi Deluxe)</td>
				<td class="data p5px">Tango Resort(Cottage),Pearl Park(Nicibari Cottage) @  Non  A/C  Resort</td>
				<td class="data p5px">43’634</td>
			</tr>
			<tr>
				<td class="data p5px">Premium ( Option-01)</td>
				<td class="data p5px"> N.K International(Deluxe), Kavitha Regent,  Hotel  J (Deluxe ), De Marina(Deluxe-Sea Facing), Silver Spring(Deluxe),  Haywizz( Deluxe ),  Rishabh - Std , @ AC Room </td>
				<td class="data p5px">Holiday inn Beach Resort(   Deluxe ) ,     El Dorado Beach resort( Deluxe Cottage )@   A/C  Resort</td>
				<td class="data p5px">Tango Resort(Lagoon), Pearl Park(Standard Cottage) @  A/C  Resort</td>
				<td class="data p5px">54’234</td>
			</tr>
			<tr>
				<td class="data p5px">Premium ( Option-02)</td>
				<td class="data p5px">TSG Emerald ( Deluxe), TSG Grand ( Deluxe), Megapode Resort ( Deluxe ) Islanderr Inn(Super Deluxe) </td>
				<td class="data p5px">Hotel Kingdom - Deluxe / Hotel Blue Bird Resort -  @ AC Room</td>
				<td class="data p5px">Pearl Park(Deluxe Cottage)</td>
				<td class="data p5px">61’234</td>
			</tr>
			<tr>
				<td class="data p5px">Deluxe</td>
				<td class="data p5px">Hotel TSG Emerald(suite), TSG Grand ( Super Deluxe), Shompen (Executive)</td>
				<td class="data p5px">Hotel Kingdom(Duplex Cottage), Havelock Island Beach Resort(Deluxe Cottage), The Wild Orchid ( Classic )</td>
				<td class="data p5px">Hotel Sea Shell(Andaman Cottage)</td>
				<td class="data p5px">77’029</td>
			</tr>
			<tr>
				<td class="data p5px">Luxury ( Option-01)</td>
				<td class="data p5px">Sentinel( Deluxe), Sea Shell(Standard), Sea Princess(Standard), Rose Valley Resort(Deluxe)</td>
				<td class="data p5px">Hotel Sea Shell(Villa), Symphony Resort(casa), TSG Blue Resort( Cluster), Wild Orchid( Style)</td>
				<td class="data p5px">Hotel Sea Shell(Luxury Tent)</td>
				<td class="data p5px">87’431</td>
			</tr>
			<tr>
				<td class="data p5px">Luxury ( Option-02)</td>
				<td class="data p5px">Fortune Resort(Deluxe),  Sentinel(Premiere), Sea Shell(Executive), Sinclairs(Deluxe), Sea Princess(Deluxe)  </td>
				<td class="data p5px">Hotel Sea Shell(Chalet), Symphony Resort(Cottage), TSG Blue Resort (Cottage), Munjoh Ocean Resort( Luxury Villa ), Havelock Island Beach Resort(Suite Cottage)</td>
				<td class="data p5px">Hotel Sea Shell(Luxury Tent)</td>
				<td class="data p5px">92’633</td>
			</tr>
			<tr>
				<td class="data p5px">Luxury ( Option-03)</td>
				<td class="data p5px">Sentinel(Luxury), Sea Shell(Deluxe), Sinclairs ( Premier), Sea Princess(Cottage-Beach Front), Peerless Sarovar Portico(Deluxe) </td>
				<td class="data p5px">Hotel Symphony Resort (Lagoon Suite ), Sea Shell(Andaman Lagoon), Munjoh Ocean Resort(Ocean Suite )</td>
				<td class="data p5px">Hotel Sea Shell(Luxury Tent)</td>
				<td class="data p5px">102’233</td>
			</tr>
			<tr>
				<td class="data p5px">Suite</td>
				<td class="data p5px">Sea Princess(Suite), Sentinel ( Royal Suite), Sinclairs (Premier Suite)</td>
				<td class="data p5px">Silver Sand ( Beach Front Lagoon)</td>
				<td class="data p5px">Hotel Sea Shell(Luxury Tent)</td>
				<td class="data p5px">119’233</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 doesnot 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>
	<li>Refund on cancellation strictly depends upon concerned hotel&#39;s cancellation policy</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="Truly Andaman Tour ( Couple) - 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="31634"/>
						</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/exotic-andaman-ett-102-package.htm'">
															<div class="picBg ac vam lh0"><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="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="https://www.andamanemeraldtour.com/holiday-packages/exotic-andaman-ett-102-package.htm" title="Exotic Andaman ( ETT@102) Package"><h3>Exotic Andaman ( Ett@102) Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 16343</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_121679" id="pkg_121679" 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/exotic-andaman-ett-102-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Exotic Andaman ( ETT@102) Package - 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="121679"/>
							</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>
															
						</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:67:"Book Truly Andaman Tour ( Couple) - 7 Nights / 8 Days Tour Packages";i:2;s:136:"book truly andaman tour ( couple) - 7 nights / 8 days tour packages, beach and islands tour packages, port blair, havelock tour packages";i:3;s:191:"Book Truly Andaman Tour ( Couple) - 7 Nights / 8 Days tour packages from Emerald Tours & Travels - Get attractive 7 Nights / 8 Days Beach and Islands  tour packages for  Port Blair, Havelock.";i:4;s:1143:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Havelock"        
		                 },
		      "description": "Air Fare/Train fare.
Personal Expenses such as Laundry, telephone calls, tips & gratuity, mineral water, soft & hard drinks, porterage.
Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.
camera fees & Guide charges.
Any cost arising due to natural calamities like, landslides, road blockage, political disturbances (strikes), etc (to be borne by the client, which is directly payable on the spot).
Any increase in taxes or fuel price, leading to increase in cost on surface transportation & land arrangements, which may come into effect prior to departure.
Boat Ride, Jet Ski Ride,  Sea Walking, Scuba Diving
Insurance.
Anything which is not include in the inclusion.01-0131-03",
		      "name": "Truly Andaman Tour ( Couple)",
		      "telephone": "+91-9434284736"
		    }
		    </script>
			";i:5;N;}