a:7:{i:0;s:6603:"				<div class="h1"><h1>Honeymoon Tour Andaman</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.jagannathtourandtravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.jagannathtourandtravels.co.in/tour-packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Honeymoon Tour Andaman</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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/364974/169418.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/364974/169418.jpg"  height="150"  width="150"    alt="Honeymoon Tour Andaman" title="Honeymoon Tour Andaman" loading="lazy"></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Blair, Havelock, Cellular Jail</p>
												<p><b>Price :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.jagannathtourandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Honeymoon Tour Andaman - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="100848"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Port Blair
									</p>
									<div class="data p10px">Arrive at Port Blair in the morning/afternoon by flight at the Veer Savarkar Airport. representative greets you and transfers to hotel. Relax and rest at the hotel.<br />
<br />
In the evening, ensue to attend the captivating Sound and Light Show at Cellular Jail. Shows are at 1800 or 1900 Hours, depending on light and sound show ticket availability) where music and light brings to life the valiant history of the Indian freedom struggle.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Havelock
									</p>
									<div class="data p10px">In the early hours of the morning, proceed to depart by ferry from Port Blair to Havelock. It takes up to 2.5 hours to reach the heavenly island. On arrival, de-board and proceed to selected hotel. Check-in and. In the evening visit Beach No 7, the Radhanagar Beach rated as the 'Best Beach in Asia' by Time Magazine.<br />
<br />
Charmed by the beautiful seashore, return to hotel to relax.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Elephant Beach
									</p>
									<div class="data p10px">Today an excursion to the Elephant beach is scheduled. Your ride will come at 0700 hours. The boat will leave at 0730 hours and is 25 minutes away from Havelock. Get ready for an unforgettable snorkeling trip. Blessed with serene shallow waters, it is the perfect spot to pay a visit to the hard coral reef hardly at a depth of about 1 metre from the shore. Plenty of marine life inhabit the waters. Gear up and go exploring or spend the day lazing on the scenic beach and relaxing.<br />
<br />
After the well spent day on the beautiful beach, return to your Havelock island hotel. Recuperate from the exciting adventures.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Havelock:
									</p>
									<div class="data p10px">Spend the day relaxing on the beach or chose from any number of optional activities. Havelock Island is worth exploring yourself, revel in the spectacular views or try out the delights of the island.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 5: Havelock:
									</p>
									<div class="data p10px">Start the day leisurely. After your lunch, check out of the hotel. Visit Kalapathar Beach, a scenic beach, accessible through a wonderful coastal road. Spend an hour and then proceed to the jetty at Havelock to return to Port Blair in the evening by the ferry at 1545 / 1630 hours according to availability. On arriving at Port Blair, check-in your hotel and relax.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 6: Departure
									</p>
									<div class="data p10px">The tour ends with your departure from Port Blair. Return home with affectionate memories of the wonderful beaches of Andaman.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
													<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Transfers</li>
																	</ul>
							<br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:61:"Book Honeymoon Tour Andaman - 5 Nights / 6 Days Tour Packages";i:2;s:147:"book honeymoon tour andaman - 5 nights / 6 days tour packages, beaches and islands tour packages, port blair, havelock, cellular jail tour packages";i:3;s:205:"Book Honeymoon Tour Andaman - 5 Nights / 6 Days tour packages from Jagannath Tour And Travels - Get attractive 5 Nights / 6 Days Beaches and Islands  tour packages for  Port Blair, Havelock, Cellular Jail.";i:4;s:415:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Havelock, Cellular Jail"        
		                 },
		      "description": "",
		      "name": "Honeymoon Tour Andaman",
		      "telephone": "+91-7980145382"
		    }
		    </script>
			";i:5;N;i:6;N;}