a:6:{i:0;s:10562:"				<div class="h1"><h1>Andaman Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.orientconnections.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.orientconnections.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Andaman Tour Package</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">
						5 Nights / 6 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.orientconnections.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Tour Package - 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="112823"/>
						</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_13/367652/184886.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/367652/184886.jpg"  width="150" height="150"    alt="Andaman Tour Package" title="Andaman Tour Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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">Upon your arrival in Port Blair in the morning/afternoon, meet our tour representative who assists you in smooth transfer to the hotel in Port Blair. On arrival, check in at the hotel. Rest for a while.<br />
<br />
Port Blair: For centuries, the Andaman and Nicobar Islands were cloaked in mystery due to their inaccessibility. These islands are shimmering like emeralds in the Bay of Bengal and present a scenic and picturesque landscape. The dense forests cover these islands and the innumerable exotic flowers & birds create a romantic and lovely atmosphere.<br />
<br />
After lunch, you visit the extremely popular Cellular Jail. Formerly known as Kala Pani, it was a colonial prison used by the British to deportee political prisoners to this remote location. Next in line is visit to the Water Sports Complex (closed on: Wednesday). Partake in water activities of your interest such as speedboat ride, banana boat ride, Jet Ski, Glass Bottom Boat ride and so on. (You can carry extra clothes for change). Relaxing at a seaside café is another option.<br />
<br />
The evening is scheduled for enjoying the famous Light and Sound Show at Cellular Jail. The show speaks volumes about the saga of countless martyrs of Indian Independence struggle who laid down their lives. It is conducted every evening within the premises of cellular jail. By evening, return back to the hotel.<br />
<br />
Stay overnight in the 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 - Havelock
								</p>
								<p class="aj">The day starts early. You board the morning ferry from Port Blair to Havelock Island. Carry packed breakfast. This journey is of around 2.5 hours. On reaching, get transferred to the respective hotels to complete the check-in. In the evening, you visit the popular Radhanagar Beach, which is also known as Beach No 7. It was also been rated as the 'Best Beach in Asia' by the Time Magazine. Back to the hotel for unwinding.<br />
<br />
Overnight stay in the 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> Havelock
								</p>
								<p class="aj">The day starts early. You are going for a memorable excursion to the beautiful Elephant beach. The car will come at 07:00 hours, be ready as the boat will leave the jetty at 07:30 hours. The boat ride from Havelock to Elephant beach takes around 23 minutes. This surely is going to be an unforgettable snorkeling experience for you.<br />
<br />
Get into the snorkeling gear and get all set to explore the colorful underwater world. The reef close to the shore is around 1 meter deep and the larger reef is formed by an amazing variety of corals and marine life. After the snorkeling session, you can simply relax at the beach. The atmosphere is serene and the sight is soothing. Do not forget to catch the beauty of this white-sand beach in your camera. (Note: Snorkeling at the Elephant beach is subject to weather conditions.)<br />
<br />
Return to Havelock.</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> Havelock - Neil Island
								</p>
								<p class="aj">Post breakfast in the morning, check out from the hotel. Board a ferry from Havelock and get transferred to Neil. On arrival, you will be transferred to the respective hotels for check-in. In the evening, enjoy visit to the very popular Bharatpur beach and Laxmanpur Beach.<br />
<br />
Bharatpur Beach: Bharatpur Beach is a beautiful white sandy beach. Here one can relax, enjoy a leisurely walk on the sands and treat their eyes with the coral views. The Sea around the Jetty area is full of corals and schools of fishes swimming around.<br />
<br />
Laxmanpur Beach: Located 2 kilometers north of Neil Jetty, Laxmanpur Beach is a secluded beach scattered with white shell sand with shallow water offering snorkeling opportunities. Swimming and sun basking are other two options. Tourists can enjoy spectacular sunset views from the beach.<br />
<br />
Stay overnight in the 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> Neil Island - Port Blair
								</p>
								<p class="aj">After breakfast at the hotel, check-out and go on-board the ferry for your onward journey to Port Blair. On arrival in Port Blair, the rest of the day is at leisure. Explore the surroundings on your own. Overnight stay in the 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 6:</b> Departure
								</p>
								<p class="aj">Today, you will say final goodbye to the city of Port Blair. Later, check out of the hotel and get transferred to the airport for journey back home.</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.orientconnections.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Tour Package - 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="112823"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Andaman Tour Package - 5 Nights / 6 Days Tour Packages";i:2;s:128:"book andaman tour package - 5 nights / 6 days tour packages, beach and islands tour packages, port blair, havelock tour packages";i:3;s:178:"Book Andaman Tour Package - 5 Nights / 6 Days tour packages from Orient Connections - Get attractive 5 Nights / 6 Days Beach and Islands  tour packages for  Port Blair, Havelock.";i:4;s:412:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Havelock"        
		                 },
		      "description": "",
		      "name": "Andaman Tour Package",
		      "telephone": "+91-9552952695"
		    }
		    </script>
			";i:5;N;}