a:6:{i:0;s:31918:"				<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 Exotic 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 Exotic 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> 
						4 Nights / 5 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 Exotic 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="117617"/>
						</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/190945.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/507938/190945.jpg"  width="150" height="150"    alt="Andaman Exotic Tour" title="Andaman Exotic 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)<br />
5. In Havelock And Neil Island The No Of Vehicle Is Less , We Request You To Cooperate If Any Delay In Pick Up & 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 />
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 />
One Session Of Complimentary Honey Moon Cake @ Port Blair<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 />
<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 />
<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 your 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 :<br />
Hindi show starts from 6:00 pm to 7:15 pm on Tuesday, Thursday, Saturday and Sunday.<br />
English show starts from 7:15 pm.<br />
Jail Museum opens from 9:00 am to 12:00 noon, and from 1:30 pm to 4:45 pm. Close on Monda</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> Chidiayatapu beach
										</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 5:</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>
								
    	<p class="h dif xlarge b mb5px">Rate Card:-</p>
		<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 ( 03 nights )</td>
				<td class="data p5px">RADHA KRISHANA RESORT ( 01 night )</td>
				<td class="data p5px">Rs. 27,500 +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 ( 01 night )</td>
				<td class="data p5px">Rs. 33,500 + 5% GST</td>
			</tr>
			<tr>
				<td class="data p5px">PREMIUM</td>
				<td class="data p5px">PEERLESS SAROVAR PORTICO BEACH RESORT ( 03 nights</td>
				<td class="data p5px">HAVELOCK ISLAND BEACH RESORT ( 01 night )</td>
				<td class="data p5px">Rs. 53,000 + 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>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. 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. 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.</li>
	<li>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 . 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 Exotic 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="117617"/>
						</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/andaman3-night-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/507938/190943.jpg"  alt="Andaman 3 Night Tour" title="Andaman 3 Night 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/andaman3-night-tour.htm" title="Andaman 3 Night Tour"><h3>Andaman 3 Night 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</p>
															<div class="mt10px small">
							<form name="pkg_117615" id="pkg_117615" 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/andaman3-night-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Andaman 3 Night 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="117615"/>
							</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>
															
						</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:58:"Book Andaman Exotic Tour - 4 Nights / 5 Days Tour Packages";i:2;s:117:"book andaman exotic tour - 4 nights / 5 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:159:"Destination Andaman Tours offers Andaman Exotic Tour - 4 Nights / 5 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:2916:"
			<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 & 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..
Guided Tour To Cellular Jail And Ross Island .
One ½ Litr Complimentary Mineral Water Bottle Daily In Port Blair Only At The Time Of Sightseeing.
One Session Of Complimentary Honey Moon Cake @ Port Blair
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 Exotic Tour",
		      "telephone": "+91-9474250093"
		    }
		    </script>
			";i:5;N;}