a:6:{i:0;s:10771:"				<div class="h1"><h1>Wonderful Andaman Tour</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>Wonderful Andaman 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">
						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="Wonderful Andaman 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="118478"/>
						</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/192125.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/358960/192125.jpg"  width="150" height="150"    alt="Wonderful Andaman Tour" title="Wonderful Andaman Tour" /></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 at Port Blair
								</p>
								<p class="aj">As soon as you touch down at the Port Blair Airport, in the morning/afternoon, our tour guide will escort you to the resort/hotel. Complete the check-in formalities and then relax for a while in your suites, before you embark on for a sightseeing tour. Lunch is followed by a trip to the Cellular Jail, also known as Kala Pani. This location was the colonial prison during the British era. Later on, continue to the Water Sports Complex to engage in aquatic activities such as banana ride, speed boat ride, jet skiing and so on. (Do not forget to carry clothes for changing). If you want, you can also lighten up at a seaside shacks. The sundown is scheduled for the Light and Sound Show at Cellular Jail, narrating the tales of the freedom struggle brought alive.

Stay overnight.</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
								</p>
								<p class="aj">Day 2 starts in the early hours as you get into crack of the dawn ferry to Havelock Island from Port Blair. The distance between the two destinations is covered in 2.5 hours. (Carry packed breakfast). After arriving in Havelock, head towards the hotel. The remaining hours of the day is at leisure. Later, after sundown, visit Beach No 7, or the renowned Radhanagar Beach. This enchanting beach has been rated as the 'Best Beach in Asia' by Time Magazine. Return back to the lodge.

Stay in hotel for the night in 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> Havelock Island (excursion to Elephant Beach)
								</p>
								<p class="aj">As the dawn breaks, you are going to relish a day’s trip to the Elephant Beach. (The car comes to pick you up at 7'o clock in the first light as the boat departs at 07:30 AM). The distance is covered in just 25 minutes. The day is going to be stirring one as you are going to feel the thrill of snorkeling at Elephant Beach. Since the waters here are shallow, it is an idyllic spot for novice snorkelers. The depth of the reef close to the shore is around 1 meter. Ample maritime life and hard corals are the highlights of the larger reef. The ferry takes you to the beach where you change into your snorkeling kit. Discover the multihued marine world here. Later, you can simply slouch on the white sand and loosen up at the beach mesmerized in peace.

Return back to Havelock and retire for the night.</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 Island
								</p>
								<p class="aj">Unwind the day in Havelock. You can either relax on the beach or can chose from non- obligatory activities.

Stay in Havelock during the night.</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> Havelock - Port Blair
								</p>
								<p class="aj">The dawn crack is at leisure. After lunch, complete the check-out and visit the alluring Kalapathar beach. You drive past a tantalizing coastal side-road to arrive at the mushy sands. After chumming around for an hour, you move towards the jetty at Havelock Island to on-board a ferry towards Port Blair. Ferry departs at 1545 hours/1630 hours. You’ll reach the hotel after sundown. Relax in the hotel. (Note: All the hotels at Havelock have sunup check-out. Thus, you need to check-out prior to visiting Kalapathar beach. You will either have to carry your baggage as you are not going to go back to the lodge).

Overnight 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 6:</b> Port Blair
								</p>
								<p class="aj">Post morning supper, seeing the sights in and around Port Blair will start. (Note: City tour is closed on Monday). The city sightseeing includes Cellular Jail; Chatham Saw Mill – one of the oldest and chief saw mill in Asia, that was set in 1883; Forest Museum- showcasing wooden wonders created in special Andaman wood; Anthropological Museum- has region's aboriginal crafts on exhibition; Fisheries (Marine) Museum- warily preserving more than 350 species of marine life and Naval Marine Museum (Samudrika) - managed by Indian Navy, the museum also comprises of an aquarium. Later, savor lunch and carry on with sightseeing. Visit Corbyn’s Cove Beach- an ideal place to unwind. This beach has been blessed with abundant scenic charm. The evening is scheduled for shopping at the local souk.

Retire for the night in 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 7:</b> Departure from Port Blair
								</p>
								<p class="aj">On the last day of excursion, get escorted to the Airport to go on-board the flight for your journey.</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="Wonderful Andaman 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="118478"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Wonderful Andaman Tour - 6 Nights / 7 Days Tour Packages";i:2;s:130:"book wonderful andaman tour - 6 nights / 7 days tour packages, beach and islands tour packages, port blair, havelock tour packages";i:3;s:196:"Book Wonderful Andaman Tour - 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:414:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Havelock"        
		                 },
		      "description": "",
		      "name": "Wonderful Andaman Tour",
		      "telephone": "+91-9679569602"
		    }
		    </script>
			";i:5;N;}