a:6:{i:0;s:10114:"				<div class="h1"><h1>Splendours of Andaman Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.andamanswagat.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamanswagat.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Splendours of 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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Port Blair</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.andamanswagat.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Splendours of 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="60569"/>
						</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_12/352228/113997.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/352228/113997.jpg"  width="150" height="150"    alt="Splendours of Andaman Tour" title="Splendours of 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> Arrive Andaman
								</p>
								<p class="aj">Arrival at Port Blair in the morning/afternoon by flight and transfer to hotel. After lunch proceeds to show you Corbyns Cove beach the only beach in city of Port Blair. In the evening proceed to attend the enthralling Sound and Light Show (at 1800 hrs or 1900 Hrs, depending on light and sound show ticket availability) at Cellular Jail - where the heroic saga of the Indian freedom struggle is brought alive.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Port Blair - North Bay Ross Island Viper Island
								</p>
								<p class="aj">Depart at 0900 from Water Sports complex in a boat to see under- water marine life and varieties of corals at North Bay (Snorkeling and Glass Bottom at extra cost. Lunch included). After North Bay, proceed to Ross Island (Wednesday Closed), the erstwhile capital of Port Blair during the British regime. The island presently houses the ruins of old buildings like Chief Commissioner, House, Government House, Church, Bakery, Press, Swimming Pool, Cemetery, etc. and all in dilapidated condition. After that proceed for a Harbour Cruise which includes a trip to tiny, serene, beautiful island called, "VIPER ISLAND" where the gallows is a sight to watch. Evening is free for shopping</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> Port Blair - Havelock
								</p>
								<p class="aj">Early morning departure (0600 hrs) ferry from Port Blair - Havelock. The ferry takes 2.5 hrs to reach Havelock. On arrival proceed to selected hotel and in the evening proceed to Beach No 7(Radhanagar Beach) rated as the ‘Best Beach in Asia’ by Time Magazine (Local Hot Tea will be offered) (N/Ac Car/ Jeep will be provided for pickup and drop, time spent 2-3 hours). Return back to the Hotel to relax and unwind. (Kindly remind hotel to provide packed breakfast at Port Blair since the same is not included at 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 4:</b> Havelock - Kala Pathar Beach - Port Blair
								</p>
								<p class="aj">Check out and after lunch visit to Kala Pathar Beach which involves a scenic drive. Return from Havelock Island in the evening ferry 1600 hrs/ 1630 hrs and transfer to hotel in Port Blair.The guest will arrive only in the evening. (Do note that all hotels on Havelock have a early morning check out time and late checkout is provided at the discretion of the hotel management)</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 - City Tour and Chidiya Tapu
								</p>
								<p class="aj">After breakfast, start for a tour of places in & around Port Blair (City Tour) - covering the famous Cellular Jail*( a witness to the freedom struggle), Chatham Saw Mill (one of the oldest & largest in Asia), Forest Museum, Anthropological Museum, Fisheries (Marine) Museum, Naval Marine Museum (Samudrika). At 1530 hrs proceed to Chidiya Tapu located 30 kms away from Port Blair and also called the Sunset Point in Andaman’s (Hot Tea will be provided) .In the evening visit local market - for shopping & souvenirs.</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> Port Blair - Mg National Park - Red Skin Jolly Bouy
								</p>
								<p class="aj">Prepare to explore the stunning underwater life of Andaman Islands. Depart by 0830 hrs for Wandoor to enter the Mahatma Gandhi National Park (29 kms from Port Blair, it is a 281 sq kms national park with 15 small and large Islands).Visit Red Skin or Jolly Bouy depending on which Island is open and get lost in the magical underwater life with variety of fishes and corals; it is a 45 minute boat ride through stunning uninhabited Islands. It is advisable to carry water and packed lunch. Return back in the afternoon which memories of a lifetime. Evening 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 7:</b> Departure
								</p>
								<p class="aj">Depart Port Blair with Fond memories of these mesmerizing Islands.</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>
															</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.andamanswagat.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Splendours of 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="60569"/>
						</form>
						</div>
						
						";i:1;s:65:"Book Splendours of Andaman Tour - 6 Nights / 7 Days Tour Packages";i:2;s:124:"book splendours of andaman tour - 6 nights / 7 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:155:"Andaman Swagat offers Splendours of Andaman Tour - 6 Nights / 7 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:408:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "Splendours of Andaman Tour",
		      "telephone": "+91-9476028789"
		    }
		    </script>
			";i:5;N;}