a:6:{i:0;s:12379:"				<div class="h1"><h1>Experience Andaman Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.indianwanderlusttravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.indianwanderlusttravels.com/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Experience Andaman Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Port Blair, Kolkata, Havelock</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.indianwanderlusttravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Experience Andaman 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="113489"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/481497/185680.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/481497/185680.jpg"  width="150" height="150"    alt="Experience Andaman Tour" title="Experience Andaman Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
											<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival in Kolkata
								</p>
								<p class="aj">Arrive at the Kolkata Airport and meet an tour representative who helps you with an assisted transfer to the hotel. After completing the check-in formalities, the rest of the day is free. The capital city of West Bengal, Kolkata is one of the most popular destinations of India, amongst cultural aficionados. Dubbed as the Cultural Capital of India, Kolkata is dotted with a number of attractions. 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 2:</b> Kolkata
								</p>
								<p class="aj">On the 2nd day of the tour, get all set to partake in the city tour of Kolkata. The tourist attractions of Kolkata that you visit today include Fort William- constructed during the British Era on the eastern banks of Hoogly River; Victoria Memorial- built in Indo-Saracenic Revival architecture, this important building also has a museum; Eden Gardens Stadium- the largest cricket stadium in the country; Birla Planetarium- Asia's largest planetarium, it is also known as Taramandal; Howrah Bridge- a cantilever bride, one of the city's most popular attraction; Marble Palace well-maintained 19th century mansion that was constructed by a wealthy Bengali merchant; Writer's Building- built to serve as main office of the writers of the East Indian Company; Nicco Park- an amusement park and Botanical Garden- also called Acharya Jagadish Chandra Bose Indian Botanic Garden, it houses 250 years old Banyan tree. Stay overnight in Kolkata.</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> Kolkata -Port Blair
								</p>
								<p class="aj">In the morning, get transferred to the Kolkata airport to catch a flight to Port Blair. As you reach Port Blair, our tour representative helps you in getting transferred to the hotel. Complete the check-in formalities and leave for sightseeing that includes Anthropological Museum- houses a vast collection of home models, ancient tools and art and crafts of tribes of the Andaman; Cellular Jail- popularly as Kala Pani; Fisheries Museum- species of marine life of the Island are displayed here, Science Centre- provides excellent information on Science of Oceans and growth of coral life and Corbyn's Cove beach- a distinctively-shaped beach, where you can enjoy watching sunset and leisure strolls. In the evening, do not miss watching the Light and Sound Show at the Cellular Jail that tells the story of freedom struggle of India. Stay overnight.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Port Blair – Ross Island – North Bay Island (Coral Island) – Harbour Cruise (Viper Island)
								</p>
								<p class="aj">Entire day 8 is planned for exploring the famous islands of Andaman & Nicobar Island Group including Ross Island, Viper Island and North Bay, via cruise. First in line is Ross Island – an island known for its rich history and enchanting scenery, which was the capital of Port Blair during the British rule. Next, you visit North Bay Island/Coral Island – the island boasts of an exotic rich marine life. Hop into a glass-bottom boat to explore it or go for scuba diving and snorkeling. Proceed towards the beautiful and verdant green Viper Island, in the evening. This island was the site where the first jail of the British was built. Return to Port Blair 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 5:</b> Port Blair – Havelock Island
								</p>
								<p class="aj">Today, get into a ferry to go to Havelock Island from Port Blair. Havelock can rightly be called one of the most popular tourist attractions of Andaman and Nicobar Islands. This island boasts of an amazing ambiance, offers excellent opportunities for scuba diving and has enchanting beaches. On reaching Havelock, our tour representative greets you and assists you in transfer to your resort. After check-in, have a visit to the small yet mesmerizing Kalapathar Beach, known for its laid-back ambiance. As the beach has little tourist activity, it offers you a chance to get away from your tired city life and spend some relaxed moments. Just lie down and soak-in the tranquility or enjoy a stroll. Overnight stay in Havelock.</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 Islands—Port Blair
								</p>
								<p class="aj">On day 6 of Kolkata with Port Blair tour, visit the sun -kissed world-renowned Radhanagar Beach, popular as Asia's top 10 beaches. On reaching the enchanting beach, you can indulge in a number of fun activities such as swimming, sun-bathing, taking a stroll around or simply sitting on the beach, enjoying the beautiful views. Also called beach #7, it offers some most mesmerizing views of the sunset. During late afternoon, back to Port Blair and check-into the hotel. Stay overnight.</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> Port Blair – Mount Harriet –Port Blair
								</p>
								<p class="aj">Have breakfast and leave the hotel for a tour to Mount Harriet, the third highest peak of Andaman and Nicobar, which was the summer headquarters of Chief Commissioner during the British times. Admire the beautiful views of the island's outer area and the surrounding waters from here. Also closely location is the National Park wherein you can spot the exotic wildlife of the region. Embarking on a nature trek in the area is the other option. Back to Port Blair in the afternoon. Check-into a Port Blair hotel on arrival. Evening today is a shopping tour in the markets of Port Blair where you can shop for interesting souvenirs such as pearl jewellery, knick-knacks made from bamboo and shells, mats made from local wood. 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> Departure from Port Blair – Kolkata
								</p>
								<p class="aj">Get transferred to the airport to catch a flight for Delhi from where you go on-board another flight for your onward journey.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.indianwanderlusttravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Experience Andaman 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="113489"/>
						</form>
						</div>
						
						";i:1;s:62:"Book Experience Andaman Tour - 7 Nights / 8 Days Tour Packages";i:2;s:140:"book experience andaman tour - 7 nights / 8 days tour packages, beach and islands tour packages, port blair, kolkata, havelock tour packages";i:3;s:182:"Indian Wanderlust Travels offers Experience Andaman Tour - 7 Nights / 8 Days tour package, budget Beach and Islands tour packages for Port Blair, Kolkata, Havelock at exciting price.";i:4;s:424:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Kolkata, Havelock"        
		                 },
		      "description": "",
		      "name": "Experience Andaman Tour",
		      "telephone": "+91-9910202783"
		    }
		    </script>
			";i:5;N;}