a:6:{i:0;s:11996:"				<div class="h1"><h1>Andaman Exclusive 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>Andaman Exclusive 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">
						5 Nights / 6 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.heavendestination.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Exclusive 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="118497"/>
						</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/192150.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/358960/192150.jpg"  width="150" height="150"    alt="Andaman Exclusive Tour" title="Andaman Exclusive 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
								</p>
								<p class="aj">Our representative will pick you up from the airport and drop you at your hotel. From this point your amazing journey for the incredible Andaman will begin. We know you will be very excited and eager to experience the scenic beauty of the exotic island. We will be equally enthusiastic in welcoming you to the emerald beach destination. White sand beach, clear water and sunset combine to make Chiriyatapu a perfect tourist attraction. The place also has a small zoo which will interest children. The best time to visit the place is around late afternoon so that you don’t miss the serene sunset from the beach. Chiryatappu is also famous for swimming and has changing room facility.</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> North Bay Island
								</p>
								<p class="aj">North Bay Island which being located at a distance of 30mins by boat journey from water sports complex of Port Blair is the most coral reach Island of Andaman. It is one of the best places in Andaman to explore colorful corals and various under water creatures through sea walk, scuba diving, glass bottom boat and snorkeling. This island also has a small local market.Ross Island, the former capital of Andaman is located near Port Blair, which can be visited via boats from water sports complex by 20 minutes journey. The island is currently unhabituated for humans but the houses are wonderful and you also get to see friendly animals (deer’s) and birds (peacocks). Island has old buildings and churches which are architecturally amazing.</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> Jetty Drop
								</p>
								<p class="aj">Our representative will receive you from the hotel and will drop you at the jetty. Jetty is the place where boats/cruises halt (also known as Port), from here it takes and drops passengers and cargo from one place to another. Here you can find many sizes and varieties of ship starting from small slow boats for inter island journeys till multi layer cruise from different countries. Here you can take some memorable photographs, experience how boats operate and know the life style of localities. Keep your Id Proof ready in your hands along with ticket for security check. Radhanagar Beach : Radhanagar beach located at about 12km from jetty is also known as beach No.7. It is a beautiful Beach with amazing waves and perfect for swimming. It is constantly ranked as best beach in India and Asia. It’s a picture perfect beach with an excellent view of sunset. You cannot just miss this place if you are in Havelock. 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 4:</b> Havelock Island to Port Blair
								</p>
								<p class="aj">Our representative will receive you from the jetty and drop you at the hotel. Jetty is the place where boats/cruises halt (also known as Port), from here it takes and drops passengers and cargo from one place to another. Here you can find many sizes and varieties of ship starting from small slow boats for inter island journeys till multi layer cruise from different countries. Here you can take some memorable photographs, experience how boats operate and know the life style of localities. Keep your Id Proof ready in your hands along with ticket for security check. Corbyns Cove : The only beach around Port Blair is located at a distance of around 9kms and 20 mins from the city center. The beach is very famous for water sports activities and is a wonderful place to relax at. This beach has all the arrangements like rest chairs, changing rooms, restaurants etc.</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> Cellular Jail
								</p>
								<p class="aj">Cellular Jail houses the rich history of Andaman and is a must see in Port Blair. It is a colonial prison built by Britisher's to exile Indian freedom fighters and political leaders. Jail has museums that reflect the sufferings and hardship of the prisoners. The place has the pride & patriotism in the air and will certainly make you enthusiastic. Fisheries Museum : The marine museum is a small museum located near water sports complex which is maintained by Indian Marine department. This museum displays some aquatic life and coral present in Andaman Islands. It is a place where you can learn a lot about the life under sea. Anthropology Museum : This is one of the best museum in Port Blair, which provides thorough and sympathetic portrait of indigenous tribal communities of Andaman and Nicobar. The place reflects the rich history and culture of Andaman. There is no better place than this to explore the heritage and culture of Andaman. Samudrika Museum : Samudrika museum is a unique museum located in the heart of Port Blair that displays beautiful corals with neat notes on each species of sea creatures which makes it every educative. It is distinctly different from the mainland aquariums due to the presence of sheer variety of coral life that is exclusive to the seas surrounding the Andaman Islands. Vehicle For Shopping : You can do shopping of some shell arts, articles made of local stuff, species, handicrafts. We will provide you with a complimentary ride for shopping .Then we will drop you at your hotel. Water Sports Complex : Located in the heart of Port Blair, the Rajiv Gandhi Water Sports Complex offers an array of aqua-sports like banana rides, jet skiing, parasailing, speed boat rides, rowboat paddling, etc. The Centre is well-equipped with changing rooms and trained staff to ensure safety. This place is a must if you want to explore water sports in Port Blair. Sound And Light Show : This is a show of lights and sound conducted in Cellular Jail every evening that depicts the history of Andaman and the life of prisoners in the Cellular Jail. The show will fill your heart with patriotism. The show lasts around 30 mins and is conducted in both English and Hindi languages.</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> Airport Drop
								</p>
								<p class="aj">Return home with sweet memories</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.heavendestination.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Exclusive 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="118497"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Andaman Exclusive Tour - 5 Nights / 6 Days Tour Packages";i:2;s:128:"book andaman exclusive tour - 5 nights / 6 days tour packages, water sports and activity tour packages, port blair tour packages";i:3;s:179:"Heaven Destination Tour and Travel offers Andaman Exclusive Tour - 5 Nights / 6 Days tour package, budget Water Sports and Activity tour packages for Port Blair at exciting price.";i:4;s:404:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "Andaman Exclusive Tour",
		      "telephone": "+91-9679569602"
		    }
		    </script>
			";i:5;N;}