a:6:{i:0;s:13458:"				<div class="h1"><h1>7 Days Holiday in Andaman (Family Special) Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.andamanbeyondbeauty.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamanbeyondbeauty.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>7 Days Holiday in Andaman (Family Special) 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">
						6 Nights / 7 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.andamanbeyondbeauty.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="7 Days Holiday in Andaman (Family Special) 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="55059"/>
						</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/396702/105929.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/396702/105929.jpg"  width="150" height="150"    alt="7 Days Holiday in Andaman (Family Special) Tour" title="7 Days Holiday in Andaman (Family Special) Tour" /></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 (Arrival)
								</p>
								<p class="aj">Following your arrival at the Port Blair Airport, also known as Veer Savarkar Airport, a Yatra representative will meet you and assist you to board the designated vehicle. The capital city of Andaman and Nicobar Islands, Port Blair is famous for its pristine natural beauty and serene environment. The city offers fabulous views of coconut and palm trees, azure blue water and gleaming sand. It is one of the major tourist places in India. Thereafter, check in to the hotel and retire for some time. In the afternoon, head towards the Corbyns Cove Beach, a beautiful beach situated at a distance of 7 kilometers from Port Blair City. Glittering blue sea-water, glimmering white sand, coconut & palm trees and abundant greenery will attract you to feel the beauty of nature. Besides, you can partake in several natural activities such as surfing, scuba diving and boating. There after, you can visit the famous Cellular Jail in Port Blair. This jail has played a pivotal role in the history of the glorious freedom struggle of India. Entirely made up of individual cells, Cellular Jail will remind you of the intolerable tortures and pain suffered by the freedom fighters imprisoned here. This place is a memorial of those courageous martyrs. You can also see the glimpses of Indian freedom struggle through the Sound and Light Show organized every evening in Cellular Jail. Once you’ve explored the attractions in Port Blair, return back to the hotel and retire for the day. Stay overnight in the 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> Cruise from Port Blair to Havelock (54 km approx.)
								</p>
								<p class="aj">In the morning, following a sumptuous breakfast, check out of the hotel and head straight towards Havelock, situated 54 kilometers away from Port Blair. The breathtaking views of beaches scattered by palm trees and coral reefs, azure blue water and amazing resorts in this island attract tourists from all over the world. Upon your arrival at Havelock, check in at the hotel and relax for some time. Pay a visit to the famous Radhanagar Beach in the afternoon. This beach is not only the finest beach in India but also it has been honored as ‘Asia’s Best Beach’ by the famous ‘Time Magazine’. The blue water, peaceful environment and white sand offer an overwhelming look to this beach. Here you can enjoy sun basking and stroll in the soft sand. Also, guests can partake in various adventure sports such as scuba diving, game fishing, swimming and snorkeling etc. Post spending quality time at the beach, return back to the hotel and take rest. Stay overnight in the 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 3:</b> Sightseeing in Havelock
								</p>
								<p class="aj">Post breakfast in the morning, check out of the hotel. Embark on an adventurous trip to the Ocean Pearl Dive Centre. This centre is a PADI resort where certified and experienced professionals train the tourists for snorkeling and scuba diving. Here you can participate and pay in a training class and go for scuba diving. Other water sports that you can partake in include snorkeling on sea water and get a chance to watch the exotic marine life. Here you’ll get to see some rare species of fishes and corals while snorkeling. You should not forget to carry an extra pair of clothes, snacks, footwear and a bottle of drinking water before going for snorkeling. Following an enchanting trip, return back to the hotel and take rest.  Here you must take a shower to refresh yourself. Stay overnight in the 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> Sightseeing in Havelock Cruise from Havelock to Port Blair
								</p>
								<p class="aj">Early morning, after a luscious breakfast, enjoy your time at leisure. You have ample options to do such as watch television and listen to music. Besides, you can marvel at the pristine beauty of the surroundings and notice that the Havelock Island rests like a paradise in the sea. Later, check out of the hotel. Embark on a road trip to the Kala Pathar Beach, located near the Kala Pathar Village. The black rocks, green water and attractive vistas make this beach a wonderful place to visit. Here you will also see magnificent dive centers and resorts in this region.Following a memorable day at Kala Pathar, return to the hotel and take rest. After the sunset, take your luggage and board the cruise. Cruise back to the Port Blair and check-in at the hotel. Have a nice sleep in the night.</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> Sightseeing in Port Blair
								</p>
								<p class="aj">Early morning, after breakfast, check out from the hotel. Later, embark on a sightseeing tour of Port Blair. Today, explore the renowned museums in the city such as Samudrika Museum, Fisheries Museum and Anthropological Museum. At the Fisheries Museum, you would explore around 350 species of marine life such as starfish, fishes and live corals. In the Anthropological Museum, the tribal culture of the region is displayed. Here you will see a huge collection of weapons, models, clothes, baskets, photographs and tribal boats etc.Also known as the Naval Marine Museum, Samudrika Museum is run and owned by the Indian Navy. Here you will see antique collections of corals and shells etc. The museum also displays the history, geography and culture of Andaman and Nicobar Islands. Later, enjoy a fantastic experience of discovering the Port Blair Museum and return back to the hotel for overnight stay.</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 (Sightseeing)
								</p>
								<p class="aj">After the sightseeing, return to the hotel and take rest. Enjoy a cosy overnight stay.In the morning, after a delicious breakfast, check out of the hotel. Later, move out to explore the tourist attractions in Port Blair. Later, move towards the North Bay, an enchanting island of Port Blair, and board a glass-bottomed boat cruise. While boating in the azure waters, you will see a perfect view of marine life. After a delightful experience of boating, proceed towards another fascinating spot-Ross Island. This island is adorned by the eye-catching views of the green surroundings. Ross Island was under the control of Indian Navy and features some ruins from history including a church and Chief Commissioner’s House. These historical assets are bounded by old trees and plants that date back to past centuries. Thereafter, board a streamer and proceed towards the famous Viper Island, named after the vessel ‘Viper’. It was believed that the ruins of the ship ‘Viper’ were abandoned in this island. Here you can enjoy a panoramic view of the beautiful surroundings and click photographs in this 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 7:</b> Port Blair
								</p>
								<p class="aj">Early morning, taste the flavor of delicious breakfast and satiate you appetite. Later, check out from the hotel and drive to the Port Blair Airport.  Thereafter, board the flight for onwards journey.</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.andamanbeyondbeauty.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="7 Days Holiday in Andaman (Family Special) 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="55059"/>
						</form>
						</div>
						
						";i:1;s:86:"Book 7 Days Holiday in Andaman (Family Special) Tour - 6 Nights / 7 Days Tour Packages";i:2;s:145:"book 7 days holiday in andaman (family special) tour - 6 nights / 7 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:183:"Andaman Beyond Beauty offers 7 Days Holiday in Andaman (Family Special) Tour - 6 Nights / 7 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:429:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "7 Days Holiday in Andaman (Family Special) Tour",
		      "telephone": "+91-7004753289"
		    }
		    </script>
			";i:5;N;}