a:6:{i:0;s:33140:"				<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>Astonishing Andaman Tour Packages 4 Nights 5 Days</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.andamanseahawktravels.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamanseahawktravels.in/packages.htm" title="Packages">Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Astonishing Andaman Tour Packages 4 Nights 5 Days</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.andamanseahawktravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Astonishing Andaman Tour Packages 4 Nights 5 Days - 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="68557"/>
						</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_9/244363/124824.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/244363/124824.jpg"  width="150" height="150"    alt="Astonishing Andaman Tour Packages 4 Nights 5 Days" title="Astonishing Andaman Tour Packages 4 Nights 5 Days" /></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>
													
								Personal expenses.<br />
Airfares / Ship fare to mainland India.<br />
Activity charges, Jet Ski, scuba diving etc.<br />
Room Services, Laundry, Telephone charges, Ross island maintenance fee.<br />
Anything which is not mentioned in "PRICE INCLUDES".<br />
Additional usage of vehicle.<br />
Any services not specifically mentioned in the inclusions.<br />
Supplement(s) if any - Per Person in          INR We will not be Liable for the following :<br />
For any lost or damage your personal belongings during the tour / stay, we would request you to take care of your<br />
personal belongings on your own.<br />
To pay for any extra services beyond the above-mentioned inclusions (Until approved by you in writing).<br />
We would in no way be liable for any delay / loss of Baggage, Loss of Passports, Air Tickets and Forex/INR etc. However we would provide assistance to the best of our abilities.<br />
<br />
Cancellation Policy:<br />
All services such as Airline seats / Hotel accommodation / ground transportation for tours are pre-blocked well in advance. We are liable to pay penalties to all our suppliers / vendors if these services are released within the below mentioned time frame.<br />
<br />
If circumstances make you cancel the Tour or the group size reduces below the number of passengers mentioned, the cancellation must be intimated to us in writing. Such Cancellation will attract the following Cancellation Charges:<br />
<br />
Cancellation Charges Per Person when a Cancellation is made-<br />
45 days or more prior to the departure of the tour<br />
-      25%<br />
30 days or more prior to the departure of the tour<br />
-      50%<br />
15 days or more prior to the departure of the tour<br />
-      100%<br />
No Show<br />
-      100%<br />
<br />
In case there are any other Cancellation that are levied by either of the suppliers i.e. Airlines or the Hotels the same would subsequently be charged from you.<br />
<br />
<br />
General Information-<br />
The prices are quoted on Per Person basis in<br />
<br />
<br />
INR      .<br />
The confirmation of rooms at desired hotels will be subject to availability on the day of making the booking. In case rooms are not available at the hotel foreseen/ desired bookings will be made in alternate or similar category or the next best available hotel. Any supplement/ reduction applicable in such cases will be payable accordingly by you.<br />
Above prices are subject to any revision of tax and tariff. Standard Check-in / Check out time at hotels is 12 Noon. Flight/Train schedule is subject to change by the Airlines/Railways.<br />
The Airfare is in Economy Class and subject to change without any prior notice.								</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> Arrive Port Blair
										</p>
										<p class="aj">Airport pickup<br />
welcome on arrival at Port Blair - Veer Savarkar Airport at Port Blair & get transferred by a private Air -Conditioned Vehicle to the Resort / hotel include baggage handling. After reaching to the Hotel our representative will assist to do Hotel Check in formalities. After a short time for leisure have lunch and start for sightseeing of places in and around Port Blair.<br />
<br />
Carbyn's Cove Beach ,Cellular Jail & Light and Sound<br />
we proceed to Carbyn's Cove Beach, Which cover Corbyn's Cove Beach - 9 kms from Port Blair town - a coconut palm fringed beach Corbyn’s Cove has a small curve of sand backed by palms. The coastal road here is a scenic journey, and passes several Japanese WWII bunkers along the way.<br />
The Cellular Jail has a pride of place in India ’s freedom struggle. Many a stalwart were imprisoned here. Declared a national memorial, this three storey prison constructed by Britishers in 1906, is a pilgrimage destination for freedom fighters. This colossal edifice has mutely witnessed the most treacherous of inhumane atrocities borne by the convicts, who were mostly freedom fighters.<br />
Cellular Jail is closed on Monday<br />
Light and Sound Show at 1800 hrs or 1900 Hrs. Back to Gust house. Enjoy Cellular Jail Entry Ticket<br />
Enjoy Cellular Jail Light & Sound Program<br />
Overnight at Hotel.</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> Port Blair
										</p>
										<p class="aj">Breakfast at hotel.<br />
Ross & North Bay Island<br />
Today after breakfast embark on a day long two island cruise. One of the most sought after activities. It covers a panorama of seven harbours that include the, North Bay and Ross Island. It leaves a lasting impression. Visit Ross Island. Once the administrative headquarters of the British and capital of these Islands, the island is now under the Indian Navy. It stands now as a ruin of the bygone days with the old structures almost in debris. There is a small museum named Smritika, it holds photographs and the other antiques of the Britishers relevant to these islands. The island is famous for friendly flocks of Deer and lush green walking trails. North Bay, the water lovers may enjoy (called the Coral Island). Best destination to enjoy the view of colourful corals and underwater marine life through glass bottom boat and Snorkeling or take a glass bottom boat ride (Optional on direct payment) in its shallow waters with a chance to see corals up close. Return to the hotel. Dinner and stay overnight at the Hotel.<br />
<br />
Enjoy Ross Island & North Bay Island Boat Ticket<br />
<br />
Overnight at Hotel.</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> Port Blair - Havelock
										</p>
										<p class="aj">Breakfast at hotel.<br />
Proceed to Havelock Island<br />
In the early morning drop to Port Blair Harvour for the proceed to the Havelock Island .The island is named after a British Army Officer. The island offers state-of-the-art facilities for snorkeling and scuba diving. Havelock is famous for its white sand and crystal clear and transparent waters.<br />
Enjoy Port Blair To Havelock Makruzz Ship (Premium) Ticket<br />
<br />
Radhanagar Beach<br />
After reach our company’s vehicle will be in the resort to take you to the Radhanagar beach- Asia's Best Beach and rated amongst world's top ten beaches. Radhanagar Beach (Beach #7) is the most beautiful on the island and was rated as the best in Asia by Time in 2004. Gorgeous, silky white sand backed by a forest that provides welcome shade looks out over turquoise water, some stretches with a sandy bottom good for swimming and some with excellent coral reefs that are great for snorkeling - a great combination indeed. Sunsets here are often spectacular and it's a popular time to be at the beach. By evening return back to the hotel and Stay Overnight at Havelock Island.<br />
Kindly remind hotel to provide packed breakfast at Port Blair since the same is not included at Havelock<br />
.<br />
Proceed to Port Blair<br />
in evening we Back towards the Port Blair by Havelock Island Harbour. Enjoy Havelock To Port Blair Makruzz Ship (Premium) Ticket<br />
One arrival at Port Blair Harvour our representative will be stand out side the gate to take you and drop to Hotel /Guest House.<br />
Overnight at Hotel.</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> Port Blair
										</p>
										<p class="aj">Breakfast at hotel.<br />
<br />
Baratang Island<br />
Today we proceed towards Baratang Island Mud Volcano, Limestone Caves (Full Day Programme). Baratang Island is located between Middle and South Andaman Islands. Approximately, 110 Kms from Port Blair, Baratang Island is another major attraction for most of the tourist visiting this island. What would you expect when you visit a tropical island? Dense Forest, Tribes, Mangroves, boats, beaches, birds, caves, trekking, volcanoes; Baratang has all of these to offer. Journey to this Island is an adventurous one. Your trip starts early in the morning from Port Blair and Same day return to Port Blair.<br />
<br />
Enjoy Boat Ticket<br />
Enjoy Lime Stone Cave<br />
Enjoy Mud Valcano Per Group Upto 8 Pax<br />
Overnight at Hotel.</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">Breakfast at hotel.<br />
Airport Droping<br />
Drop at Airport. Return home with memories of a wonderful holiday. (Check out time ---- Hrs)</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>Transport</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>Personal expenses.</li><li>
Airfares / Ship fare to mainland India.</li><li>
Activity charges, Jet Ski, scuba diving etc.</li><li>
Room Services, Laundry, Telephone charges, Ross island maintenance fee.</li><li>
Anything which is not mentioned in "PRICE INCLUDES".</li><li>
Additional usage of vehicle.</li><li>
Any services not specifically mentioned in the inclusions.</li><li>
Supplement(s) if any - Per Person in          INR We will not be Liable for the following :</li><li>
For any lost or damage your personal belongings during the tour / stay, we would request you to take care of your</li><li>
personal belongings on your own.</li><li>
To pay for any extra services beyond the above-mentioned inclusions (Until approved by you in writing).</li><li>
We would in no way be liable for any delay / loss of Baggage, Loss of Passports, Air Tickets and Forex/INR etc. However we would provide assistance to the best of our abilities.</li><li>
Cancellation Policy:</li><li>
All services such as Airline seats / Hotel accommodation / ground transportation for tours are pre-blocked well in advance. We are liable to pay penalties to all our suppliers / vendors if these services are released within the below mentioned time frame.</li><li>
If circumstances make you cancel the Tour or the group size reduces below the number of passengers mentioned, the cancellation must be intimated to us in writing. Such Cancellation will attract the following Cancellation Charges:</li><li>
Cancellation Charges Per Person when a Cancellation is made-</li><li>
45 days or more prior to the departure of the tour</li><li>
-      25%</li><li>
30 days or more prior to the departure of the tour</li><li>
-      50%</li><li>
15 days or more prior to the departure of the tour</li><li>
-      100%</li><li>
No Show</li><li>
-      100%</li><li>
In case there are any other Cancellation that are levied by either of the suppliers i.e. Airlines or the Hotels the same would subsequently be charged from you.</li><li>
General Information-</li><li>
The prices are quoted on Per Person basis in</li><li>
INR      .</li><li>
The confirmation of rooms at desired hotels will be subject to availability on the day of making the booking. In case rooms are not available at the hotel foreseen/ desired bookings will be made in alternate or similar category or the next best available hotel. Any supplement/ reduction applicable in such cases will be payable accordingly by you.</li><li>
Above prices are subject to any revision of tax and tariff. Standard Check-in / Check out time at hotels is 12 Noon. Flight/Train schedule is subject to change by the Airlines/Railways.</li><li>
The Airfare is in Economy Class and subject to change without any prior notice.</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">Hotel - A Foreseen-</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">City</td>
				<td class="headHr p5px b">Hotel</td>
				<td class="headHr p5px b">Room Category</td>
				<td class="headHr p5px b">Meal Plan</td>
			</tr>
			<tr>
				<td class="data p5px">Port Blair</td>
				<td class="data p5px">Airport Hotel</td>
				<td class="data p5px">Executive Room</td>
				<td class="data p5px">Breakfast</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">CATEGORY/ PER PERSON RATES</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">04 PAX</td>
			</tr>
			<tr>
				<td class="data p5px">3 STAR HOTEL</td>
				<td class="data p5px">11386</td>
			</tr>
		</table></div><br>								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</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="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.andamanseahawktravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Astonishing Andaman Tour Packages 4 Nights 5 Days - 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="68557"/>
						</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.andamanseahawktravels.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(229)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanseahawktravels.in/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(1)</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.andamanseahawktravels.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanseahawktravels.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(223)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanseahawktravels.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanseahawktravels.in/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='http://www.andamanseahawktravels.in/tour-packages/exotic-andamans-family-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/244363/44328.jpg"  alt="Exotic Andamans Family Package " title="Exotic Andamans Family Package "  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanseahawktravels.in/tour-packages/exotic-andamans-family-package.htm" title="Exotic Andamans Family Package "><h3>Exotic Andamans Family 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> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_23220" id="pkg_23220" method="post" action="http://www.andamanseahawktravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanseahawktravels.in/tour-packages/exotic-andamans-family-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Exotic Andamans Family 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="23220"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanseahawktravels.in/tour-packages/andaman-mega-ishland-tour6-nights7-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/244363/123909.jpg"  alt="Andaman Mega ishland Tour 6 Nights 7 Days" title="Andaman Mega ishland Tour 6 Nights 7 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanseahawktravels.in/tour-packages/andaman-mega-ishland-tour6-nights7-days.htm" title="Andaman Mega ishland Tour 6 Nights 7 Days"><h3>Andaman Mega Ishland Tour 6 Nights 7 Days</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</p>
															<div class="mt10px small">
							<form name="pkg_67958" id="pkg_67958" method="post" action="http://www.andamanseahawktravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanseahawktravels.in/tour-packages/andaman-mega-ishland-tour6-nights7-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Andaman Mega ishland Tour 6 Nights 7 Days - 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="67958"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanseahawktravels.in/tour-packages/andaman-weekend-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/244363/11411.jpg"  alt="Andaman Weekend Tour" title="Andaman Weekend Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanseahawktravels.in/tour-packages/andaman-weekend-tour.htm" title="Andaman Weekend Tour"><h3>Andaman Weekend 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</p>
															<div class="mt10px small">
							<form name="pkg_10388" id="pkg_10388" method="post" action="http://www.andamanseahawktravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanseahawktravels.in/tour-packages/andaman-weekend-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Andaman Weekend 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="10388"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanseahawktravels.in/tour-packages/sampoorna-andaman-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/244363/43533.jpg"  alt="Sampoorna Andaman Tour" title="Sampoorna Andaman Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanseahawktravels.in/tour-packages/sampoorna-andaman-tour.htm" title="Sampoorna Andaman Tour"><h3>Sampoorna Andaman 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_22973" id="pkg_22973" method="post" action="http://www.andamanseahawktravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanseahawktravels.in/tour-packages/sampoorna-andaman-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Sampoorna Andaman 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="22973"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanseahawktravels.in/tour-packages/port-blair-sea-beach-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://static.tourtravelworld.com/images/tour-package-no-image.gif"  alt="Port Blair Sea Beach Tour" title="Port Blair Sea Beach Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanseahawktravels.in/tour-packages/port-blair-sea-beach-tour1.htm" title="Port Blair Sea Beach Tour"><h3>Port Blair Sea Beach 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_10492" id="pkg_10492" method="post" action="http://www.andamanseahawktravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanseahawktravels.in/tour-packages/port-blair-sea-beach-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Port Blair Sea Beach 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="10492"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanseahawktravels.in/tour-packages/baratang-island-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_9/244363/12176.jpg"  alt="Baratang Island Tour" title="Baratang Island Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanseahawktravels.in/tour-packages/baratang-island-tour.htm" title="Baratang Island Tour"><h3>Baratang Island 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> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_10801" id="pkg_10801" method="post" action="http://www.andamanseahawktravels.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanseahawktravels.in/tour-packages/baratang-island-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Baratang Island 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="10801"/>
							</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:88:"Book Astonishing Andaman Tour Packages 4 Nights 5 Days - 4 Nights / 5 Days Tour Packages";i:2;s:147:"book astonishing andaman tour packages 4 nights 5 days - 4 nights / 5 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:211:"Book Astonishing Andaman Tour Packages 4 Nights 5 Days - 4 Nights / 5 Days tour packages from Andaman Sea Hawk Tours & Travels - Get attractive 4 Nights / 5 Days Beach and Islands  tour packages for  Port Blair.";i:4;s:2942:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "Personal expenses.
Airfares / Ship fare to mainland India.
Activity charges, Jet Ski, scuba diving etc.
Room Services, Laundry, Telephone charges, Ross island maintenance fee.
Anything which is not mentioned in "PRICE INCLUDES".
Additional usage of vehicle.
Any services not specifically mentioned in the inclusions.
Supplement(s) if any - Per Person in          INR We will not be Liable for the following :
For any lost or damage your personal belongings during the tour / stay, we would request you to take care of your
personal belongings on your own.
To pay for any extra services beyond the above-mentioned inclusions (Until approved by you in writing).
We would in no way be liable for any delay / loss of Baggage, Loss of Passports, Air Tickets and Forex/INR etc. However we would provide assistance to the best of our abilities.

Cancellation Policy:
All services such as Airline seats / Hotel accommodation / ground transportation for tours are pre-blocked well in advance. We are liable to pay penalties to all our suppliers / vendors if these services are released within the below mentioned time frame.

If circumstances make you cancel the Tour or the group size reduces below the number of passengers mentioned, the cancellation must be intimated to us in writing. Such Cancellation will attract the following Cancellation Charges:

Cancellation Charges Per Person when a Cancellation is made-
45 days or more prior to the departure of the tour
-      25%
30 days or more prior to the departure of the tour
-      50%
15 days or more prior to the departure of the tour
-      100%
No Show
-      100%

In case there are any other Cancellation that are levied by either of the suppliers i.e. Airlines or the Hotels the same would subsequently be charged from you.


General Information-
The prices are quoted on Per Person basis in


INR      .
The confirmation of rooms at desired hotels will be subject to availability on the day of making the booking. In case rooms are not available at the hotel foreseen/ desired bookings will be made in alternate or similar category or the next best available hotel. Any supplement/ reduction applicable in such cases will be payable accordingly by you.
Above prices are subject to any revision of tax and tariff. Standard Check-in / Check out time at hotels is 12 Noon. Flight/Train schedule is subject to change by the Airlines/Railways.
The Airfare is in Economy Class and subject to change without any prior notice.",
		      "name": "Astonishing Andaman Tour Packages 4 Nights 5 Days",
		      "telephone": "+91-9933200646"
		    }
		    </script>
			";i:5;N;}