a:6:{i:0;s:6704:"				<div class="h1"><h1>Honeymoon Tour Andaman</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.jagannathtourandtravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://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"  width="150" height="150"    alt="Honeymoon Tour Andaman" title="Honeymoon Tour Andaman" /></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</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://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:130:"book honeymoon tour andaman - 5 nights / 6 days tour packages, beach and islands tour packages, port blair, havelock tour packages";i:3;s:188:"Book Honeymoon Tour Andaman - 5 Nights / 6 Days tour packages from Jagannath Tour And Travels - Get attractive 5 Nights / 6 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": "Honeymoon Tour Andaman",
		      "telephone": "+91-7980145382"
		    }
		    </script>
			";i:5;N;}