a:6:{i:0;s:9283:"				<div class="h1"><h1>Andaman 3Nights / 4Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.highspiritadventures.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.highspiritadventures.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Andaman 3Nights / 4Days 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">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Port Blair</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.highspiritadventures.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman 3Nights / 4Days 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="74594"/>
						</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_15/445618/133173.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/445618/133173.jpg"  width="150" height="150"    alt="Andaman 3Nights / 4Days Tour" title="Andaman 3Nights / 4Days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					4.5% Govt service tax<br />
Port Blair - Corbyns Cove - Light & Sound Show<br />
Port Blair - City Tour<br />
Port Blair - North Bay Coral Island (Day Excursion)<br />
Port Blair - Ross island (Day Excursion)<br />
Port Blair - Havelock Island- Radhanagar Beach (Day trip)<br />
All transfers and sightseeings on Private Basis<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> Schedule
								</p>
								<p class="aj">Take a drive towards the crescent shaped Corbyn’s Cove Beach, about 7 kms from Port Blair. This coconut palm fringed beach, is ideal for swimming. Later leave for the National Monument the Cellular Jail, and witness the saga of the Indian Freedom struggle through the Light and Sound Show. ( the history & migration to these archipelago revolves around this monumental architecture , once you finish taking the tour just after a gap of half an hour , you will witness the light & sound show, like any other light & sound it’s a narration of the story of the jail through light & sound )<br />
<br />
Port Blair - City Tour<br />
<br />
City Tour of Port Blair which includes the Fisheries Museum (Aquarium) - exhibits species of marine life peculiar to the islands, Anthropological Museum - displays tribal essential and artefacts’, Naval Marine Museum (Samudrika) - gives a good retrospect of the history, shells, Corals marine life, geography and archaeology of these islands,then proceed to Chatham saw mill , considered to be the oldest saw mill in Asia even though bombarded by the Japanese and concurred by the British east India company . Quite a interesting place to visit and to buy some stuff in the art and craft centre inside the mill run & maintained by the forest department.</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 - Havelock Island- Radhanagar Beach (Day trip)
								</p>
								<p class="aj">As per the ferry timings, transfer to the Jetty to take the ferry to Havelock Island.The total journey time is around 1 and 1/2 hour by sea.Upon arrival, transfer to the Radhanagar Beach, one of the most picturesque beach on the Islands. The beach has also been ranked 07th among the beaches of Asia by the TIME magazine.You can enjoy the beach as well as the sun set, which i guess is the best you can see. Return to Port Blair later in the afternoon, as per ferry timing.</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 - North Bay Coral Island (Day Excursion)
								</p>
								<p class="aj">A day excursion to North bay coral Island the water sports hub of Port Blair , in north bay you can undertake activities like jet ski or water scooter , snorkeling , underwater sea walk , scuba diving etc . Being surrounded by mountains this place is the safest place to undertake water sports.<br />
<br />
Port Blair - Ross island (Day Excursion)<br />
<br />
Visit the Administrative Capital Prior to Independence from where the Britishers governed the entire A & N Islands-ROSS ISLAND, A destination for Nature Walk amidst friendly Deer`s & Peacocks. Smritika Museum, records the life of its political prisoners. The Island still houses the Commissioner’s Palace, the bakery, British Officer’s Club, a church and an old cemetery of the British officer’s on the Island though these buildings now lie in ruins.</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> Departure with sweet memories.
								</p>
								<p class="aj">This is your last day of the trip. After breakfast, check out from the hotel as per the timings mentioned in the voucher. We suggest that you should keep this day light and check your flight timings before hand. You will be transferred to airport from the pick up location as mentioned in the voucher (If Applicable).</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>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.highspiritadventures.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman 3Nights / 4Days 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="74594"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Andaman 3Nights / 4Days Tour - 3 Nights / 4 Days Tour Packages";i:2;s:126:"book andaman 3nights / 4days tour - 3 nights / 4 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:180:"Book Andaman 3Nights / 4Days Tour - 3 Nights / 4 Days tour packages from High Spirit Adventures - Get attractive 3 Nights / 4 Days Beach and Islands  tour packages for  Port Blair.";i:4;s:706:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "4.5% Govt service tax
Port Blair - Corbyns Cove - Light & Sound Show
Port Blair - City Tour
Port Blair - North Bay Coral Island (Day Excursion)
Port Blair - Ross island (Day Excursion)
Port Blair - Havelock Island- Radhanagar Beach (Day trip)
All transfers and sightseeings on Private Basis",
		      "name": "Andaman 3Nights / 4Days Tour",
		      "telephone": "+91-8629029169"
		    }
		    </script>
			";i:5;N;}