a:6:{i:0;s:39504:"				<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>Andaman Classic ( Ett@104) 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>Andaman Classic ( Ett@104) 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/196438.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/196438.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/196438.jpg"  alt="Andaman Classic ( Ett@104) Package" title="Andaman Classic ( Ett@104) 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">Andaman Classic ( Ett@104) Package</p>
					
											<p class="mb5px"><b>Tour Code :</b> ETT@104</p>
												<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 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> 11394						</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="Andaman Classic ( Ett@104) 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="121498"/>
						</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, whichis 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 />
Snorkeling, Glass Bottom, Boat Ride, Sea Walking, Scuba Diving<br />
Insurance.<br />
Anything which is not include in the inclusion.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 Air Port Pick										
											
											<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> Ross Island & North Bay Coral Island										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												09:00 AM	North Bay Island<br />
North Bay Island which being located at a distance of 30mins by boat journey from water sports complex of Port Blair is the most coral reach Island of Andaman. It is one of the best places in Andaman to explore colorful corals and various under water creatures through sea walk, scuba diving, glass bottom boat and snorkeling. This island also has a small local market.<br />
01:00 PM	Ross Island<br />
Ross Island, the former capital of Andaman is located near Port Blair, which can be visited via boats from water sports complex by 20 minutes journey. The island is currently unhabituated for humans but the houses are wonderful and you also get to see friendly animals (deer’s) and birds (peacocks). Island has old buildings and churches which are architecturally amazing.<br />
05:30 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: 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 3											
											:</b> Havelock Tour Same day										
											
											<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 />
10:00 AM	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 />
03:45 PM	Havelock 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 />
05: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 />
Day At: Port Blair, Havelock 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 4											
											:</b> Port Blair Air Port 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>Transfers</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">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, whichis 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>
Snorkeling, Glass Bottom, Boat 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 Cost</p>
    	<div class="otherDetails aj">Port Blair Hotel</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">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">22788</td>
				<td class="data p5px">7438</td>
				<td class="data p5px">7438</td>
				<td class="data p5px">5705</td>
				<td class="data p5px">3973</td>
				<td class="data p5px">3141</td>
			</tr>
			<tr>
				<td class="data p5px">Deluxe</td>
				<td class="data p5px">Sun Sea, North Reef, Shompen, N.K, Mainak, Kavitha, Airport Hotel, AR Pride</td>
				<td class="data p5px">26946</td>
				<td class="data p5px">9170</td>
				<td class="data p5px">9170</td>
				<td class="data p5px">7403</td>
				<td class="data p5px">3973</td>
				<td class="data p5px">3141</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">44271</td>
				<td class="data p5px">17278</td>
				<td class="data p5px">15061</td>
				<td class="data p5px">10626</td>
				<td class="data p5px">3973</td>
				<td class="data p5px">3141</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>				
								<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>Indica / WagonR / Alto for 1-4 Pax.</li>
	<li>Sumo/Indigo/Scorpio / Xylo / Tavera for 5-8 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> <br />
<strong>IMPORTANT</strong>

<ul>
	<li>1) Check-in 08:00 hrs. / Check-out time is 08:00 hrs.</li>
	<li>2) On arrival of guest at Airport our executive will be there with the PLA - CARD at Exit Gate on the Airport.</li>
	<li>3) 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>4) On arrival of guests, we will provide them local contact numbers of our executive, who will handle the entire operation.</li>
	<li>5) 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>6) Please inform your guest to maintain the timing for the sightseeing / transfers which will advisable by our executive.</li>
</ul>

<p><strong>TERMS &amp; CONDITIONS</strong>

<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 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>								</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="Andaman Classic ( Ett@104) 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="121498"/>
						</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:73:"Book Andaman Classic ( Ett@104) Package - 3 Nights / 4 Days Tour Packages";i:2;s:142:"book andaman classic ( ett@104) package - 3 nights / 4 days tour packages, beach and islands tour packages, port blair, havelock tour packages";i:3;s:197:"Book Andaman Classic ( Ett@104) Package - 3 Nights / 4 Days tour packages from Emerald Tours & Travels - Get attractive 3 Nights / 4 Days Beach and Islands  tour packages for  Port Blair, Havelock.";i:4;s:1159:"
			<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, whichis 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.
Snorkeling, Glass Bottom, Boat Ride, Sea Walking, Scuba Diving
Insurance.
Anything which is not include in the inclusion.01-0414-09",
		      "name": "Andaman Classic ( Ett@104) Package",
		      "telephone": "+91-9434284736"
		    }
		    </script>
			";i:5;N;}