a:6:{i:0;s:36827:"				<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>Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach)</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>Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach)</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/102245.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/102245.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/265931/102245.jpg"  alt="Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach)" title="Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach)" 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">Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach)</p>
					
											<p class="mb5px"><b>Tour Code :</b> ETT - 059</p>
												<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Blair</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> 10150						</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="Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach) - 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="51996"/>
						</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">( Kindly note minimum pax 04)<br />
The Rates are valid from 1st Sep 2015 to 30th June 2016 <br />
Pick Season Surcharges 10the December 2015 to 20th January 2016 (Extra cost  Per Room/ DayAir 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.28-0131-08</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 + Ross Island(Sound & Light Show)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												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 />
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 />
Ross Island Light n Sound<br />
Ross Island Light and sound show: This mesmerising light and sound show in the open heritage island with dolby digital sound is a must watch. The bakery house made as screen for the show is just amazing, the show will display the history of Andaman getting its existence and the sacrifice made by our freedom fighters.<br />
																											   
												<div class="mt10px">
												
																	
													<p>Meals : No Meals</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> North Bay Island + Cellular Jail(Sound & Light Show)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												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 />
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 />
															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast Only</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 - Radhanagar Beach										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												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 />
Port Blair to Havelock Island by Green Ocean( Luxury )<br />
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 />
															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast Only</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 Island - Elephanta Coral Beach										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												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 />
															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast Only</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> Havelock - Port Blair City Tour										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Havelock Island to Port Blair by Makruzz( Premium )<br />
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 />
Fisheries Museum<br />
The marine museum is a small museum located near water sports complex which is maintained by Indian Marine department. This museum displays some aquatic life and coral present in Andaman Islands. It is a place where you can learn a lot about the life under sea.<br />
Anthropology Museum<br />
This is one of the best museum in Port Blair, which provides thorough and sympathetic portrait of indigenous tribal communities of Andaman and Nicobar. The place reflects the rich history and culture of Andaman. There is no better place than this to explore the heritage and culture of Andaman.<br />
Samudrika Museum<br />
Samudrika museum is a unique museum located in the heart of Port Blair that displays beautiful corals with neat notes on each species of sea creatures which makes it every educative. It is distinctly different from the mainland aquariums due to the presence of sheer variety of coral life that is exclusive to the seas surrounding the Andaman Islands.<br />
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 />
															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast Only</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> Airport Drop										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												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 />
															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast Only</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 Amount</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">CATEGORY</td>
				<td class="headHr p5px b">Port Blair</td>
				<td class="headHr p5px b">Havelock</td>
				<td class="headHr p5px b">Amount ( Per Head )</td>
			</tr>
			<tr>
				<td class="headVr p5px">Budget</td>
				<td class="data p5px">Hotel Shalini & etc - STD AC Room </td>
				<td class="data p5px">H/L – Gold Star & etc – Std @ Ac Room</td>
				<td class="data p5px">10150</td>
			</tr>
			<tr>
				<td class="headVr p5px">Standard</td>
				<td class="data p5px">Hotel King’s Tower & etc @ AC Room</td>
				<td class="data p5px">H/L – Holiday Inn & etc @ Ac Room</td>
				<td class="data p5px">12170</td>
			</tr>
			<tr>
				<td class="headVr p5px">Deluxe</td>
				<td class="data p5px">Hotel N.K International & etc @ Ac Room</td>
				<td class="data p5px">H/L – Gold India & etc @ Ac Room</td>
				<td class="data p5px">15370</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>
	<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="Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach) - 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="51996"/>
						</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</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:110:"Book Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach) - 5 Nights / 6 Days Tour Packages";i:2;s:169:"book family package( 3 n at  port blair + 2 n at havelock w elephanta beach) - 5 nights / 6 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:209:"Emerald Tours & Travels offers Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach) - 5 Nights / 6 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:1354:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "( Kindly note minimum pax 04)
The Rates are valid from 1st Sep 2015 to 30th June 2016 
Pick Season Surcharges 10the December 2015 to 20th January 2016 (Extra cost  Per Room/ DayAir 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.28-0131-08",
		      "name": "Family Package( 3 N at  Port Blair + 2 N at Havelock W Elephanta Beach)",
		      "telephone": "+91-9434284736"
		    }
		    </script>
			";i:5;N;}