a:6:{i:0;s:13269:"				<div class="h1"><h1>Andaman 5N/6D Andaman Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.bellatours.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.bellatours.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Andaman 5N/6D 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, Havelock</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 15990 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Special Offer 	<br />
1st 50 people get BELLA TOURS bag</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bellatours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman 5N/6D 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="91750"/>
						</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_14/397488/157859.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397488/157859.jpg"  width="150" height="150"    alt="Andaman 5N/6D Andaman Tour" title="Andaman 5N/6D Andaman Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					1 Night in Port Blair with breakfast<br />
2 Nights in Havelock Island with breakfast<br />
2 Nights in Port Blair with breakfast<br />
All Transfers & local sightseeing by Non AC vehicleSpecial Offer 	<br />
1st 50 people get BELLA TOURS bagAirfare & Taxes<br />
Any increase in Govt. taxes, Fuel price and any applicability of new taxes from the govt.<br />
Any up gradation in hotel room category<br />
Any meals other than specified above<br />
Any sightseeing other than mentioned above<br />
Any Entrance fees or Fees for video or camera permit<br />
Any item of personal nature like tips, laundry, telephone calls, etc.<br />
Service tax will be applicable on total invoice19-0731-12<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 in Port Blair – Local Sightseeing
								</p>
								<p class="aj">Welcome to Andaman. Arrive at Port Blair airport and transfer to hotel for your stay. Later in the evening proceed to visit Cellular Jail, a place of pilgrimage for all freedom loving people. One can also view the history of the heroic freedom struggle which is brought alive in a moving Light & Sound Show at the Cellular Jail. Overnight stay in Port Blair.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_14/397488/157859.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397488/157859.jpg"  width="150" height="150"    alt="Andaman 5N/6D Andaman Tour" title="Andaman 5N/6D Andaman Tour" /></a></p></div></li>
									</ul>
									</div>
									</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 – Havelock Island
								</p>
								<p class="aj">Early morning departure to Havelock Island by ferry (54 kms by sea from Port Blair). Havelock Island is 57 kms from Port Blair and reachable in 120 minutes. The island is well known for its two world famous beaches namely Beach No. 5 and 7. These beaches have received A+ rating from the World Tourism Organization (WTO). Hence, Havelock Island is an ideal destination for a relaxing beach holiday as well as a paradise for scuba diving and snorkeling. Rest of day is at leisure. Overnight stay in 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 3:</b> Havelock Island
								</p>
								<p class="aj">Today after Breakfast take a trip to:  Light House Point /Elephant Beach inclusive of Complimentary Snorkeling. (Please take your swim wear and a change of clothes). Overnight stay in Havelock.<br />
<br />
Optional: - Scuba Diving @ Havelock Island: INR 2500 per person per dive</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 – Port Blair
								</p>
								<p class="aj">Morning is at leisure. After checking out from the Resort, leave your baggage at the Reception. Spend your day on beautiful beaches of Havelock. Sail for Port Blair in the evening. Upon return from Havelock Island overnight stay at respective Hotel 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 5:</b> Port Blair - City Tour (Closed Mondays) – Ross Island (Closed Wednesdays)
								</p>
								<p class="aj">After breakfast enjoy city tour of Port Blair. (Closed Mondays) Port Blair (City Tour) - covers the famous Chatham Saw Mill (one of the oldest and largest in Asia), Forest Museum, Anthropological Museum, Naval Marine Museum (Samudrika) & the Cottage Industries Emporium (Sagerika) - for shopping & souvenirs. Next trip to Ross Island. (Closed Wednesdays) Ross Island - is the place from where the British governed the entire Andaman and Nicobar islands, prior to India's Independence. This island is an ideal destination for nature walks amidst sylvan surroundings with deers, peacocks, exotic birds, etc.  Overnight stay in 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 6:</b> Port Blair - Departure
								</p>
								<p class="aj">After breakfast it’s time to check out.Transfer to the airport for your onward flight or back home.</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>3 Star Hotel</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
																		<li>Airport Pickup-Drop</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare & Taxes</li><li>
Any increase in Govt. taxes, Fuel price and any applicability of new taxes from the govt.</li><li>
Any up gradation in hotel room category</li><li>
Any meals other than specified above</li><li>
Any sightseeing other than mentioned above</li><li>
Any Entrance fees or Fees for video or camera permit</li><li>
Any item of personal nature like tips, laundry, telephone calls, etc.</li><li>
Service tax will be applicable on total invoice</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. ~^#^~						
    	<p class="h dif xlarge b mb5px">Hotel Details:-</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">City</td>
				<td class="headHr p5px b">Budget</td>
				<td class="headHr p5px b">Standard</td>
				<td class="headHr p5px b">Deluxe Peerless Sarovar Portico – A/C Deluxe Room</td>
				<td class="headHr p5px b">Premium</td>
			</tr>
			<tr>
				<td class="data p5px">Port Blair</td>
				<td class="data p5px">Hotel Haywizz – A/C Premium Room</td>
				<td class="data p5px">Hotel Haywizz – A/C Premium Room</td>
				<td class="data p5px">Peerless Sarovar Portico – A/C Deluxe Room</td>
				<td class="data p5px">Fortune Resort Bay Island – A/C Garden Facing Room</td>
			</tr>
			<tr>
				<td class="data p5px">Havelock Island</td>
				<td class="data p5px">The Kingdom – A/C Standard Room</td>
				<td class="data p5px">Symphony Palms – A/C Casa</td>
				<td class="data p5px">Symphony Palms – A/C Cottage</td>
				<td class="data p5px">Silver Sands – A/C Cottage</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Price per person in INR:-</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Category</td>
				<td class="headHr p5px b">Twin</td>
				<td class="headHr p5px b">Single</td>
				<td class="headHr p5px b">Extra Adult</td>
			</tr>
			<tr>
				<td class="data p5px">Budget</td>
				<td class="data p5px">15990</td>
				<td class="data p5px">28990</td>
				<td class="data p5px">10990</td>
			</tr>
			<tr>
				<td class="data p5px">Standard</td>
				<td class="data p5px">19990</td>
				<td class="data p5px">34990</td>
				<td class="data p5px">12990</td>
			</tr>
			<tr>
				<td class="data p5px">Deluxe</td>
				<td class="data p5px">25990</td>
				<td class="data p5px">46990</td>
				<td class="data p5px">14990</td>
			</tr>
			<tr>
				<td class="data p5px">Premium</td>
				<td class="data p5px">34990</td>
				<td class="data p5px">62990</td>
				<td class="data p5px">16990</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bellatours.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman 5N/6D 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="91750"/>
						</form>
						</div>
						
						";i:1;s:65:"Book Andaman 5N/6D Andaman Tour - 5 Nights / 6 Days Tour Packages";i:2;s:134:"book andaman 5n/6d andaman tour - 5 nights / 6 days tour packages, beach and islands tour packages, port blair, havelock tour packages";i:3;s:162:"Bella Tours offers Andaman 5N/6D Andaman Tour - 5 Nights / 6 Days tour package, budget Beach and Islands tour packages for Port Blair, Havelock at exciting price.";i:4;s:1053:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Havelock"        
		                 },
		      "description": "1 Night in Port Blair with breakfast
2 Nights in Havelock Island with breakfast
2 Nights in Port Blair with breakfast
All Transfers & local sightseeing by Non AC vehicleSpecial Offer 	
1st 50 people get BELLA TOURS bagAirfare & Taxes
Any increase in Govt. taxes, Fuel price and any applicability of new taxes from the govt.
Any up gradation in hotel room category
Any meals other than specified above
Any sightseeing other than mentioned above
Any Entrance fees or Fees for video or camera permit
Any item of personal nature like tips, laundry, telephone calls, etc.
Service tax will be applicable on total invoice19-0731-12",
		      "name": "Andaman 5N/6D Andaman Tour",
		      "telephone": "+91-9819406969"
		    }
		    </script>
			";i:5;N;}