a:6:{i:0;s:12771:"				<div class="h1"><h1>Andaman - Port Blair Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.skytriptraveleasy.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.skytriptraveleasy.com/packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Andaman - Port Blair Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						4 Nights / 5 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Port Blair, Havelock</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.skytriptraveleasy.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman - Port Blair 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="21193"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/264226/38924.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/264226/38924.jpg"  width="150" height="150"    alt="Andaman - Port Blair Tour" title="Andaman - Port Blair Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Airfare/ Ship Fare From Mainland.<br />
Lunch & Dinner At Respective Hotels.<br />
Snorkelling Equipment During Wandoor Excursion (Jolly Bouy Or Red Skin).<br />
Camera Charges At All Sightseeing Places.<br />
Personal Expenses Of The Guest At Port Blair & Havelock.<br />
Vehicle At Disposal. For The Trip To Radhanagar Beach The Car/Jeep Will Drop The Guest And Return Back At The Fixed Time To Pickup The Guest.<br />
Any Extra Excursions Or Sightseeing Apart From Suggested Tour Itinerary.<br />
Optional Activities As Mentioned As Add Ons.<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 Andaman
								</p>
								<p class="aj">Meet And Greet At The Port Blair Airport. Port Blair City Is A Small Town And Hence The Guest Can After Relaxation Take A Leisurely Stroll In The Port Blair Market. At 1230 Hrs The Car Will Arrive To Pick Up The Guest And Drop For The Afternoon Ferry (1400 Hrs) Ferry From Port Blair – Havelock. The Ferry Takes 2.5 Hrs To Reach Havelock. On Arrival Proceed To Selected Hotel. Evening At Leisure.</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> Excursion to Elephant Beach
								</p>
								<p class="aj">Embark On The Most Memorable Snorkelling Trip, Just 25 Min By Boat This Beach Offers Snorkelers Calm Blue Shallow Waters And Is The Perfect Spot For Beginner Snorkelers. The Boat Goes Right Up To The Beach And It’s So Easy To Slip On Your Gear And Just Start Snorkelling. It’s Also A Great Place To Just Spend The Day Lying On The Beach And Relaxing. The Beach Is Very Scenic With Fallen Trees And Whitesand Giving The Photographer Some Interesting Shots. The Reef Here Starts Very Close To Shore At A Depth Of About 1 Metre. The Large Reef Is Mostly Made Up Of Hard Coral And Has Plenty Of Marine Life. Note: Inclusive Of Snorkelling Equipment And Car Pick Up And Drop. (The Trip May Be Changed To Light House Subject To Weather Conditions And Visibility).</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
								</p>
								<p class="aj">Radhanagar Beach Rated As The Best Beach In Asia. Spend The Day Relaxing On This Beach. (N/Ac Car/ Jeep Will Be Provided For Pickup And Drop; Time Spent 2-3 Hrs) Return From Havelock Island In The Evening By Govt Ferry And Transfer To Hotel In Port Blair. Evening At Leisure.</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">After breakfast, start for a tour of places in & around Port Blair (City Tour) - covering the famous Cellular Jail*( a witness to the freedom struggle), Chatam Saw Mill (one of the oldest & largest in Asia), Forest Museum, Anthropological Museum, Fisheries (Marine) Museum, Naval Marine Museum (Samudrika) and the Cottage Industries Emporium (Sagarika) - for shopping & souvenirs. After lunch visit Ross Island which is about 2 km east of Port Blair and can be reached by a short boat ride from Water Sports Complex .<br />
The island is controlled by the Indian navy, which requires every visitor to sign in on entering. In the evening, attend the enthralling Sound and Light Show at Cellular Jail - where the heroic saga of the Indian freedom struggle is brought alive.</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">Depart Port Blair With Fond Memories Of These Mesmerizing Islands.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
																		<li>Entry Tickets</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare/ Ship Fare From Mainland.</li><li>
Lunch & Dinner At Respective Hotels.</li><li>
Snorkelling Equipment During Wandoor Excursion (Jolly Bouy Or Red Skin).</li><li>
Camera Charges At All Sightseeing Places.</li><li>
Personal Expenses Of The Guest At Port Blair & Havelock.</li><li>
Vehicle At Disposal. For The Trip To Radhanagar Beach The Car/Jeep Will Drop The Guest And Return Back At The Fixed Time To Pickup The Guest.</li><li>
Any Extra Excursions Or Sightseeing Apart From Suggested Tour Itinerary.</li><li>
Optional Activities As Mentioned As Add Ons.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p>Ross Island Is Closed Every Wednesday. Anthropological Musuem, Fisheries Musuem, Cellular Jail, Samudrika, Mahatma Gandhi National Park Is Closed On Monday And National Holidays. Chatham Saw Mill, Forest Museum And Mini Zoo Is Closed On Sunday And National Holiday. We Can Arrange Private Charters Between Port Blair&nbsp;- Havelock At An Extra Cost For A 01 Way Trip. This Is A Super Fast Boat And Can Take Maximum Of 06 Passengers (Cost Remains The Same For 01 Or 08 Passengers). The Travel Time Is Between 1-1.5 Hrs. All The Eco Tours And Activities Are Subject To Weather Conditions. All Sightseeing Trips Are Dependent On The Date And Day As Places Have Separates Dates On Which They Are Closed. In Case We Are Not Able To Show A Particular Place From The Itinerary We Will Offer A Refund To The Cost Of The Entry Ticket Only. Kindly Note That Only Barefoot At Havelock Is Located On Beach No 7 ( Radhanagar Beach, Rated As The Best Beach In Asia) And All Other Hotels Mentioned Are Located On Beach No 5 &amp; 3 Around 08 Kms Away From Beach No 7. Please Note That The Jolly Bouy Or Skin Island Snorkelling Trip Rate Is Only Applicable For Indian Nationals For Foreigners There Is A Further Charge. Port Blair &amp; Havelock Hotels Have Early Check Out Times And Request You To Note The Same Accordingly. We Do Not Have Any Control Over The Same And Request Guest To Co Operate On The Same. The Government Ferry Which Is Used To Travel Between Port Blair &ndash; Havelock Takes Between 02-03 Hrs Travel Times. It Is Our Endeavour To Guarantee The Best Seat On This Ferry But Having A Capacity Of Only 100 Passengers Sometimes Getting Preferred Seats Is Difficult Though We Will Ensure That The Guest Is Boarded On The Ferry.Please Note That Whereas We Undertake To Provide You With A Place On The Sailing, A Fixed Seat Is Sometimes Not Possible And You May Have To Travel On Deck. By Default We Book Only The Base Category In Government Ferry. Ferry Timings Are Subject To Change At The Government&#39;S Discretion, And We Assume No Liability For Disruption In Schedule Owing To The Same, Although We Will Do Our Best To Implement Your Itinerary To The Fullest And Provide You With Commensurate Back-Up Options In Case You Are Stranded For (Say) The First Night At Port Blair, In Lieu Of Accommodation At Havelock. Indo Travels Merely Assist Guest With Transfers And Incase Of Non Availability Of Tickets Or Cancellations Our Liability Is Limited To The Value Of The Ticket. We Will Certainly Assist In Arranging Alternates And Offer The Same To The Guest Payment For Which Can Be Made Directly. Kindly Note That We Do Not Guarantee The Sailing Of Mv Makruzz And In Case It Does Not Sail Due To Bad Weather Or A Technical Snag We Will Not Be Held Liable For The Same. Our Liability Is Only To Value Of The Makruzz Ticket And If Any Loss Or Extra Payment For Extra Services Needs To Made Barefoot Will Not Be Liable For It. Please Note That The Charges Mentioned Are Only For The Base Category &lsquo;premium&rsquo; And In Case The Same Is Not Available, We Shall Try And Block You Either On The &lsquo;deluxe&rsquo; Or &lsquo;royal&rsquo; Category And The Difference For The Same Can Be Paid On Arrival. We Offer To Book Only The Premium Category In Our Standard Package.												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.skytriptraveleasy.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman - Port Blair 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="21193"/>
						</form>
						</div>
						
						";i:1;s:64:"Book Andaman - Port Blair Tour - 4 Nights / 5 Days Tour Packages";i:2;s:133:"book andaman - port blair tour - 4 nights / 5 days tour packages, beach and islands tour packages, port blair, havelock tour packages";i:3;s:169:"Skytrip Travel Easy offers Andaman - Port Blair Tour - 4 Nights / 5 Days tour package, budget Beach and Islands tour packages for Port Blair, Havelock at exciting price.";i:4;s:926:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Havelock"        
		                 },
		      "description": "Airfare/ Ship Fare From Mainland.
Lunch & Dinner At Respective Hotels.
Snorkelling Equipment During Wandoor Excursion (Jolly Bouy Or Red Skin).
Camera Charges At All Sightseeing Places.
Personal Expenses Of The Guest At Port Blair & Havelock.
Vehicle At Disposal. For The Trip To Radhanagar Beach The Car/Jeep Will Drop The Guest And Return Back At The Fixed Time To Pickup The Guest.
Any Extra Excursions Or Sightseeing Apart From Suggested Tour Itinerary.
Optional Activities As Mentioned As Add Ons.",
		      "name": "Andaman - Port Blair Tour",
		      "telephone": "+91-9555999290"
		    }
		    </script>
			";i:5;N;}