a:6:{i:0;s:23825:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Andaman  Easy Escape Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.ambhatoursandtravels.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.ambhatoursandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Andaman  Easy Escape Tour</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> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Blair</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.ambhatoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman  Easy Escape Tour - 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="115673"/>
						</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_13/376257/188571.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/376257/188571.jpg"  width="150" height="150"    alt="Andaman  Easy Escape Tour" title="Andaman  Easy Escape Tour" /></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> Arrival
										</p>
										<p class="aj">Arrival 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. After Lunch proceed to the nearest Beach, Corbyn's Cove. 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 - Havelock
										</p>
										<p class="aj">Today we depart to Andaman Islands most amazing destination, Havelock Island. The destination is rated as the best island in India. Depart from Port Blair to Havelock Island in a ferry. Upon reaching Havelock, our representative attends you and will drop you at your hotel. Rest and Relax in a beachside resort. We at Experience Andamans only share beach side resorts for exquisite experiences. Later we begin our journey to one among Asia's best beach, Radhanagar Beach. Explore this white sand beach and bask in the beauty of this natural wonder. Post this we drop you back to your resort where you 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 3:</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. Here, our representative attends you and helps you board a ferry back to Port Blair. Upon arrival in Port Blair, we attend you and drop you to your hotel in Port Blair. Note: Inclusive of snorkeling equipment, car pick up, boat ride and drop to the harbor. (The trip is subject to weather conditions and visibility). Please note that NO Swimming Skills are required for this activity. Ferry Timing from Havelock to Port Blair is around 4:00 PM. Do note that many hotels in Havelock Island have early checkout timings. You may have to check out the hotel before the trip begins.</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> Ross Island.
										</p>
										<p class="aj">Let's get back in time to visit the first Administrative settlement of the Britishers in the Andaman Islands, Ross Island. Earlier, said as the Paris of the past. This island today has ruins of all the luxury the Britishers had during that time. Visit this amazing destination and move forward on a boat to visit the Coral Island of Port Blair, North Bay Island. Infringe with rich marine life this island is the other most visited destination in Andaman. Scuba Diving, Sea Walk, Snorkeling and Glass boat ride can be done here. Upon Return from these famous destinations rest and relax. Later in the evening we go for a shopping trip to purchase gifts and souvenirs for friends and family.</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> Departure
										</p>
										<p class="aj">Return home with sweet memories</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>Hotel</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.ambhatoursandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman  Easy Escape 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="115673"/>
						</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.ambhatoursandtravels.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(83)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ambhatoursandtravels.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(39)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ambhatoursandtravels.com/packages-in-diglipur.htm" title="Packages in Diglipur">Diglipur</a> <b class="alpha50 bn small">(1)</b></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.ambhatoursandtravels.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(84)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ambhatoursandtravels.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.ambhatoursandtravels.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(7)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Port Blair</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.ambhatoursandtravels.com/tour-packages/andaman-delight-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/376257/188570.jpg"  alt="Andaman Delight Tour" title="Andaman Delight Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.ambhatoursandtravels.com/tour-packages/andaman-delight-tour.htm" title="Andaman Delight Tour"><h3>Andaman Delight Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_115672" id="pkg_115672" method="post" action="http://www.ambhatoursandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.ambhatoursandtravels.com/tour-packages/andaman-delight-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Andaman Delight Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="115672"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.ambhatoursandtravels.com/tour-packages/andaman-family-package1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/376257/134031.jpg"  alt="Andaman Family Package" title="Andaman Family Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.ambhatoursandtravels.com/tour-packages/andaman-family-package1.htm" title="Andaman Family Package"><h3>Andaman Family Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_75251" id="pkg_75251" method="post" action="http://www.ambhatoursandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.ambhatoursandtravels.com/tour-packages/andaman-family-package1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Andaman Family Package - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="75251"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.ambhatoursandtravels.com/tour-packages/exotic-andaman-nicobar-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/376257/134015.jpg"  alt="Exotic Andaman & Nicobar Tour" title="Exotic Andaman & Nicobar Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.ambhatoursandtravels.com/tour-packages/exotic-andaman-nicobar-tour1.htm" title="Exotic Andaman & Nicobar Tour"><h3>Exotic Andaman & Nicobar Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_75245" id="pkg_75245" method="post" action="http://www.ambhatoursandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.ambhatoursandtravels.com/tour-packages/exotic-andaman-nicobar-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Exotic Andaman & Nicobar Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="75245"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.ambhatoursandtravels.com/tour-packages/historical-andaman-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/376257/134017.jpg"  alt="Historical Andaman Tour" title="Historical Andaman Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.ambhatoursandtravels.com/tour-packages/historical-andaman-tour1.htm" title="Historical Andaman Tour"><h3>Historical Andaman Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_75247" id="pkg_75247" method="post" action="http://www.ambhatoursandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.ambhatoursandtravels.com/tour-packages/historical-andaman-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Historical Andaman Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="75247"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.ambhatoursandtravels.com/tour-packages/adventure-thrill-andaman-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/376257/134042.jpg"  alt="Adventure Thrill Andaman Tour" title="Adventure Thrill Andaman Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.ambhatoursandtravels.com/tour-packages/adventure-thrill-andaman-tour1.htm" title="Adventure Thrill Andaman Tour"><h3>Adventure Thrill Andaman Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair</p>
															<div class="mt10px small">
							<form name="pkg_75252" id="pkg_75252" method="post" action="http://www.ambhatoursandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.ambhatoursandtravels.com/tour-packages/adventure-thrill-andaman-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Adventure Thrill Andaman Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="75252"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.ambhatoursandtravels.com/tour-packages/discover-andaman-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_13/376257/183752.jpg"  alt="Discover Andaman  Tour" title="Discover Andaman  Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.ambhatoursandtravels.com/tour-packages/discover-andaman-tour.htm" title="Discover Andaman  Tour"><h3>Discover Andaman  Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_111869" id="pkg_111869" method="post" action="http://www.ambhatoursandtravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.ambhatoursandtravels.com/tour-packages/discover-andaman-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Discover Andaman  Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="111869"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:64:"Book Andaman  Easy Escape Tour - 4 Nights / 5 Days Tour Packages";i:2;s:123:"book andaman  easy escape tour - 4 nights / 5 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:178:"Book Andaman  Easy Escape Tour - 4 Nights / 5 Days tour packages from Ambha Tours And Travels - Get attractive 4 Nights / 5 Days Beach and Islands  tour packages for  Port Blair.";i:4;s:407:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "Andaman  Easy Escape Tour",
		      "telephone": "+91-9434260912"
		    }
		    </script>
			";i:5;N;}