a:6:{i:0;s:33686:"				<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-->				
									<div class="h1"><h1>Andamans Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.andamanvishakatravels.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamanvishakatravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Andamans Tour</p> 
										<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_10/270660/255319.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_10/270660/255319.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/270660/255319.jpg"  alt="Andamans Tour" title="Andamans Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Andamans Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Blair, Havelock</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px"><i class="fa fa-inr"></i> 28500						</p>
						<p class="xxsmall alpha50">Per Person</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.andamanvishakatravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andamans Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="168756"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Port Blair: 03nights   Havelock: 01nights,Neil Island: 01nights<br />
<br />
Economy  Package category  cost : 28.500/- 02pax <br />
<br />
Hotel at Port Blair : Nakshatra inn or similar <br />
<br />
<br />
Hotel at Havelock : Nagri inn or similar <br />
<br />
<br />
Hotel at Neil Island : Amulya Hotel or similar <br />
<br />
<br />
  premium  package category cost : 32,500/- 2pax <br />
<br />
<br />
Hotel at Port Blair : sunsea  or similar <br />
<br />
<br />
Hotel at Havelock :  Radhakrisha Resort or similar <br />
<br />
<br />
Hotel at Neil Island : Amulya Hotel or similar <br />
<br />
Deluxepackage category cost : 42,000/- 2pax <br />
<br />
Hotel at Port Blair : Megapode or similar <br />
Hotel at Havelock : Holiday inn or similar <br />
<br />
<br />
  Hotel at Neil Island : Tango Beach Resort  or similarPersonal Expenses<br />
<br />
airfares / Ship Fare to Mainland India<br />
<br />
activity Charges, Jet Ski, Scuba Diving Etc<br />
<br />
expenses Occurred Due to Bad Weather ,Flight or Ferry Cancellation , Strike or Political Unrest to Be Paid By Guest as per Actual<br />
<br />
any Dispute Regarding Child Age to Be Settled Directly with Hotels<br />
<br />
room     Services,     Laundry,     Telephone     Charges, Ross      Island Maintenance Fee<br />
<br />
additional Usage of Vehicle<br />
<br />
cost of Services Which is Not Mentioned in the “inclusions”</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrival at Port Blair										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Fly in to Port Blair Airport. Our Representative Will Meet and Assist You At the Veer Sawarkar Airport. Board the Waiting Vehicles, Drive to Your Hotel and Check In. First Half of the Day is At Leisure. Later in the Afternoon Visit Cellular Jail Followed By Light and Sound Show. the Cellular Jail Has a Pride of Place in India’s Freedom Struggle. Many a Stalwart Were Imprisoned Here. Declared a National Memorial, this Three-storey Prison Constructed By Britishers in 1906, is a Pilgrimage Destination for Freedom Fighters. this Colossal Edifice Has Mutely Witnessed the Most Treacherous of Inhumane Atrocities Borne By the Convicts, Who Were Mostly Freedom Fighters. the Day Draws to a Gentle Close with the Sound and Light Show At the Historic Cellular Jail, Which Gives You a Vivid Experience of Its Strong Association with the Freedom Fighters and Their Struggle for  Independence. Overnight  Stay  At  Respective  Hotel  /  Resort  At  Port  Blair. (note- Cellular Jail is Closed On Every Monday and National Holidays, Visit to Cellular Jail and Museum Closes By 1600hrs and Light N Sound Show is Open Every Day 1800hrs)															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Excursion to Coral island North Bay & Ross Island										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast, Start Off for a Full- Day Excursion to Coral Island (north Bay) to See Coral Reefs, Exotic Varieties of Beautiful Ornamental Fish and other Marine Life. this is An Ideal Place for Snorkelling as this Sandy Beach Coupled with Clear Water Creates a Breathtaking Spectacle. Please Carry Your Lunch Pack, Drinking Water & Changing Dress.( Water Sports Activities Available Here are Scuba Diving , Under Water Sea-walk , Snorkelling , Glass Bottom Boat Ride , Jet Ski- Water Scooter , Banana Boat Ride , Speed Boat Etc On Direct Payment Basis) After North Bay, Visit Ross Island, the Former Residential and Administrative Island of the British During Their Rule of South East Asia, Was Nick Named the Paris of the East. this Island<br />
was Completely Destroyed in An Earthquake, Now in Ruins. Overnight Stay At Respective Hotel At Port Blair. (note: 1) Ross & North Bay Remains Closed On Every Wednesdays. 2) Ferry Departs At 0930hrs – Subject to Weather Condition, Please Report to Rajiv Gandhi Water Sports Complex Latest By 0900hrs. 3) Contact Us if You Want a Private Chartered Boat for Above Trip Perfect for 5-7 Person.) Optional Activities:- Scuba Diving and Sea Walk At North Bay On Direct Payment Basis.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Port Blair to Havelock/Radhanagar beach										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast Get Transfer to Phoenix Bay Harbour to Catch a Ferry to Havelock. the Island (often Just Called Havelock) is One of the Most Beautiful and Largest Islands of Ritchie's Archipelago and is a Placid Heaven like No Other. Situated 57 Km Northeast of the South Andamans with An Area of 92 Sq.kms She Offers a Breath-taking Trail of Nature Expeditions. Bengali Settlers Primarily Populate the Island. this Picturesque Island with Beautiful Sandy Beaches and Lush Green Forest is also Rated as the Seventh Most Beautiful Island in the World. the Island also Has the Biggest Concentration of Breath-taking Diving and Snorkeling Sites, Thus Acting as a Paradise to Marine World Explorers. On Arrival Proceed to Selected Hotel. Stay Here Overnight amongst Sandy Beach and Lush Green Forest in a Comfortable Beach Resort. . (note-this Day Your Breakfast Will Be At Port Blair if You are Travelling By a Early Morning Ferry Ask the Hotel to Give a Pack Breakfast, Ferry Timings is Mentioned in the Tickets Provided to You Please Report 45minutes Prior to Departure with a Valid Photo Id Card – Subjected to Weather Condition, Ferry Operation is Purely Subjected to Govt Clearance, Class of Ferry and Timings is Confirmed as per Availability At the Time of Confirmation Only)			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Havelock Island to Neil Island/ Excursion to Laxmanpur Beach										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast, the Cab Will Be Provided to Pickup and Drop Guest to Havelock Harbour to Catch a Ferry to Neil Island as per Ferry Timings Advised. Neil Island Dwells with Lust Green Surroundings of Paddy Fields, Banana Plantations and Tropical Trees. It Occupies An Area of 18.9 Square Kilometres (7.3 Sq Mi). the Island is Located 40 Kilometres (25 Mi) East of Port Blair, the Capital of Andaman and Nicobar Islands. Pristine Sandy Beaches At Bharatpur and Laxmanpur are Some of the Best Beaches to Explore. a Quite Heaven for Bag Pack Travellers. On Arrival At Neil Island, Get Transferred to Selected Hotel & After Check in Half of the Day is At Leisure. Later in the Afternoon Proceed for a Trip to Laxmanpur Beach (sunset Point). Spend the Evening Relaxing On this Beach & Enjoying the Amazing Sunset View. Stay Overnight At Respective Hotel / Resort At Neil Island. (note- 1) Ferry Timings are Mentioned in the Tickets Provided to You Please Report 45minutes Prior to Departure with a Valid Photo Id Card Issued By Govt. Competent Authority. 2) Ferry Services are Subjected to Weather Condition) Class of Ferry and Timings is Subjected to Availability At the Time of Confirmation Only			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Excursion to Bharatpur Beach, Return back to Port Blair										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After Breakfast check out from Hotel/resort, & leave for an excursion to the Bharatpur Beach. The breathtaking view of sea and the lusting greeneries in this beach is really rejuvenating and enjoyable for enthusiastic travellers. Spend the day relaxing on this beach & catch a ferry to Port Blair as per ferry timings advised. Return to Port Blair. Stay overnight at Port Blair. (Note- 1) Ferry timings are mentioned in the tickets provided to you please report 45minutes prior to departure with a valid photo id card issued by govt. competent authority. 2) Ferry services are subjected to weather condition) Class of ferry and timings is subjected to availability at the time of confirmation only			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Departure										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Transfer to Airport and Departure with Unlimited Memories			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Accommodation in 01 a.c room on  twin sharing basis with with breakfast </li><li>
Both ways airport transfers by a.c private vehicle one time one spot basis</li><li>
All sightseeing by a.c private vehicle in Port Blair as per itinerary not at disposal</li><li>
All sightseeing by a.c Private vehicle in Havelock Island</li><li>
To and fro ticket to Havelock by a.c Cruise / govt. ferry (as per availability in base category)</li><li>
All entry, monument, parking and permit charges</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Personal Expenses</li><li>
airfares / Ship Fare to Mainland India</li><li>
activity Charges, Jet Ski, Scuba Diving Etc</li><li>
expenses Occurred Due to Bad Weather ,Flight or Ferry Cancellation , Strike or Political Unrest to Be Paid By Guest as per Actual</li><li>
any Dispute Regarding Child Age to Be Settled Directly with Hotels</li><li>
room     Services,     Laundry,     Telephone     Charges, Ross      Island Maintenance Fee</li><li>
additional Usage of Vehicle</li><li>
cost of Services Which is Not Mentioned in the “inclusions”</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.andamanvishakatravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andamans 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="168756"/>
						</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.andamanvishakatravels.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanvishakatravels.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(13)</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.andamanvishakatravels.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanvishakatravels.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanvishakatravels.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanvishakatravels.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanvishakatravels.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.andamanvishakatravels.com/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(1)</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, Havelock</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.andamanvishakatravels.com/tour-packages/stay-day-trip-havelock-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/270660/231696.jpg"  alt="Stay Day Trip Havelock Tour" title="Stay Day Trip Havelock Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanvishakatravels.com/tour-packages/stay-day-trip-havelock-tour.htm" title="Stay Day Trip Havelock Tour"><h3>Stay Day Trip Havelock Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 18000</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_150039" id="pkg_150039" method="post" action="http://www.andamanvishakatravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanvishakatravels.com/tour-packages/stay-day-trip-havelock-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Stay Day Trip Havelock 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="150039"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanvishakatravels.com/tour-packages/amazing-andaman-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/270660/231693.jpg"  alt="Amazing Andaman Tour" title="Amazing Andaman Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanvishakatravels.com/tour-packages/amazing-andaman-tour.htm" title="Amazing Andaman Tour"><h3>Amazing Andaman Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 14000</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								2 Nights / 3 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_150036" id="pkg_150036" method="post" action="http://www.andamanvishakatravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanvishakatravels.com/tour-packages/amazing-andaman-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Amazing 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="150036"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanvishakatravels.com/tour-packages/port-blair-havelock-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/270660/231681.jpg"  alt="Port Blair - Havelock Tour" title="Port Blair - Havelock Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanvishakatravels.com/tour-packages/port-blair-havelock-tour.htm" title="Port Blair - Havelock Tour"><h3>Port Blair - Havelock Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 29800</b> <b class="xsmall alpha50">Per Person</b></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_150029" id="pkg_150029" method="post" action="http://www.andamanvishakatravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanvishakatravels.com/tour-packages/port-blair-havelock-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Port Blair - Havelock 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="150029"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanvishakatravels.com/tour-packages/diglipurto-rangat-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/270660/231705.jpg"  alt="Diglipur to Rangat Tour" title="Diglipur to Rangat Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanvishakatravels.com/tour-packages/diglipurto-rangat-tour.htm" title="Diglipur to Rangat Tour"><h3>Diglipur To Rangat Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 49500</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Port Blair, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_150049" id="pkg_150049" method="post" action="http://www.andamanvishakatravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanvishakatravels.com/tour-packages/diglipurto-rangat-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Diglipur to Rangat 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="150049"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanvishakatravels.com/tour-packages/andaman-honeymoon-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/270660/231678.jpg"  alt="Andaman Honeymoon Package" title="Andaman Honeymoon Package"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanvishakatravels.com/tour-packages/andaman-honeymoon-package.htm" title="Andaman Honeymoon Package"><h3>Andaman Honeymoon Package</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 49800</b> <b class="xsmall alpha50">Per Person</b></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, Havelock</p>
															<div class="mt10px small">
							<form name="pkg_150025" id="pkg_150025" method="post" action="http://www.andamanvishakatravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanvishakatravels.com/tour-packages/andaman-honeymoon-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Andaman Honeymoon 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="150025"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.andamanvishakatravels.com/tour-packages/diglipur-and-neil-island-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_10/270660/231703.jpg"  alt="Diglipur and Neil Island Tour" title="Diglipur and Neil Island Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.andamanvishakatravels.com/tour-packages/diglipur-and-neil-island-tour.htm" title="Diglipur and Neil Island Tour"><h3>Diglipur And Neil Island Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 49800</b> <b class="xsmall alpha50">Per Person</b></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</p>
															<div class="mt10px small">
							<form name="pkg_150045" id="pkg_150045" method="post" action="http://www.andamanvishakatravels.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.andamanvishakatravels.com/tour-packages/diglipur-and-neil-island-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Diglipur and Neil Island 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="150045"/>
							</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:52:"Book Andamans Tour - 5 Nights / 6 Days Tour Packages";i:2;s:113:"book andamans tour - 5 nights / 6 days tour packages, adventure tour packages, port blair, havelock tour packages";i:3;s:168:"Book Andamans Tour - 5 Nights / 6 Days tour packages from Andaman Vishaka Travels - Get attractive 5 Nights / 6 Days Adventure  tour packages for  Port Blair, Havelock.";i:4;s:1586:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Havelock"        
		                 },
		      "description": "Port Blair: 03nights   Havelock: 01nights,Neil Island: 01nights

Economy  Package category  cost : 28.500/- 02pax 

Hotel at Port Blair : Nakshatra inn or similar 


Hotel at Havelock : Nagri inn or similar 


Hotel at Neil Island : Amulya Hotel or similar 


  premium  package category cost : 32,500/- 2pax 


Hotel at Port Blair : sunsea  or similar 


Hotel at Havelock :  Radhakrisha Resort or similar 


Hotel at Neil Island : Amulya Hotel or similar 

Deluxepackage category cost : 42,000/- 2pax 

Hotel at Port Blair : Megapode or similar 
Hotel at Havelock : Holiday inn or similar 


  Hotel at Neil Island : Tango Beach Resort  or similarPersonal Expenses

airfares / Ship Fare to Mainland India

activity Charges, Jet Ski, Scuba Diving Etc

expenses Occurred Due to Bad Weather ,Flight or Ferry Cancellation , Strike or Political Unrest to Be Paid By Guest as per Actual

any Dispute Regarding Child Age to Be Settled Directly with Hotels

room     Services,     Laundry,     Telephone     Charges, Ross      Island Maintenance Fee

additional Usage of Vehicle

cost of Services Which is Not Mentioned in the “inclusions”",
		      "name": "Andamans Tour",
		      "telephone": "+91-9933246100"
		    }
		    </script>
			";i:5;N;}