a:6:{i:0;s:32557:"				<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 3 Night Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.destinationandamantours.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.destinationandamantours.com/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Andaman 3 Night Tour</p> 
									
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<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>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.destinationandamantours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman 3 Night Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="117615"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/507938/190943.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507938/190943.jpg"  width="150" height="150"    alt="Andaman 3 Night Tour" title="Andaman 3 Night Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Points to be noted before trip starts :<br />
1. The above itinerary might be shuffled if any change in the weather conditions , natural calamity or any change in the cruise / ferry schedule to Havelock / Neil island.<br />
2. Cruise tickets booking will be as per the availability of seats in the cruise or ferry at the time of booking.<br />
3. We suggest our clients to not to take all your luggage while you travelling to Havelock island or Neil island you may keep your luggage in the respective hotel clock room, request you to take minimum luggage like 02 or 3pair of clothes and your personnel belongings.<br />
4. If you want to contact to your relative or friends then you to choose as per the networks available in Andaman ( BSNL & Airtel is the available network) 5. In Havelock and Neil island the no of vehicle is less , we request you to cooperate If any delay in Pick up and Drop<br />
<br />
Accommodation with BREAKFAST.<br />
All entry and Monument Charges.<br />
All transfers, sightseeing transfers by an a/c vehicle in Port Blair .<br />
Non a/c vehicle in Havelock island .<br />
Havelock Island to and fro transfers by a/c cruise @ Premium class or std class seats. ( Cruise Transfers are subject to availability of Tickets and weather conditions)<br />
Ross and north bay island by non ac motor boat..<br />
One session of Complimentary Honey moon cake @ Port Blair<br />
Guided tour to Cellular jail and Ross island .<br />
One ½ Litr Complimentary Mineral water bottle daily in Port Blair only at the time of Sightseeing.<br />
Meet and Assist At All arrival And Departure Points<br />
<br />
SUPPLEMENT Water Based Activity Package<br />
Scuba Diving = Inr 4500 / Head<br />
Under Water Sea Walking = Inr 4500 / Head<br />
ELEPHANT BEACH INR : 850 /head<br />
SNORKELLING TRIP BY A GLASS BOTTOM BOAT = INR 500 / HEAD<br />
CORAL VIEW TRIP BY AN SEMI SUBMARINE = INR 1800 / HEAD<br />
JET SKIE INR : 600 / HEAD<br />
GLASS BOTTOM RIDE INR : 600 / HEAD<br />
SPEED BOAT RIDE INR : 600 / HEAD<br />
BANANA RIDE INR : 600 / HEAD<br />
Honeymoon inclusions Optional Cost :<br />
INR : 4500 (one session of candle light dinner )<br />
INR: 2000 ( Flower bed decoration )<br />
INR: 3000 ( Cake & Wine)<br />
CRUISE UPGRADATION : <br />
DELUXE CLASS : INR : 400 / HEAD/ ONE WAY <br />
ROYAL CLASS : INR : 1400 /HEAD/ ONE WAY <br />
AC VEHICLE IN HAVELOCK ISLAND : 2500 /DAY <br />
TOUR ESCORT FOR ACCOMPANY INR : 2000 / DAYAirfares/Ship Fare To Mainland<br />
Personal Expenses<br />
Room Service, Laundry, Telephone Charges<br />
Activity Charges, Scuba, Jet Ski, Snorkeling Etc<br />
Expenses Occurred Due To Bad Weather Or Ferry /Flight Cancellation<br />
Additional Tour Or Vehicle Usage								</div>
								<br />
																<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival
										</p>
										<p class="aj">You arrive to Port Blair, our escorts in the airport port receive you there and then after a short introduction will take you to your first booked hotel, after check-in and once you are done with you lunch & refreshment we will be heading towards our first visit to cellular jail (The Cellular Jail, also known as KALAPANI (derived from Sanskrit words ‘Kal’ which means Time or Death and ‘Pani’ which means Water), was a colonial prison in the Andaman and Nicobar Islands, India and it will be followed by Light and sound show : Timing of Light and Sound Show “ this show derives the story of the jail through light show.<br />
TIMING : Hindi show starts from 6:00 pm to 7:15 pm on Tuesday, Thursday, Saturday and Sunday. English show starts from 7:15 pm. Jail Museum opens from 9:00 am to 12:00 noon, and from 1:30 pm to 4:45 pm. Close on Mondays</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> Ross and North bay island
										</p>
										<p class="aj">Today it will be a full day trip to Ross and North bay island as all the boats will leave @ 09:00 am from the jetty so we have to be informed their at least 40mins before to check in the boat , this destination of Ross island will be the one of the most liked sightseeing in Andaman where you will be briefing about the old buildings , chief commissioner office , bakery and bunkers once you finish this tour we will be heading to North bay island – this island know for its coral world where you will mesmerize the beauty of coral and also take water activities like “ Snorkeling , Scuba diving , Underwater sea walk , glass bottom ride etc on direct payment basis “.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Havelock island
										</p>
										<p class="aj">We start the day a bit early today as we need to embark for Havelock island ,all the cruise departs in between 0630 to 0830 hours we need to report at least 45 min earlier to finish the screening and Embarkation procedure Hence taking a Packed breakfast is the only convenient way . Once we board the cruise it will take 1 and ½ hours to reach Havelock Island , our local representative will receive you at the arrival area and assist you with you transfer to the hotel and then after post lunch will take you to Radha Nagar beach .One of the most beautiful and famous beach in the Island , experience the ocean and the Amazing sun set before returning back to the Resort</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 4:</b> Leisure day at your own for water activities
										</p>
										<p class="aj">Leisure day at your own for water activities</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 5:</b> Port Blair
										</p>
										<p class="aj">Morning as per the scheduled check-out we will check out the Resort, and take a morning cruise back to Port Blair, our local representatives will assist you with respective hotel transfers and then after a break will take you to head on to our “ Chidiayatapu beach “ a perfect way to cast your evening</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Departure
										</p>
										<p class="aj">Departure</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<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>Transfers</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Airfares/Ship Fare To Mainland</li><li>
Personal Expenses</li><li>
Room Service, Laundry, Telephone Charges</li><li>
Activity Charges, Scuba, Jet Ski, Snorkeling Etc</li><li>
Expenses Occurred Due To Bad Weather Or Ferry /Flight Cancellation</li><li>
Additional Tour Or Vehicle Usage</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">PACKAGE</td>
				<td class="headHr p5px b">HOTEL USED</td>
				<td class="headHr p5px b"></td>
				<td class="headHr p5px b">COUPLE PRICING</td>
			</tr>
			<tr>
				<td class="data p5px"></td>
				<td class="data p5px">PORT BLAIR</td>
				<td class="data p5px">HAVELOCK ISLAND</td>
				<td class="data p5px"></td>
			</tr>
			<tr>
				<td class="data p5px">STANDARD</td>
				<td class="data p5px">SHREESH HOTEL ( 03NIGHTS )</td>
				<td class="data p5px">RADHA KRISHANA RESORT ( 02NIGHTS )</td>
				<td class="data p5px">Rs. 29,400 +5% GST</td>
			</tr>
			<tr>
				<td class="data p5px">DELUXE</td>
				<td class="data p5px">HOTEL HAYWIZZ ( 03NIGHTS )</td>
				<td class="data p5px">HOLIDAY INN BEACH RESORT ( 02NIGHTS )</td>
				<td class="data p5px">Rs. 37,000 + 5% GST</td>
			</tr>
			<tr>
				<td class="data p5px">PREMIUM</td>
				<td class="data p5px">PEERLESS SAROVAR PORTICO BEAH RESORT ( 03NIGHTS )</td>
				<td class="data p5px">HAVELOCK ISLAND BEACH RESORT ( 02NIGHTS )</td>
				<td class="data p5px">Rs. 60,500 + 5% GST</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>These rates are valid from 01st Sept 2017 to 31st March 2018</li>
	<li>These rates are not valid from 15th Dec 2017 to 15th Jan 2018</li>
	<li>The above pricing is based on Breakfast only</li>
	<li>If any change in the service tax will be applicable same.</li>
</ul>

<p><strong>Package Booking Process</strong>

<ul>
	<li>Destination Andaman will revert to your respective enquiry .</li>
	<li>Conversation to the respective enquiry with the Executive / Reservation staff will be always @ your services for any clarifications.</li>
	<li>This is once the agent / client confirms the package with any negotiation , first we will ask our agent/client to give some time once will confirm the availability with the hotels , cruise then will proceed with the package process.</li>
	<li>If we found any change in the package or change in the cruise schedule will intimate the same to the agent/guest to avoid further deviation.</li>
	<li>Once we confirm the details like &ndash; Package , itinerary , Cruise , hotels will send agent / client the final confirmation voucher along with payment policy, cancellation policy , weather policy.</li>
	<li>We request our agents / clients to check the entire voucher once you confirm the package with the given hotels reviews , payment policy , weather policy , terms and conditions , Do&rsquo;s and Don&rsquo;ts before you start your trip.</li>
</ul>

<p><strong>Payment Policy</strong>

<ul>
	<li>Once the booking got confirmed we request our all the agents / clients to pay 50% of the advance payment to reconfirm your booking &ndash; hotels , cruise , Entry &amp; Monument and other stuffs of your trip .</li>
	<li>We assure to hold your booking till the date of given cut off of the payment and if any release of the rooms /booking &ldquo; Destination Andaman &ldquo; will not be responsible ..</li>
	<li>All your payment must be cleared before your arrival ( 50% once booking confirmed and remaining 50% balance before a week of your arrival )</li>
	<li>All the bookings done in between 15th Dec to 15th Jan is high peak season so the booking amount has to be paid at the given cutoff date and an additional supplement charges for X-Mas and New Year will be applicable as per the category of hotel .</li>
	<li>Destination Andaman reserve the write to deny/withdraw any booking if we found unforeseen confrontation with the agent / Guest or any loss to the Company</li>
</ul>

<p><strong>Cancellation Policy</strong>

<ul>
	<li>Booking Done 30 days Prior to Arrival, and cancelled before 30 days of Arrival there will be no Cancellation Charges .</li>
	<li>Cancellation within 15-20 Days prior to the arrival date of the tour packages / Hotel Booking / Transportation : 50 % retention</li>
	<li>10 Days prior to the arrival date of the tour packages / Hotel Booking / Transportation or Non Utilization of the same : 100 % Retention..</li>
	<li>Amount of 10% of the total package will be charged if any cancellation due to weather / health issues from the agent side / client side..</li>
	<li>The hotels which we booked will not be changed , if any complaints from the guest to change the hotel or upgrade the rooms then he /she has to pay the supplement charges , we only try to change to other same category room.</li>
</ul>

<p><strong>Weather Policy</strong>

<ul>
	<li>We Destination Andaman Company want to describe few things which are we always falls under these Circumstances twice in a year with effect of Cyclone , so we always suggest to our clients to take a appropriate step while you choose your journey.</li>
	<li>If any sudden cancellation in the hotels will be charged the cancellation as per the hotel policy and each hotel has different cancellation policy .</li>
	<li>With regard to the transportation, entry and monument charges, and other supplement if any we will pay Complete Refund for the same. But for the hotel part until and unless the hotels pay back we will not refund the amount. we also want to tell our agent / clients if any change in the tour like (Ross and North bay island , Elephant beach , Water activities which all falls under sea level and which are subject to weather conditions , if these spots are not operational then we are looking your cooperation to plan the alternative tours if we face any such issues .</li>
	<li>Check in and Checkout Timing of the Hotel will be according to the timing of the respective Hotels.</li>
	<li>Company is not responsible for compensating any loss or additional cost incurred by the guest while taking the tour. Company is not responsible, nor liable for any damage, loss or injury caused to any passenger while taking the tour..</li>
</ul>								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.destinationandamantours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman 3 Night Tour - 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="117615"/>
						</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="http://www.destinationandamantours.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.destinationandamantours.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(6)</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="http://www.destinationandamantours.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.destinationandamantours.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(2)</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='http://www.destinationandamantours.com/tour-packages/andaman-package-6nights-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/507938/190939.jpg"  alt="Andaman Package 6Nights Tour" title="Andaman Package 6Nights Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.destinationandamantours.com/tour-packages/andaman-package-6nights-tour.htm" title="Andaman Package 6Nights Tour"><h3>Andaman Package 6nights Tour</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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_117611" id="pkg_117611" method="post" action="http://www.destinationandamantours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.destinationandamantours.com/tour-packages/andaman-package-6nights-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Andaman Package 6Nights 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="117611"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.destinationandamantours.com/tour-packages/honeymoon-trip-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/507938/191844.jpg"  alt="Honeymoon Trip Tour" title="Honeymoon Trip Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.destinationandamantours.com/tour-packages/honeymoon-trip-tour.htm" title="Honeymoon Trip Tour"><h3>Honeymoon Trip Tour</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_118290" id="pkg_118290" method="post" action="http://www.destinationandamantours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.destinationandamantours.com/tour-packages/honeymoon-trip-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Honeymoon Trip 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="118290"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.destinationandamantours.com/tour-packages/adventure-trip-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/507938/191842.jpg"  alt="Adventure Trip Package" title="Adventure Trip Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.destinationandamantours.com/tour-packages/adventure-trip-package.htm" title="Adventure Trip Package"><h3>Adventure Trip Package</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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_118288" id="pkg_118288" method="post" action="http://www.destinationandamantours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.destinationandamantours.com/tour-packages/adventure-trip-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Adventure Trip 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="118288"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.destinationandamantours.com/tour-packages/leisure-trip-for-03nights-and04-days-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/507938/191845.jpg"  alt="Leisure Trip For 03Nights And 04 Days Tour" title="Leisure Trip For 03Nights And 04 Days Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.destinationandamantours.com/tour-packages/leisure-trip-for-03nights-and04-days-tour.htm" title="Leisure Trip For 03Nights And 04 Days Tour"><h3>Leisure Trip For 03nights And 04 Days Tour</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> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_118291" id="pkg_118291" method="post" action="http://www.destinationandamantours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.destinationandamantours.com/tour-packages/leisure-trip-for-03nights-and04-days-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Leisure Trip For 03Nights And 04 Days 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="118291"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.destinationandamantours.com/tour-packages/andaman-package-03nights.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/507938/190942.jpg"  alt="Andaman Package 03Nights" title="Andaman Package 03Nights"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.destinationandamantours.com/tour-packages/andaman-package-03nights.htm" title="Andaman Package 03Nights"><h3>Andaman Package 03nights</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> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_117614" id="pkg_117614" method="post" action="http://www.destinationandamantours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.destinationandamantours.com/tour-packages/andaman-package-03nights.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Andaman Package 03Nights - 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="117614"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.destinationandamantours.com/tour-packages/family-trip-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/507938/191843.jpg"  alt="Family Trip Tour" title="Family Trip Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.destinationandamantours.com/tour-packages/family-trip-tour.htm" title="Family Trip Tour"><h3>Family Trip Tour</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> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_118289" id="pkg_118289" method="post" action="http://www.destinationandamantours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.destinationandamantours.com/tour-packages/family-trip-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Family Trip 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="118289"/>
							</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:59:"Book Andaman 3 Night Tour - 5 Nights / 6 Days Tour Packages";i:2;s:118:"book andaman 3 night tour - 5 nights / 6 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:160:"Destination Andaman Tours offers Andaman 3 Night Tour - 5 Nights / 6 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:2915:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "Points to be noted before trip starts :
1. The above itinerary might be shuffled if any change in the weather conditions , natural calamity or any change in the cruise / ferry schedule to Havelock / Neil island.
2. Cruise tickets booking will be as per the availability of seats in the cruise or ferry at the time of booking.
3. We suggest our clients to not to take all your luggage while you travelling to Havelock island or Neil island you may keep your luggage in the respective hotel clock room, request you to take minimum luggage like 02 or 3pair of clothes and your personnel belongings.
4. If you want to contact to your relative or friends then you to choose as per the networks available in Andaman ( BSNL & Airtel is the available network) 5. In Havelock and Neil island the no of vehicle is less , we request you to cooperate If any delay in Pick up and Drop

Accommodation with BREAKFAST.
All entry and Monument Charges.
All transfers, sightseeing transfers by an a/c vehicle in Port Blair .
Non a/c vehicle in Havelock island .
Havelock Island to and fro transfers by a/c cruise @ Premium class or std class seats. ( Cruise Transfers are subject to availability of Tickets and weather conditions)
Ross and north bay island by non ac motor boat..
One session of Complimentary Honey moon cake @ Port Blair
Guided tour to Cellular jail and Ross island .
One ½ Litr Complimentary Mineral water bottle daily in Port Blair only at the time of Sightseeing.
Meet and Assist At All arrival And Departure Points

SUPPLEMENT Water Based Activity Package
Scuba Diving = Inr 4500 / Head
Under Water Sea Walking = Inr 4500 / Head
ELEPHANT BEACH INR : 850 /head
SNORKELLING TRIP BY A GLASS BOTTOM BOAT = INR 500 / HEAD
CORAL VIEW TRIP BY AN SEMI SUBMARINE = INR 1800 / HEAD
JET SKIE INR : 600 / HEAD
GLASS BOTTOM RIDE INR : 600 / HEAD
SPEED BOAT RIDE INR : 600 / HEAD
BANANA RIDE INR : 600 / HEAD
Honeymoon inclusions Optional Cost :
INR : 4500 (one session of candle light dinner )
INR: 2000 ( Flower bed decoration )
INR: 3000 ( Cake & Wine)
CRUISE UPGRADATION : 
DELUXE CLASS : INR : 400 / HEAD/ ONE WAY 
ROYAL CLASS : INR : 1400 /HEAD/ ONE WAY 
AC VEHICLE IN HAVELOCK ISLAND : 2500 /DAY 
TOUR ESCORT FOR ACCOMPANY INR : 2000 / DAYAirfares/Ship Fare To Mainland
Personal Expenses
Room Service, Laundry, Telephone Charges
Activity Charges, Scuba, Jet Ski, Snorkeling Etc
Expenses Occurred Due To Bad Weather Or Ferry /Flight Cancellation
Additional Tour Or Vehicle Usage",
		      "name": "Andaman 3 Night Tour",
		      "telephone": "+91-9474250093"
		    }
		    </script>
			";i:5;N;}