a:6:{i:0;s:11740:"				<div class="h1"><h1>Discover Andaman With Neil Island Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.heavendestination.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.heavendestination.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Discover Andaman With Neil Island 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">
						6 Nights / 7 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.heavendestination.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Discover Andaman With Neil Island 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="118479"/>
						</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_12/358960/192127.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/358960/192127.jpg"  width="150" height="150"    alt="Discover Andaman With Neil Island Package" title="Discover Andaman With Neil Island 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">Arrive at the Port Blair Airport, Veer Savarkar Airport,  representative will meet you and assist you to your hotel. The capital city of Andaman, Port Blair is famous for its pristine natural beauty and serene environment. The city offers fabulous views of coconut and palm trees, azure blue water and gleaming sand. It is one of the major tourist places in India.<br />
<br />
Relax and rest at the hotel. After lunch, spend some time at Water Sports Complex (closed on Wednesday). Indulge in water activities at your own cost; like on-water obstacle and non-motorized watersports in a safe area of the sea known as the Aqua Fun Park. Jet Ski, speed boat ride, glass bottom boat ride, banana boat ride, etc. are thrilling. (Please carry change of clothes) or opt to relax by the seaside at Ocean Blue cafe.<br />
<br />
In the evening, proceed to attend the fascinating Sound and Light Show at Cellular Jail (at 1800 or 1900 Hours, depending on light and sound show ticket availability) where the heroic saga of the Indian freedom struggle is brought to life with poignant music and lights.<br />
<br />
Once you've explored the attractions in Port Blair, return back to the hotel and retire for the day. 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> Journey to Havelock
								</p>
								<p class="aj">Check out of the hotel and head towards Havelock, situated 54 kilometers away from Port Blair. The breathtaking views of beaches scattered by palm trees and coral reefs, azure blue water and amazing resorts in this island attract tourists from all over the world. The ferry takes up to 2.5 hours to reach Havelock. Upon your arrival at Havelock, check in at the hotel and relax for some time.<br />
<br />
Pay a visit to the famous Radhanagar Beach in the afternoon. This beach is not only the finest beach in India but also it has been honored as 'Asia's Best Beach' by the famous 'Time Magazine'. The blue water, peaceful environment and white sand offer an overwhelming look to this beach. Here you can enjoy sun basking and stroll in the soft sand. Also, guests can partake in various adventure sports such as scuba diving, game fishing, swimming and snorkeling etc.<br />
<br />
Post spending quality time at the beach, return back to the hotel and take rest. (Kindly remind hotel to provide packed breakfast at Port Blair since the same is not included at 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 3:</b> Elephant Beach
								</p>
								<p class="aj">Today you are taken for an excursion to Elephant beach. Your ride will arrive at 0700 hours as the boat to the island expedition will leave at 0730 hours. Gear up for the most memorable snorkeling, at a distance of just 25 minutes by Boat. This scenic beach with fallen trees and white sand offers tranquil shallow waters perfect for beginner snorkelers. The boat goes right up to the beach. Enjoy snorkeling or spend the day lying on the beach and relaxing. The hard coral reef here starts close to shore at a depth of about 1 metre and has plenty of marine life.<br />
<br />
Return to your hotel for a relaxing night stay.</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> Ferry from Havelock
								</p>
								<p class="aj">After breakfast, check-out from the hotel and transfer to the jetty to board the ferry to Neil Island. Upon arrival, transfer to the Hotel in Neil Island and check-in. Set out for a sightseeing trip to Laxmanpur Beach and Bharatpur Beach in the evening. Enjoy a comfortable overnight stay at Neil Island.</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> Ferry from Neil Island to Port Blair
								</p>
								<p class="aj">After breakfast at the hotel, check-out and transfer to the jetty. Board the ferry to Port Blair. (ferry timing depends upon availability). Upon reaching Port Blair, transfer to your hotel and spend the rest of the day 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 6:</b> Port Blair – City Tour and Corbyn's Cove Beach
								</p>
								<p class="aj">Start the day with an appetizing breakfast, start for a tour of places in and around Port Blair. The City Tour starts with the famous Cellular Jail, which is a witness to the Indian freedom struggle. Next is Chatham Saw Mill, one of the oldest & largest in Asia). Forest Museum, is worth your time. At the Fisheries Museum, you would explore around 350 species of marine life such as starfish, fishes and live corals. In the Anthropological Museum, the tribal culture of the region is displayed. Here you will see a huge collection of weapons, models, clothes, baskets, photographs and tribal boats etc. The Naval Marine Museum, known as Samudrika Museum run and owned by the Indian Navy is a treasure of antique collections of corals and shells etc. The museum also displays the history, geography and culture of Andaman and Nicobar Islands. Later, enjoy a fantastic experience of discovering the Port Blair Museum and return back to the hotel for overnight stay.<br />
<br />
After lunch, proceed to visit Corbyn's Cove Beach. The only beach in Port Blair is ideal to relax and unwind. Proceed for local shopping.</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 7:</b> Departure
								</p>
								<p class="aj">Take your return flight Port Blair for onward journey with fond memories of the mesmerizing Andaman.</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>
															</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.heavendestination.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Discover Andaman With Neil Island 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="118479"/>
						</form>
						</div>
						
						";i:1;s:80:"Book Discover Andaman With Neil Island Package - 6 Nights / 7 Days Tour Packages";i:2;s:149:"book discover andaman with neil island package - 6 nights / 7 days tour packages, beach and islands tour packages, port blair, havelock tour packages";i:3;s:215:"Book Discover Andaman With Neil Island Package - 6 Nights / 7 Days tour packages from Heaven Destination Tour and Travel - Get attractive 6 Nights / 7 Days Beach and Islands  tour packages for  Port Blair, Havelock.";i:4;s:433:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Havelock"        
		                 },
		      "description": "",
		      "name": "Discover Andaman With Neil Island Package",
		      "telephone": "+91-9679569602"
		    }
		    </script>
			";i:5;N;}