a:6:{i:0;s:10560:"				<div class="h1"><h1>Paradise Called Andaman Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bluedolphintravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bluedolphintravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Paradise Called 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">
						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.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Paradise Called 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="65552"/>
						</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_15/428110/120769.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/428110/120769.jpg"  width="150" height="150"    alt="Paradise Called Andaman Tour" title="Paradise Called Andaman Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Air fare / train fare.<br />
        Any meals other then those specified in ‘Cost Includes’.<br />
        Expenses of personal nature such as tips, telephone calls, laundry, liquor etc.<br />
        Any other item not specified in ‘cost includes’.<br />
        High Season / Festive Season Supplements Applied by Hotels From Time to Time<br />
        Government Service Tax @ 4.50 % additional on above rates.<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> Arrive Andaman
								</p>
								<p class="aj">Arrival at Port Blair in the morning/afternoon by flight and transfer to hotel. After lunch proceeds to show you Corbyns Cove beach the only beach in city of Port Blair. In the evening proceed to attend the enthralling Sound and Light Show (at 1800 hrs or 1900 Hrs, depending on light and sound show ticket availability) at Cellular Jail - where the heroic saga of the Indian freedom struggle is brought alive.</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 - North Bay /Ross Island
								</p>
								<p class="aj">Depart at 0900 from Water Sports complex in a boat to see under- water marine life and varieties of corals at North Bay (Snorkeling and Glass Bottom at extra cost. Packed lunch can be booked on arrival at extra cost). After North Bay, proceed to Ross Island (Wednesday Closed), the erstwhile capital of Port Blair during the British regime. The island presently houses the ruins of old buildings like Chief Commissioner, House, Government House, Church, Bakery, Press, Swimming Pool, Cemetery, etc. and all in dilapidated condition. 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 3:</b> Port Blair - Havelock
								</p>
								<p class="aj">Early morning departure (0715 hrs) Private ferry/ Govt ferry from Port Blair - Havelock. The ferry takes 1.5 hrs to reach Havelock. On arrival proceed to selected hotel and in the evening proceed to Beach No 7* (Radhanagar Beach) rated as the ‘Best Beach in Asia’ by Time Magazine (Local Hot Tea will be offered) (N/Ac Car/ Jeep will be provided for pickup and drop, time spent 2-3 hours). Return back to the Hotel to relax and unwind. (Kindly remind hotel to provide packed breakfast at Port Blair since the same is not included at 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 4:</b> Excursion to Elephant Beach
								</p>
								<p class="aj">Car will come at 0800 hrs and please ensure you are ready as the boat will leave at 0830 hrs and it is a further 10 min drive away to the boat): Embark on the most memorable snorkelling trip, just 25 min by Boat this beach offers snorkelers calm blue shallow waters and is the perfect spot for beginner snorkelers. The boat goes right up to the beach and it’s so easy to slip on your gear and just start snorkelling. It’s also a great place to just spend the day lying on the beach and relaxing. The beach is very scenic with fallen trees and white sand giving the photographer some interesting shots. The reef here starts very close to shore at a depth of about 1 metre. The large reef is mostly made up of hard coral and has plenty of marine life. Note: Inclusive of snorkelling equipment and car pick up and drop to jetty. (The trip may be changed to light house subject to weather conditions and visibility) (Do note that incase guest is delayed for Elephant Beach No Refund will be offered if the boat has left)</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> Day excursion to Neil Island and return to Port Blair
								</p>
								<p class="aj">Havelock to Neil by morning ferry to Neil Island from Havelock. The ferry takes 1.5 hrs to reach and on arrival proceed to visit Sitapur and Laxmanpur beach before returning back to Jetty to board Govt ferry to Port Blair and transfer to 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 6:</b> Departure
								</p>
								<p class="aj">Depart Port Blair with Fond memories of these mesmerizing Islands.</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>
																		<li>Transfers</li>
																		<li>Entry Tickets</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Air fare / train fare.</li><li>
        Any meals other then those specified in ‘Cost Includes’.</li><li>
        Expenses of personal nature such as tips, telephone calls, laundry, liquor etc.</li><li>
        Any other item not specified in ‘cost includes’.</li><li>
        High Season / Festive Season Supplements Applied by Hotels From Time to Time</li><li>
        Government Service Tax @ 4.50 % additional on above rates.</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.bluedolphintravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Paradise Called 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="65552"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Paradise Called Andaman Tour - 5 Nights / 6 Days Tour Packages";i:2;s:126:"book paradise called andaman tour - 5 nights / 6 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:178:"Book Paradise Called Andaman Tour - 5 Nights / 6 Days tour packages from Blue Dolphin Travels - Get attractive 5 Nights / 6 Days Beach and Islands  tour packages for  Port Blair.";i:4;s:807:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "Air fare / train fare.
        Any meals other then those specified in ‘Cost Includes’.
        Expenses of personal nature such as tips, telephone calls, laundry, liquor etc.
        Any other item not specified in ‘cost includes’.
        High Season / Festive Season Supplements Applied by Hotels From Time to Time
        Government Service Tax @ 4.50 % additional on above rates.",
		      "name": "Paradise Called Andaman Tour",
		      "telephone": "+91-9558888723"
		    }
		    </script>
			";i:5;N;}