a:6:{i:0;s:12748:"				<div class="h1"><h1>Famly Hoildays Andaman Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travvelextent.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travvelextent.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Famly Hoildays Andaman Package</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">Tour Code </td>
						<td class="p5px pl0px vat">A7PH201</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						7 Nights / 8 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.travvelextent.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Famly Hoildays Andaman Package - 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="17586"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_10/274422/29752.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/274422/29752.jpg"  width="150" height="150"    alt="Famly Hoildays Andaman Package" title="Famly Hoildays Andaman Package" /></a></p></div></li>
																		<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_10/274422/29753.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/274422/29753.jpg"  width="150" height="150"    alt="Famly Hoildays Andaman Package" title="Famly Hoildays Andaman Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<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> Port Blair
								</p>
								<p class="aj">Arrival Port by flight <br />
Meet our company representative with welcome bouquet on arrival at Port Blair - Veer Savarkar Airport at Port Blair & get transferred by a private Non Air-Conditioned Vehicle to the Resort / hotel include baggage handling. After reaching to the Hotel our company’s representative will assist to do Hotel Check in formalities.<br />
<br />
After a short time for leisure have lunch and start for sightseeing of places in and around Port Blair.<br />
<br />
Carbyn’s cove beach - Harbour Cruise<br />
After lunch proceed for Corbyn’s Cove Beach - 9 kms from Port Blair - a coconut palm fringed beach, ideal for swimming, sun-basking & bathing. Then proceed for a leisurely cruise (Harbour Cruise) in a steamer along the Port Blair Harbour - which takes one to Viper Island. The gallows atop a hillock here is sight to watch,Over night at port blair 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> Port Blair
								</p>
								<p class="aj">North Bay (coral island)+ Ross Island.<br />
After breakfast our company’s vehicle will be there in the Hotel to pick you up for Andaman Water Sports Complex from where ferry will starts for North Bay- to see coral reefs, exotic varieties of beautiful ornamental fishes and other marine life.Overnight at 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 3:</b> Port Blair - Havelock
								</p>
								<p class="aj">Early morning you will be taken to Phoniex bay Harbour to take a private catamaran M V Makruzz / Govt Ferry which takes one and half hour journey for Havelock island. In Havelock island our Conpany’s representatives will be there to meet you in the Havelock Harbour and take you to the Resort by Non Air-conditioned vehicle and assist you to do Resort check in formalities.<br />
After a short time for leisure have lunch and start for sightseeing of places in and around Havelock.<br />
<br />
Radhanagar Beach<br />
After lunch our company’s vehicle will be in the resort to take you to the Radhanagar beach- Asia's Best Beach and rated amongst world's top ten beaches. Radhanagar Beach (Beach #7) is the most beautiful on the island and was rated as the best in Asia by Time in 2004. Gorgeous, silky white sand backed by a forest that provides welcome shade looks out over turquoise water, some stretches with a sandy bottom good for swimming and some with excellent coral reefs that are great for snorkeling - a great combination indeed. Sunsets here are often spectacular and it's a popular time to be at the beach. By evening return back to the hotel and stay overnight amongst sandy beach and lush green forest in a comfortable beach resort. Overnight : at Hotel 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> Havelock Island - Port Blair
								</p>
								<p class="aj">After breakfast Pick up from the Resort and proceed for Kalapather beach-it is also one of the well-known beach at Havelock & is considered to be one of the spectacular beaches, White sand of the beach,greenish and blue Sea as the backgrouned looks really inviting for a tourist and the scene is unique for a tourist as all sea does not look like this coloured. <br />
<br />
After spending luxurious time in this pristine beach Then proceed to Havelock harbour to take a ferry for Port Blair and reaches Port Blair by evening and our company’s representatives will be at Phoniex Bay Harbour to pick you up and get transferred to the Hotel / Resort.Overnight : at Hotel at PORT BLAIR<br />
</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> City Tour + Light & Sound Show Port Blair
								</p>
								<p class="aj">After breakfast, start for a full-day tour of places in & around Port Blair (City Tour) - covering the famous Cellular Jail, Saw Mill (one of the oldest & largest in Asia), Forest Museum, Mini Zoo, Anthropological Museum, Fisheries (Marine) Museum, Centre, Naval Marine Museum (Samudrika), Andaman Water Sports Complex (for water & adventure sports like water-skiing, boats, water scooters, tube rides, etc.) and the Cottage Industries Emporium (Sagarika) - for shopping & souvenirs. In the evening, attend the enthralling Sound and Light Show at Cellular Jail - where the heroic saga of the Indian freedom struggle is brought alive. Overnight : at 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 6:</b> Red Skin / Jolly Bouy Island - Port Blair
								</p>
								<p class="aj">After breakfast our company’s vehicle will take you to The Mahatma Gandhi Marine National Park at Wandoor is at a distance of 29 Kms. from Port Blair covering an area of 281.5 Sq.Kms. From there you will starts for red skin / jolly bouy island- made-up of open sea, creeks and 15 small and large islands, is one of the best found anywhere in the world. Viewing of rare corals and underwater marine life through glass bottom boats,SCUBA diving and Snorkelling are a lifetime experience for anyone. Overnight : at 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 7:</b> Mount Harriet
								</p>
								<p class="aj">After breakfast proceed for visiting Mount Harriet. The summer headquarters of the Chief Commissioner during British Raj, this place is an ideal for a nice and fascinating over view of the outer islands and the sea. It is the highest peak in the South Andaman’s (365 meters high) + Evening Shopping in town.</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 8:</b> Depart Port Blair - Chennai / Kolkata
								</p>
								<p class="aj">After breakfast transfer to the airport to board the flight to your destination, with happy memories in Andaman. Overnight : at Hotel at Port Blair.</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>
															</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.travvelextent.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Famly Hoildays Andaman Package - 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="17586"/>
						</form>
						</div>
						
						";i:1;s:69:"Book Famly Hoildays Andaman Package - 7 Nights / 8 Days Tour Packages";i:2;s:128:"book famly hoildays andaman package - 7 nights / 8 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:159:"Travvel Extent offers Famly Hoildays Andaman Package - 7 Nights / 8 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:412:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "Famly Hoildays Andaman Package",
		      "telephone": "+91-9706071620"
		    }
		    </script>
			";i:5;N;}