a:6:{i:0;s:28934:"				<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>4 Nights 5 Days</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.vnandamantourtravel.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.vnandamantourtravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>4 Nights 5 Days</p> 
										<div class="fo">
					<div class="db vat pr slideArrow">				
												<ul class="bxslider11 fx-height lh0" style="margin:0px;padding:0px;">
																	<li class="pr">
										<div>										
										<div class="lh0 pa blur-bg" style="background:url(https://ttw.wlimg.com/package-images/photo-big/dir_18/536349/291344.jpg);"></div>
										<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/536349/291344.jpg">
										<div class="slide-fixImag" style="margin:0 9%;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_18/536349/291344.jpg"  alt="4 Nights 5 Days" title="4 Nights 5 Days"  /></div>
										</a>
										</div>
										</li>
																	</ul>
												<div class="sliderCont-Layer">
					<div class="dt w100">
					<div class="dtc vam"><p class="xxxlarge fw7 lh13em">4 Nights 5 Days 
					
											<span class="fw3 xsmall yellow">(
						4 Nights / 5 Days 
						)</span>
											</p>
											<p class="mt5px"><span class="fw6">Destination Covered</span> : Port Blair ,,Rose Island ,,Havelock Island ,,Nort Bay Island,,Baratang Island ,,</p>
											</div>
					<div class="dtc w200px vam"></div>
					</div>
					</div>
					<div class="slidePrice ac">
					<p class="xxlarge red mb12px">
											<span class="xxxlarge fw7"><i class="fa fa-inr"></i> 29260</span>
						<span class="db ttu xsmall mt5px">Per Person</span>
											</p>
											<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.vnandamantourtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="4 Nights 5 Days - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig c3px dib p10px15px xlarge fw6">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="187082"/>
						</form>
											</div> 
					
					<script>			
					jQuery('.bxslider11').bxSlider({
					  mode:'horizontal',
					  slideWidth:840,
					  auto:true,
					  autoControls:false,
					  stopAutoOnClick:true,
					  pager:false
					});
					</script>
					</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">Andaman Island houses some amazing beaches and islands along with the beautiful capital city to turn your dream vacation into a reality. Blessed with lush green forests and white sand beaches, it offers an ideal place to holiday with your family and friends and have a good time.<br />
At Tour My India, we offer 4 nights and 5 days Port Blair, Havelock withBaratang Island  tour that will cover most of the Andaman Excursion you would like to explore while holidaying in Andaman Island. Our tour includes a visit to some wonderful beaches of the island along with a Port Blair City Tour so that you can make the most of your vacation and take away many lifetime memories with us.<br />
This is a Perfect Tour for Those Coming for 5 Days to The Andaman Islands. You cover all the top 5 ISLAND in Andaman and good enough leisure time is also present. All attractions in Havelock and Baratang Island are covered in this tour program.</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> DAY 1:  ARRIVE TO PORT BLAIR										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												On arrive at Port Blair, our representative receive you at Airport /Harbor and escorted you to check in to the Hotel Resort. After check-in at the hotel and little relax, we start the journey with Anthropological Museum, which displays the tools, models habitats, art and handcrafts of the aboriginal tribes of Andaman & Nicobar Islands.<br />
Cellular Jail, and then proceed to Corbin’s Cove beach. At evening, the Light and Sound Show at Cellular Jail where The Saga of the Freedom Struggle Brought Alive.															
														   
											</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> Day 02: Port Blair – Coral Island + 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 For a Full-Day Excursion To North Bay (Coral Island)– To See Coral Reefs, Varieties of Beautiful Ornamental Fishes and Other Marine Life. This is an Ideal Place for Snorkeling as This Sandy Beach Coupled with Clear Water Creates a Breath - Taking Spectacle. Optional Activities – Snorkeling, Scuba Diving, Glass Bottom Ride, after that proceed for Ross Island, The Former Residential And administrative island of the British during the rule of South East Asia, was nick named the Paris of the east. This Island is an Ideal Destination for Nature Walk amidst Sylvan Surrounding with Deer’s, Peacock Exotic Birds etc... .Night Stay at Port Blair			
														   
											</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> DAY 3:  Port Blair to Havelock  Island:-										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												DAY 3:  PORT BLAIR – HAVELOCK ISLAND :-<br />
Today, we start journey towards Havelock Island via luxury cruise from Port Blair. On arrival at Havelock Island, our representative will Receive and escort you to check-in to the resort. After lunch, we proceed to Radhanagar Beach, which rated the #7 among the finest beach In Asia. It is an ideal place for swimming, sea bathing and basking on the sun kissed beach. Evening Retun to Port Blair .....Night Stay At port Blair.			
														   
											</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> DAY 4:  Port Blair to Baratang Island:-										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												DAY 4:  Port Blair to Baratang Island:-<br />
Baratang Day Trip Early Morning Proceed for Baratang Island. The Journey by Road. Then Proceed For limestone Cave and Return to Port Blair and Stay Overnight at Hotel			
														   
											</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> DAY 5: Hotel To Air Port Drop.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Drop to Airport. Fly back with ever lasting memories of these emerald Islands			
														   
											</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>CP (Room + Breakfast)</li>
																						<li>Hotel</li>
																						<li>Transport</li>
																						<li>Transfers</li>
																						<li>Airport Pickup-Drop</li>
																				<li>1. Accommodation in AC Rooms as given at Hotels in Port Blair with Breakfast and all taxes.</li><li>
2. All Entry Tickets & ferry Tickets and Permit Charges.</li><li>
3. All sightseeing By 01 Personal A/c Vehicles. </li><li>
4.  Full day Tour with all Transfers including Airport Pickup and Drop.</li><li>
5. Havelock Transfers in Luxury cruise. OR Green ocen.</li><li>
6. 01 Dabble A/c Rooms. </li><li>
7.  Meet and Greet Service at the Airport.</li><li>
8. Personal Tour Coordinator to help you with any requirements during the Tour.</li><li>
9. Travel assistance by field executive at all the major entry exit points (Airport / Jetty /Jail / Water Sports Complex, etc).</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>1. Flight Tickets are not included. We recommend you to book Flight ticket by yourself as it will be cost. </li><li>
Effective and based upon your flexibility. However, if you want us to book the tickets then we can do it.  For you based upon availability.</li><li>
2. Other meals not mentioned laundry, telephone calls, and incidentals</li><li>
3. Any Personal expenses .room Service & Special Orders. Alcohol and non-alcoholic Beverage. </li><li>
4. Additional sightseeing or extra usage of vehicle, other than mentioned in the itinerary.</li><li>
4. Any extra excursion or sights caning apart From the suggested tour itinerary.</li><li>
5. Camera Tickets are not including in the mentioned cost of sightseeing & Transfers.</li><li>
6. Other meals not mentioned, laundry, telephone calls.</li><li>
7. Any cost arising due to natural calamities like, road blockage, political disturbances (strikes), etc (to be     .   Borne by the client, who is directly payable on the spot).</li><li>
8. Mandatory Meal Supplement on 24th/25th December and 31st December is not included. This Amount.   .   Should be paid directly at the hotel after arrival.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* 20% Advance Percentage of total booking amount</li><li>
* Airfare/Transport fare to be paid full at one time in advance.</li><li>
Payments:For all the services contracted, certain advance payment should be made to hold the booking, on confirmed basis & the balance amount can be paid either before your departure from your country or upon arrival in INDIA but definitely before the commencement of the services. Management personnel’s hold the right to decide upon the amount to be paid as advance payment, based on the nature of the service & the time left for the commencement of the service.</li><li>
Apart from above in some cases like Special Train Journeys, hotels or resorts bookings during the peak season (X-Mas, New Year), full payment is required to be sent in advance</li></ul>						
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								Our Liabilities & Limitations:
 Please note that after the finalization of the Tour/ service Cost, if there are any Hike in entrance fees of monuments / museums, Taxes, fuel cost or guide charges – by Govt of India, the same would be charged as extra.
We are  act only in the capacity of agent for the hotels, airlines, transporters, railways & contractors providing other services & all exchange orders, receipts, contracts & tickets issued by us are issued subject to terms & conditions under which these services are provided by them.
All itineraries are sample itineraries, intended to give you a general idea of the likely trip schedule. Numerous factors such as weather, road conditions, the physical ability of the participants etc. may dictate itinerary changes either before the tour or while on the trail. We reserve the right to change any schedule in the interest of the trip participants' safety, comfort & general wellbeing.
Our rates are based on the prevailing rates as negotiated by us with the hotels, airlines etc. Hotels and Airlines retain the right to modify the rates without notice. In case of such changes the rates quoted before the modification, can be changed by us according to the modifications by hotels or airlines. All hotel bookings are based on usual check in and check out time of the hotels until unless indicated in the itinerary.
We shall not be responsible for any delays & alterations in the programmer or expenses incurred – directly or indirectly – due to natural hazards, flight cancellations, accident, breakdown of machinery or equipment’s, breakdown of transport, weather, sickness, landslides, political closures or any untoward incidents.
We shall not be responsible for any loss, injury or damage to person, property, or otherwise in connection with any accommodation, transportation or other services, resulting – directly or indirectly – from any act of GOD, dangers, fire, accident, breakdown in machinery or equipment, breakdown of transport, wars, civil disturbances, strikes, riots, thefts, pilferages, epidemics, medical or custom department regulations, defaults, or any other causes beyond our control.
We do not have any insurance policy covering the expenses for accident, sickness, loss due to theft, or any other reasons. Visitors are advised to seek such insurance arrangements in their home country. All baggage’s & personal property/s at all times are at the client's risk.
Please Note: We will not be responsible for any costs arising out of unforeseen circumstances like landslides, road blocks, bad weather, etc.								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">2</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>29260</b> <small>/
			
			                		Adult			
			                	( With Tax )			
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</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.</li><li>
* Retention Amount varies as per the number of days left before your package start date.</li><li>
Cancellation Policy: In the event of cancellation of tour / travel services due to any avoidable / unavoidable reason/s we must be notified of the same in writing. Cancellation charges will be effective from the date we receive advice in writing, and cancellation charges would be as follows:</li><li>
45 days prior to arrival: 10% of the Tour / service cost.</li><li>
15 days prior to arrival: 25% of the Tour / service cost.</li><li>
07 days prior to arrival: 50% of the Tour / service cost.</li><li>
48 hours prior to arrival OR No Show: No Refund.</li><li>
Note: Written cancellation will accept on all working days, except Sunday, Any cancellation sent on Sunday's will be considered on next working day (Monday).</li><li>
For the X-mas and New Year period from 20 Dec to 05 Jan the payment is non-refundable.</li><li>
In case you cancel the trip after commencement, refund would be restricted to a limited amount only which too would depend on the amount that we would be able to recover from the hoteliers/ contractors we patronize. For unused hotel accommodation, chartered transportation & missed meals etc. we do not bear any responsibility to refund.</li><li>
Please Note: We will not be responsible for any costs arising out of unforeseen circumstances like landslides, road blocks, bad weather, etc.</li><li>
* Refund will be made within 15 working days from the date of receipt of the cancellation.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.vnandamantourtravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="4 Nights 5 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="187082"/>
						</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.vnandamantourtravel.in/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(23)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(21)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/packages-in-genting.htm" title="Packages in Genting">Genting</a> <b class="alpha50 bn small">(16)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/packages-in-moga.htm" title="Packages in Moga">Moga</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/packages-in-kolhapur.htm" title="Packages in Kolhapur">Kolhapur</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/packages-in-mansa.htm" title="Packages in Mansa">Mansa</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/packages-in-adilabad.htm" title="Packages in Adilabad">Adilabad</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/packages-in-anantapur.htm" title="Packages in Anantapur">Anantapur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/packages-in-cuddapah.htm" title="Packages in Cuddapah">Cuddapah</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/packages-in-south-andaman.htm" title="Packages in South Andaman">South Andaman</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.vnandamantourtravel.in/packages-in-bemetara.htm" title="Packages in Bemetara">Bemetara</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.vnandamantourtravel.in/packages-in-valsad.htm" title="Packages in Valsad">Valsad</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.vnandamantourtravel.in/packages-in-banaue.htm" title="Packages in Banaue">Banaue</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.vnandamantourtravel.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(32)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/group-holidays-catid.htm" title="Group Packages">Group</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/boat-safari-holidays-catid.htm" title="Boat Safari Packages">Boat Safari</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/paddle-boats-holidays-catid.htm" title="Paddle Boats Packages">Paddle Boats</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/water-skiing-holidays-catid.htm" title="Water Skiing Packages">Water Skiing</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/snorkeling-holidays-catid.htm" title="Snorkeling Packages">Snorkeling</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vnandamantourtravel.in/scuba-diving-holidays-catid.htm" title="Scuba Diving Packages">Scuba Diving</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.vnandamantourtravel.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 spanlist dn"><a class="dif" href="http://www.vnandamantourtravel.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</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.vnandamantourtravel.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.vnandamantourtravel.in/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 spanlist dn"><a class="dif" href="http://www.vnandamantourtravel.in/kayaks-holidays-catid.htm" title="Kayaks Packages">Kayaks</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.vnandamantourtravel.in/water-scooters-holidays-catid.htm" title="Water Scooters Packages">Water Scooters</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.vnandamantourtravel.in/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.vnandamantourtravel.in/jet-ski-ride-holidays-catid.htm" title="Jet Ski Ride Packages">Jet Ski Ride</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.vnandamantourtravel.in/snorkelling-holidays-catid.htm" title="Snorkelling Packages">Snorkelling</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.vnandamantourtravel.in/boating-holidays-catid.htm" title="Boating Packages">Boating</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>
				</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:54:"Book 4 Nights 5 Days - 4 Nights / 5 Days Tour Packages";i:2;s:175:"book 4 nights 5 days - 4 nights / 5 days tour packages, adventure tour packages, port blair ,,rose island ,,havelock island ,,nort bay island,,baratang island ,, tour packages";i:3;s:232:"Book 4 Nights 5 Days - 4 Nights / 5 Days tour packages from Vn Andaman Tour & Travels - Get attractive 4 Nights / 5 Days Adventure  tour packages for  Port Blair ,,Rose Island ,,Havelock Island ,,Nort Bay Island,,Baratang Island ,,.";i:4;s:1388:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair ,,Rose Island ,,Havelock Island ,,Nort Bay Island,,Baratang Island ,,"        
		                 },
		      "description": "Andaman Island houses some amazing beaches and islands along with the beautiful capital city to turn your dream vacation into a reality. Blessed with lush green forests and white sand beaches, it offers an ideal place to holiday with your family and friends and have a good time.
At Tour My India, we offer 4 nights and 5 days Port Blair, Havelock withBaratang Island  tour that will cover most of the Andaman Excursion you would like to explore while holidaying in Andaman Island. Our tour includes a visit to some wonderful beaches of the island along with a Port Blair City Tour so that you can make the most of your vacation and take away many lifetime memories with us.
This is a Perfect Tour for Those Coming for 5 Days to The Andaman Islands. You cover all the top 5 ISLAND in Andaman and good enough leisure time is also present. All attractions in Havelock and Baratang Island are covered in this tour program.",
		      "name": "4 Nights 5 Days",
		      "telephone": "+91-8008089220"
		    }
		    </script>
			";i:5;N;}