a:6:{i:0;s:22408:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Andaman  Tour 8 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 8 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> 
						7 Nights / 8 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 8 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="182350"/>
						</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/276353.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/547313/276353.jpg"  height="150"  width="150"    alt="Andaman  Tour 8 Days" title="Andaman  Tour 8 Days" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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 - 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">Check Out from the Hotel and Board a Ferry to Neil Island, Upon Reaching the Island Our Representative Will Take You to Your Respective Resort. Rest and Then Proceed to Bharatpur Beach and Sitapur Beach and Laxmanpur Beach Firstly We Cover, 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. We also Visit Laxmanpur Beach. Known as the Sunset Point At Neil Island, Laxmanpur Beach is a Vast Open White Sand Beach. Post Completion 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 3:</b> Havelock Island
										</p>
										<p class="aj">Today We Depart from Neil to Havelock Island. On Arrival 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> Havelock Island
										</p>
										<p class="aj">Day At Leisure. How, About Relaxing in the Lap of Nature. Today, You Can Relax and Spend the Day Enjoying White Sand Beaches. Additional Activities such as Scuba Diving and Sea Walk Can Be Done On this Day. Candle Lit Dinner and Decorated Beds Will Be Set Up On this Day.</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> Havelock Island
										</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. Our Representative Then Attends You and Drops You to Board a Ferry Back to Port Blair Where You Spend Your Night 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> Havelock Island
										</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 7:</b> Havelock Island
										</p>
										<p class="aj">Start Your Day By Visiting Some of the Best City Attractions in the Andaman Islands. Visit the Famous Chatham Saw Mill, Which is amongst the Oldest Sawmill in Asia. the Saw Mill is Named After this Island. Then Proceed to Anthropological Museum that Hosts the Tools, the Pictures and the History of the Aboriginal Tribes in the Andaman and Nicobar Islands. Post this Proceeds to the Fisheries Museum and Naval Marine Museums that Host Varieties of Fishes in Andaman Islands. Take a Break and Refresh Yourself with Varieties of Delicious Food Options in the Andaman Islands. We Then Begin Our Journey to the Famous Cellular Jail, Which Hosted Indians Most Famous Political Prisoners. One among Them Was Veer Savarkar. the Veer Savarkar Airport is Named After this Freedom Fighter. Later in the Evening We Take a Shopping Tour to the Best Locations Where Coral Artifacts are Sold. Purchase Gifts for Your Friends and Family from These Places. Later Drop 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 8:</b> Day 8
										</p>
										<p class="aj">Return Home with Sweet Memories of These Mesmerizing Islands.</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 8 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="182350"/>
						</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-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-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-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-aizawl.htm" title="Packages in Aizawl">Aizawl</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-pune.htm" title="Packages in Pune">Pune</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-agartala.htm" title="Packages in Agartala">Agartala</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-hyderabad.htm" title="Packages in Hyderabad">Hyderabad</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-massachusetts.htm" title="Packages in Massachusetts">Massachusetts</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-satara.htm" title="Packages in Satara">Satara</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-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="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 8 Days - 7 Nights / 8 Days Tour Packages";i:2;s:99:"book andaman  tour 8 days - 7 nights / 8 days tour packages,  tour packages, andaman, tour packages";i:3;s:152:"Book Andaman  Tour 8 Days - 7 Nights / 8 Days tour packages from Mas Tours and Travels - Get attractive 7 Nights / 8 Days   tour packages for  Andaman,.";i:4;s:400:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Andaman,"        
		                 },
		      "description": "",
		      "name": "Andaman  Tour 8 Days",
		      "telephone": "+91-9567775818"
		    }
		    </script>
			";i:5;N;}