a:6:{i:0;s:15612:"				<div class="h1"><h1>Splendid Andaman Island Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.andamanblueoceantravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamanblueoceantravels.com/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Splendid Andaman Island 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">
						13 Nights / 14 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Port Blair, Chennai, Kanchipuram, Thanjavur, Tiruchirappalli, Pondicherry, 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.andamanblueoceantravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Splendid Andaman Island 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="106950"/>
						</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/484011/177278.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/484011/177278.jpg"  width="150" height="150"    alt="Splendid Andaman Island Tour" title="Splendid Andaman Island 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> Chennai (Arrival)
								</p>
								<p class="aj">The exclusive 'Tamil Nadu with Andaman tour' starts with the arrival at Chennai airport. From there,our  tour representative will escort you to the hotel. Spend the rest of the day exploring the local South Indian market or by staying at leisure in the hotel. This is followed by an overnight stay including dinner in the 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> Chennai
								</p>
								<p class="aj">Day 2 of our delightful tour commences as soon as you leave your hotel. This day is specially dedicated to sightseeing in the city of Chennai. Being renowned as the 'Gateway of South', Chennai has so much to offer to its tourists. Part of the city tour, you would be visiting St. Mary's Church, Kapaliswara temple, Theosophical society, Sri Parthasarathy temple and San Thomas Cathedral Basilica. The list does not end here, it also includes visits to Mylapore, Kalakshetra, Fort St. George and houses of the Secretariat and Legislative assembly of Tamil Nadu. Post that, travel back to your hotel for an 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 3:</b> Chennai - Mahabalipuram
								</p>
								<p class="aj">After making an early morning check out from the hotel, drive towards Mahabalipuram. On your way to Mahabalipuram, make a halt at the sacred city of Kanchipuram. Being an important center of Jainism, Buddhism and Hinduism, the city has temples like Kamakshi Amman and Ekambareswarar temple. Besides the temples, Kanchipuram is also famed for its silk weavers, the generations of which are believed to be centuries old. After that, continue with your journey to Mahabalipuram. On arriving at your destination, spend your night at the 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 4:</b> Mahabalipuram
								</p>
								<p class="aj">Right after your breakfast, embark on a sightseeing tour of Mahabalipuram. The city is famous for its Shore temple and Bhagiratha Penance, which would surely be visited on this day. In the evening feel free to explore the local markets for handicrafts and South Indian cuisines. Post that, overnight leisure stay at the 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 5:</b> Mahabalipuram - Pondicherry
								</p>
								<p class="aj">The very first thing you would be doing the next morning is embarking on a road trip to Pondicherry. Pondicherry is almost two hours away from Mahabalipuram. In Pondicherry you would be doing some sightseeing, which include the visit to the very famous Aurobindo Ashram. As dusk settles, make a check in to your hotel and spend the night at leisure.</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> Pondicherry - Thanjavur
								</p>
								<p class="aj">On the sixth day of our recreational tour, hit the roads for Thanjavur. As Thanjavur is quite far from Pondicherry, you would be asked to start your journey early in the morning. As per our proposed itinerary, visit to attractions in Tanjavur like the Brihadeshwar temple and fort, Thanjavur Palace and Museum would be the top priority. Overnight stay would be at a hotel in Thanjavur.</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> Thanjavur - Trichy
								</p>
								<p class="aj">Bid farewell to Thanjavur and get on a road trip to the city of Trichy. On your arrival at Trichy, you would be heading for a sightseeing tour of the city. This includes visit to tourist attractions like Rock Fort temple, Srirangam temple and Jambukeshwara temple. Spend your night at leisure in a hotel in Trichy.</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> Trichy - Chennai
								</p>
								<p class="aj">On this day, pack your bags and check-out of your hotel. In the morning you would be dropped to the station to board the next train to Chennai. On your arrival at Chennai, you would be transferred to your hotel. The evening is at your leisure and you can choose to spend it on the Marina beach. Return to your hotel for overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 9:</b> Chennai - Port Blair
								</p>
								<p class="aj">The day starts with an early morning flight to Port Blair. As you arrive at Port Blair airport, our  tour representative will escort you to a pre-booked hotel/resort. After your brief stay at the hotel, you would be visiting the famous Anthropological Museum, which displays various tools, art and handicrafts of the native aborginal tribes of Andaman and Nicobar islands. Post that, our tour guide will take you on a tour to the other attractions of Port Blair. Under this, you would be visiting the historical Cellular Jail, Fisheries Museum, Science Centre and then finally, Corbyn's beach. To make your evenings more memorable in Port Blair, you would be entertained with a light and sound show at the Cellular Jail, which narrates the tales of the freedom struggle in India. After that, overnight stay at the 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 10:</b> Port Blair -
								</p>
								<p class="aj">Dedicate this day to cruise all towards the mesmerizing Ross Island, Viper Island and North Bay. Post breakfast, start your journey to Ross Island via boat. This island holds historical importance and was also the capital of Port Blair during the British rule in India. From Ross Island, you would be escorted to North Bay Island, which is famous for its exotic coral and marine life. The underwater exploration would be done in a glass bottom boat, so that you can watch the flourishing marine life from a safe distance. In the evening, continue your journey to Harbor Cruise, which is also known as Viper Island. The day ends with a return trip to Port Blair for an overnight stay.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Port Blair - Havelock Island
									</p>
									<p class="aj">Embark on a journey to one of the most reputed islands across Andaman, the Havelock island. You would be travelling on a ferry to Havelock island from Port Blair. As you arrive the destination, our tour representative will take you to the resort. Post some hours of relaxation, visit the Kalpathar beach, which looks breathtaking in the evenings. You would be staying at Havelock for the night.</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 12:</b> Havelock Islands - Port Blair
									</p>
									<p class="aj">After breakfast, head to the Radhangar beach, which is one of the finest beaches in Andaman. Spend some lovely hours, relaxing and sun bathing at the beach. You can even go for a nice swim in the ocean. By noon, leave for Port Blair via ferry. Spend the night relaxing in your hotel at Port Blair.</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 13:</b> Port Blair - Mount Harriet
									</p>
									<p class="aj">This is the last day of our memorable TamilNadu-Andaman tour. Right after your breakfast, head towards Mount Harriet, which was supposedly the summer headquarters of the British and the highest peak in South Andaman. From the top, you can have a nice and fascinating view of the outer islands and the sea. In the evening, feel free to shop in the local market and then retire into your hotel for an 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 14:</b> Depart Port Blair - Departure Chennai
									</p>
									<p class="aj">Fly back to Chennai with the wonderful memories of these emerald islands. On reaching Chennai, you would be dropped to the international airport for your further journey.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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.andamanblueoceantravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Splendid Andaman Island 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="106950"/>
						</form>
						</div>
						
						";i:1;s:69:"Book Splendid Andaman Island Tour - 13 Nights / 14 Days Tour Packages";i:2;s:201:"book splendid andaman island tour - 13 nights / 14 days tour packages, beach and islands tour packages, port blair, chennai, kanchipuram, thanjavur, tiruchirappalli, pondicherry, havelock tour packages";i:3;s:261:"Book Splendid Andaman Island Tour - 13 Nights / 14 Days tour packages from Andaman Blue Ocean Travels - Get attractive 13 Nights / 14 Days Beach and Islands  tour packages for  Port Blair, Chennai, Kanchipuram, Thanjavur, Tiruchirappalli, Pondicherry, Havelock.";i:4;s:483:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Chennai, Kanchipuram, Thanjavur, Tiruchirappalli, Pondicherry, Havelock"        
		                 },
		      "description": "",
		      "name": "Splendid Andaman Island Tour",
		      "telephone": "+91-9933250564"
		    }
		    </script>
			";i:5;N;}