a:6:{i:0;s:9780:"				<div class="h1"><h1>Andaman Sightseeing Programme for 03 Nights / 04 Days</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.heavendestination.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.heavendestination.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Andaman Sightseeing Programme for 03 Nights / 04 Days</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">
						3 Nights / 4 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.heavendestination.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Sightseeing Programme for 03 Nights / 04 Days - 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="50964"/>
						</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_12/358960/100134.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/358960/100134.jpg"  width="150" height="150"    alt="Andaman Sightseeing Programme for 03 Nights / 04 Days" title="Andaman Sightseeing Programme for 03 Nights / 04 Days" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Camera tickets<br />
Additional / personal use of vehicle at Port Blair & Havelock<br />
Any personal expenses, room service and special orders, alcoholic and non alcoholic beverages, porterage, tips, phone calls, laundry etc.<br />
Any extra excursions or sightseeing apart from the above-specified itinerary.<br />
Any incidental and other expenses which are not specified in the inclusions.<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> Airport pickup + transfer to hotel in Port Blair + Corby n’s Cove Beach + Light & Sound Show
								</p>
								<p class="aj">Arrival to Andaman’s at Port Blair Airport, Our representative will receive and escort you to the hotel. Check in make yourself comfortable, proceed to the very first beach of yours in Andaman’s the Corbyn'Cove Beach. Back to hotel for lunch, after lunch After lunch proceed for In the evening witness history in the Sound and Light Show at Cellular Jail - the heroic saga of the Indian freedom struggle is brought alive in the show. Overnight stay at 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 2:</b> North Bay (Coral Island) + Harbour Cruise (Viper Island and Ross Islands)
								</p>
								<p class="aj">After breakfast at the hotel, move for an enthralling journey to North Bay island (Coral Island) fill your eyes with exotic coral and marine life (go for snorkeling) proceed to Ross Island (Ross Island, the erstwhile capital of Port Blair during the British regime). Return to the Hotel for dinner and overnight stay at the island.</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> City Tour + Shopping + Water Sports
								</p>
								<p class="aj">After breakfast at the hotel, proceed for a sightseeing tour of the City. Visit the Chatham Saw Mill, Forest Museum. Back to Hotel for lunch then to Sagarika Emporium, Mini Zoo, Samdudrika, Fisheries Museum, Cellular Jail, Science Centre overnight Stay at 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 4:</b> Depart Port Blair - Airport Dropping
								</p>
								<p class="aj">Drop to Airport. Leave with lovely memories to cherish.</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>Sightseeing</li>
																		<li>Transfers</li>
																		<li>Entry Tickets</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Camera tickets</li><li>
Additional / personal use of vehicle at Port Blair & Havelock</li><li>
Any personal expenses, room service and special orders, alcoholic and non alcoholic beverages, porterage, tips, phone calls, laundry etc.</li><li>
Any extra excursions or sightseeing apart from the above-specified itinerary.</li><li>
Any incidental and other expenses which are not specified in the inclusions.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p><strong>Cancellation policy</strong>


&bull;For cancellations received 30 days or more &ndash; 100% refund;

<p>&nbsp;

<p>&bull;15 days or more &ndash; 50% refund;


&bull;Less than15 days in advance of arrival &ndash; no refund


&bull;No refund for cancellations on bookings from 10 Dec&ndash; 15 Jan.


&bull;No refunds for unused nights or early check-out.

<p>&nbsp;

<ul>
	<li><strong>Things to Note:</strong></li>
</ul>

<p>&bull;All guests required to carry their ID Proofs and handover to our representative on arrival so that he can get the tickets issued for Havelock &ndash; Port Blair ferry.


&bull;For snorkelling trip, we would request you to carry change of clothes/towel and mineral water. Do carry comfort clothing while in Andamans &ndash; Shorts/T Shirts/Open footwear/Cap/Sunglasses and sun lotion.


&bull;Kindly note that sailing of MV Makruzz (vessel for transfer between Port Blair to Havelock &amp; vice versa) depends on weather condition. The schedule may also get affected due to technical snag which is beyond our control. In such event, the incidental expenses such as alternate accommodation &amp; food expenses, transfers etc will be borne by the travellers.Moreover, hotels will not refund any amount on account of no show.


&bull;All hotels in Andaman have an early check out time. Late checkout is subject to availability. At Havelock the check-out will be in the morning and the ferry departs in the afternoon. Guests could relax and unwind on the beach till then.


&bull;ll water-sports undertaken by the guests will be at their own risk. The company is not liable for any damages including loss of property &amp; health, and death.												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.heavendestination.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Sightseeing Programme for 03 Nights / 04 Days - 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="50964"/>
						</form>
						</div>
						
						";i:1;s:92:"Book Andaman Sightseeing Programme for 03 Nights / 04 Days - 3 Nights / 4 Days Tour Packages";i:2;s:151:"book andaman sightseeing programme for 03 nights / 04 days - 3 nights / 4 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:202:"Heaven Destination Tour and Travel offers Andaman Sightseeing Programme for 03 Nights / 04 Days - 3 Nights / 4 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:808:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "Camera tickets
Additional / personal use of vehicle at Port Blair & Havelock
Any personal expenses, room service and special orders, alcoholic and non alcoholic beverages, porterage, tips, phone calls, laundry etc.
Any extra excursions or sightseeing apart from the above-specified itinerary.
Any incidental and other expenses which are not specified in the inclusions.",
		      "name": "Andaman Sightseeing Programme for 03 Nights / 04 Days",
		      "telephone": "+91-9679569602"
		    }
		    </script>
			";i:5;N;}