a:6:{i:0;s:9264:"				<div class="h1"><h1>Andaman Honeymoon Island Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.andamanmakemyjourney.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamanmakemyjourney.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Andaman Honeymoon Island 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">
						4 Nights / 5 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.andamanmakemyjourney.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Honeymoon Island 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="120594"/>
						</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_10/273519/195269.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/273519/195269.jpg"  width="150" height="150"    alt="Andaman Honeymoon Island Tour" title="Andaman Honeymoon Island 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 in Port Blair
								</p>
								<p class="aj">Arrival our representative will receive and escort you to the Hotel and stay-rest. At afternoon we visit Carbyn's cove beach about 7 kms from Port Blair. This coconut palm fringed beach, is ideal for swimming. Later proceed to the National Monument the Cellular Jail - a place of pilgrimage for all freedom loving people in the evening move the history of the heroic freedom struggle which is brought alive in a moving Light and Sound Show at the Cellular Jail, which takes you back to the British Era. Overnight stay at Port.</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- Ross Island
								</p>
								<p class="aj">After breakfast, you will escort to Andaman Water Sports Complex to start the voyage begins in a boat towards Ross Island - the erstwhile capital of Port Blair during the British Regimes. . This island is an ideal destination for nature walk amidst sylvan surroundings with deer's, peacocks and exotic birds. The Island presently houses the ruins of old building like Chief Commissioner's house, Government houses, Church, Bakery, Press, Swimming pool, etc. and then for an enthralling journey to North Bay Island (Coral Island) offering exotic coral and underwater marine life which can be viewed through Glass Bottom Boats, scuba Diving, under water sea walk facility (optional activity) . Overnight stay at Port Blair.</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- Havelock
								</p>
								<p class="aj">Early morning departure through Private Cruise to Havelock Island - It is 38 kms by sea from Port Blair, visit the famous Radhanagar Beach - Asia's N o. 7th beach rated by Times Magazine. After 2 hour journey in the Andaman sea with the flying fishes and Dolphins (you may be lucky to sight some) reach Havelock islands. Our tour executive will receive you at the jetty and take you to Radhanagar beach Experience trilogy of yourself, sun and the sea like never before. Evening cruise to Port Blair. Evening 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 4:</b> Mahatma Gandhi Marine National Park
								</p>
								<p class="aj">Mahatma Gandhi Marine National Park at Wandoor encompasses 281 sq. km that include 15 uninhabited islands and the surrounding sea. The full day tour to Jolly Bouy/Red Skin Island start from Wandoor village, with a boat ride weaving its way through some lush mangrove. Throw in the shimmering white sands and the tranquil blue waters that spread for as far as you can see, and you are in a poet's paradise. Get down in this uninhabited island and experience the best underwater life in India by snorkeling, sea bathing and basking on the sun kissed beaches. At evening you will visit Chidiyatapu- for a breathtaking view of sunset. Chidiyatapu is another heaven for the lovers of nature and water babies. Within a serene beach front, Chidiyatapu is one of the most visited haunt for the ones eager to see a mesmerizing sunset. It's one of the more secluded beaches at Port Blair, and is perfect for the ones seeking solitude. At last Visit Sagarika government emporium for some local shopping for your dear ones. Evening 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 5:</b> Depart from Port Blair
								</p>
								<p class="aj">This morning after breakfast, transfer to the airport to board your return flight back home. Arrive home with wonderful memories of your holiday</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.andamanmakemyjourney.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Honeymoon Island 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="120594"/>
						</form>
						</div>
						
						";i:1;s:68:"Book Andaman Honeymoon Island Tour - 4 Nights / 5 Days Tour Packages";i:2;s:127:"book andaman honeymoon island tour - 4 nights / 5 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:166:"Andaman Makemy Journey offers Andaman Honeymoon Island Tour - 4 Nights / 5 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:411:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "Andaman Honeymoon Island Tour",
		      "telephone": "+91-9933268952"
		    }
		    </script>
			";i:5;N;}