a:6:{i:0;s:22987:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Andaman Tour  6 Days</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.mastoursandtravels.co.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.mastoursandtravels.co.in/tour-packages.htm" title="Tour packages">Tour packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Andaman Tour  6 Days</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Andaman,</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.mastoursandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Tour  6 Days - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="182349"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_19/547313/276352.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/547313/276352.jpg"  height="150"  width="150"    alt="Andaman Tour  6 Days" title="Andaman Tour  6 Days" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Our World today, has been invaded and conquered in the search for beauty, to beet into souvenirs and photographs; and we’re led to believe that what iscaptured and to be seen, has been seen already. But we could not be more mistaken. Many have traversed the off trodden paths towards a Vacation of Leisure or Labor. And yet there is world out there - of endless possibilities, of untouched, glorious beauty - just waiting to be explored. We, at Mas Tours, invite you to join us, and view the world through our eyes; to travel the path less travelled, to where the real beauty lies. Come, Let’s Explore the exotic World beauty of Andaman untouched paradises<br />
<br />
A group of pictorial islands surrounded by the emerald green waters of the Bay of Bengal, magical Andaman is an ideal destination for those who want to soak into pristine nature, primeval jungle, mangrove forest & snow-white beaches. Originating from Port Blair this Andaman tour takes you to some of the most stunning islands, Havelock, Baratang and Chidiyatapu beach. Witnessing the setting sun at Radhanagar Beach in Havelock is one of the most delightful moments of this tour. Above all, on the occasion of Veer Savarkar Punyatithi you also visit Cellular Jail, a symbol of India’s freedom struggle and revisit our glorious history in the Sound and Light Show on the jail premises. A treasure trove for the nature, beach and history lovers, Andaman is an ideal holiday spot to spend quality time with your friends and families. Andaman and Nicobar have rich history dating back since 800 BC. These Islands are one of the famous Islands in the world and they have the best beaches in India. This must visit destination is a good place for vacationing but let us learn a thing or two about this paradise. The indigenous population called Andamanese and Nicobarese inhabit these Islands. The Islands of Andaman and Nicobar have five indigenous tribes that are still living in these parts like Jharwas (Jarawas), Onges, The Great Andamanese, Shompens, Sentenelese. The common languages they spoke were Onge, Andamanese, Sentinelese, Jarawa and Nicobarese. In addition to the tribal’s of the Island, it was believed that the Andaman Islands were descendants of African slaves that arrived in this Island after a shipwreck while being carried on board on a Portuguese ship, however, most of the anthropologist's sum-up with the fact that they are not Negros but Negritos. For years, the Andaman and Nicobar Islands have seen many faces from India’s First War of Independence that took place in the year 1857 to the Japanese Invasion during the 2nd World War. But with the coming of Indian Independence in the year 1947, these islands Andaman and Nicobar were united with the Indian mainstream. Today, you will find, its past relics, artifacts and ruins around the Island, in the museum of Cellular Jail in Andaman. For ages, the Andamans have been nicknamed as Kala Paani because of its cellular Jail. Earlier, Andaman used to be a prison central to take away the prisoners far from the mainland. Today, this Cellular Jail sources as a prime attraction for tourists.								</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">Arrive At Port Blair in the Morning/afternoon By Flight and Our Representative Will Be Waiting Outside Holding a Placard with Your Name On It. You Will Be Taken to Your Hotel Where You Relax and Rest. Post Lunch Will Proceed to One among the Most Visited Attraction in Andaman Islands, Cellular Jail. this Jail Before India's Independence Hosted the Most Ferocious Prisoners in the Andaman Islands. Today this Jail Stands as a National Memorial. Visit to this Historic Attractions and Know About the Rich History of the Andaman Islands ,Then Move Towards Corbyn's Cove Beach . the Crescent Shaped Coconut Palm Fringed Corbyn's Cove Ideal for Swimming & Bathing. Coastal Drive to this Beach is Awesome; a Stretch of Around 4 Km with An Open Sea Towards Your Left is a Sight to Experience. Take Pit Stops During this Ride to Click Pictures and to Explore the Beauty. Later Proceed to Attend the Enthralling Sound and Light Show At Cellular Jail - Where the Heroic Saga of the Indian Freedom Struggle is Brought Alive. Enacting of Freedom Fighters and Their Struggle for India's Independence is Enacted During this Trip. Post Completion of this Trip, We Drop You Back to Your 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">Visit the Administrative Capital Prior to Independence from Where the Britishers Governed the Entire a & N Islands-ross Island, a Destination for Nature Walk Amidst Friendly Deer’s & Peacocks. Smritika Museum Records the Life of Its Political Prisoners. Explore the Ruins of the Island from Where Britishers Once Governed the Entire Andaman and Nicobar Islands. Then Begin Your Excursion to North Bay - Coral Island with Glass Bottom Boat Ride. Here One Can Explore the Coral Reefs Underwater. the Lighthouse Seen in North Bay Island Trip is the Same that is Seen in the Back of a 20 Rupee Note. Snorkeling, Scuba Diving and Sea Walk Can Be Done Here as Well. Note: There is No Bottled Water Sold On Ross Island and Hence We Would Recommend You to Carry Bottled Water with You and Cold Filtered Water is Available At Ross Island Ticket Counter At No Cost. Ross Island is Closed On Wednesday. if Your Tour Falls On Wednesday We Would Interchange It with the Previous Days Plan.</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
										</p>
										<p class="aj">Today We Depart from Port Blair to Havelock Island. On Arriving Our Representative Will Be Waiting At the Exit of the Jetty. Then Proceed to Selected Hotel to Relax. After Lunch Enjoy the Famous Radhanagar Beach. this Beach Has Been Consistently Rated as One of the Best Beach in Asia. Watch a Mesmerizing Sunset On this Beach Before Returning Back to Your Hotel to Relax and Unwind.</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> port Blair
										</p>
										<p class="aj">Well, How About Exploring Something Underwater? Today, We Begin Our Journey to the Most Visited Snorkeling Destination in Havelock Island, Elephant Beach. Around 30 Minutes By Boat, Elephant Beach Flaunts One among the Best Reefs in Havelock Island. the Great Thing is that the Reef Here Starts At a Depth of Less Than a Meter.  Upon Reaching Elephant Beach, We Rest and Relax. Later, Our Guide Takes You to Snorkel Underwater Where You Explore the Amazing Reef in Elephant Beach. Later We Return Back from Elephant Beach to the Havelock Dock in a Boat.  Here, Our Representative Attends You and Helps You Board a Ferry Back to Neil Island On Arrival Our Representative Will Be Waiting At the Exit of the Jetty. Then Proceed to Selected Hotel to Relax Then Visit Laxmanpur Beach. Known as the Sunset Point At Neil Island, post Completion of this Trip, We Drop You Back to Your 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 5:</b> port Blair
										</p>
										<p class="aj">New Morning with New Beginning After Breakfast Checked Out Hotel and Proceeds to Bharatpur Beach, Sitapur Beach Firstly We Cover, and Bharatpur Beach. the Closest White Sand Beach to Neil Dock, Bharatpur Beach. the Reef Here is Still Unexplored and Travelers Can Avail Snorkeling, Glass Bottom Boats Rides and Jet Ski Rides Here. Then, Visit to Sitapur Beach Which is a Perfect Picturesque Beach for Travelers Post Completion of this Trip Catch Private Cruise Back to Port Blair On Arrival Our Representative Will Be Waiting At the Exit of the Jetty. Then Proceed to Selected 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> Port Blair
										</p>
										<p class="aj">Return Home with Sweet Memories of this Exotic Destination. .</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>MAP (Room + Breakfast + Lunch/Dinner)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* 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.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.mastoursandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Tour  6 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="182349"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(42)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(41)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-chennai.htm" title="Packages in Chennai">Chennai</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-genting.htm" title="Packages in Genting">Genting</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-mumbai.htm" title="Packages in Mumbai">Mumbai</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-kolkata.htm" title="Packages in Kolkata">Kolkata</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-hyderabad.htm" title="Packages in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-massachusetts.htm" title="Packages in Massachusetts">Massachusetts</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-satara.htm" title="Packages in Satara">Satara</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-ranchi.htm" title="Packages in Ranchi">Ranchi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-panchgani.htm" title="Packages in Panchgani">Panchgani</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-dimapur.htm" title="Packages in Dimapur">Dimapur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-mahabaleshwar.htm" title="Packages in Mahabaleshwar">Mahabaleshwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-imphal.htm" title="Packages in Imphal">Imphal</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-shirdi.htm" title="Packages in Shirdi">Shirdi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-ohio.htm" title="Packages in Ohio">Ohio</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-sangli.htm" title="Packages in Sangli">Sangli</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-aizawl.htm" title="Packages in Aizawl">Aizawl</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-pune.htm" title="Packages in Pune">Pune</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mastoursandtravels.co.in/packages-in-agartala.htm" title="Packages in Agartala">Agartala</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(47)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/snorkeling-holidays-catid.htm" title="Snorkeling Packages">Snorkeling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/parasailing-holidays-catid.htm" title="Parasailing Packages">Parasailing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/scuba-diving-holidays-catid.htm" title="Scuba Diving Packages">Scuba Diving</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mastoursandtravels.co.in/boating-holidays-catid.htm" title="Boating Packages">Boating</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:59:"Book Andaman Tour  6 Days - 5 Nights / 6 Days Tour Packages";i:2;s:99:"book andaman tour  6 days - 5 nights / 6 days tour packages,  tour packages, andaman, tour packages";i:3;s:137:"Mas Tours and Travels offers Andaman Tour  6 Days - 5 Nights / 6 Days tour package, budget  tour packages for Andaman, at exciting price.";i:4;s:3537:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Andaman,"        
		                 },
		      "description": "Our World today, has been invaded and conquered in the search for beauty, to beet into souvenirs and photographs; and we’re led to believe that what iscaptured and to be seen, has been seen already. But we could not be more mistaken. Many have traversed the off trodden paths towards a Vacation of Leisure or Labor. And yet there is world out there - of endless possibilities, of untouched, glorious beauty - just waiting to be explored. We, at Mas Tours, invite you to join us, and view the world through our eyes; to travel the path less travelled, to where the real beauty lies. Come, Let’s Explore the exotic World beauty of Andaman untouched paradises

A group of pictorial islands surrounded by the emerald green waters of the Bay of Bengal, magical Andaman is an ideal destination for those who want to soak into pristine nature, primeval jungle, mangrove forest & snow-white beaches. Originating from Port Blair this Andaman tour takes you to some of the most stunning islands, Havelock, Baratang and Chidiyatapu beach. Witnessing the setting sun at Radhanagar Beach in Havelock is one of the most delightful moments of this tour. Above all, on the occasion of Veer Savarkar Punyatithi you also visit Cellular Jail, a symbol of India’s freedom struggle and revisit our glorious history in the Sound and Light Show on the jail premises. A treasure trove for the nature, beach and history lovers, Andaman is an ideal holiday spot to spend quality time with your friends and families. Andaman and Nicobar have rich history dating back since 800 BC. These Islands are one of the famous Islands in the world and they have the best beaches in India. This must visit destination is a good place for vacationing but let us learn a thing or two about this paradise. The indigenous population called Andamanese and Nicobarese inhabit these Islands. The Islands of Andaman and Nicobar have five indigenous tribes that are still living in these parts like Jharwas (Jarawas), Onges, The Great Andamanese, Shompens, Sentenelese. The common languages they spoke were Onge, Andamanese, Sentinelese, Jarawa and Nicobarese. In addition to the tribal’s of the Island, it was believed that the Andaman Islands were descendants of African slaves that arrived in this Island after a shipwreck while being carried on board on a Portuguese ship, however, most of the anthropologist's sum-up with the fact that they are not Negros but Negritos. For years, the Andaman and Nicobar Islands have seen many faces from India’s First War of Independence that took place in the year 1857 to the Japanese Invasion during the 2nd World War. But with the coming of Indian Independence in the year 1947, these islands Andaman and Nicobar were united with the Indian mainstream. Today, you will find, its past relics, artifacts and ruins around the Island, in the museum of Cellular Jail in Andaman. For ages, the Andamans have been nicknamed as Kala Paani because of its cellular Jail. Earlier, Andaman used to be a prison central to take away the prisoners far from the mainland. Today, this Cellular Jail sources as a prime attraction for tourists.",
		      "name": "Andaman Tour  6 Days",
		      "telephone": "+91-9567775818"
		    }
		    </script>
			";i:5;N;}