a:6:{i:0;s:13517:"				<div class="h1"><h1>7 Days Holiday in Andaman Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.seaqueenholiday.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.seaqueenholiday.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>7 Days Holiday in 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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="7 Days Holiday in 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="52604"/>
						</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_8/235469/102946.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/235469/102946.jpg"  width="150" height="150"    alt="7 Days Holiday in Andaman Tour" title="7 Days Holiday in 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> Port Blair (Arrival)
								</p>
								<p class="aj">Following your arrival at the Port Blair Airport, also known as Veer Savarkar Airport, a Yatra representative will meet you and assist you to board the designated vehicle. The capital city of Andaman and Nicobar Islands, Port Blair is famous for its pristine natural beauty and serene environment. The city offers fabulous views of coconut and palm trees, azure blue water and gleaming sand. It is one of the major tourist places in India.<br />
<br />
Thereafter, check in to the hotel and retire for some time. In the afternoon, head towards the Corbyn’s Cove Beach, a beautiful beach situated at a distance of 7 kilometers from Port Blair City. Glittering blue sea-water, glimmering white sand, coconut & palm trees and abundant greenery will attract you to feel the beauty of nature. Besides, you can partake in several natural activities such as surfing, scuba diving and boating.<br />
<br />
Thereafter, you can visit the famous Cellular Jail in Port Blair. This jail has played a pivotal role in the history of the glorious freedom struggle of India. Entirely made up of individual cells, Cellular Jail will remind you of the intolerable tortures and pain suffered by the freedom fighters imprisoned here. This place is a memorial of those courageous martyrs. You can also see the glimpses of Indian freedom struggle through the Sound and Light Show organized every evening in Cellular Jail.<br />
<br />
Once you’ve explored the attractions in Port Blair, return back to the hotel and retire for the day. Stay overnight 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> Cruise from Port Blair to Havelock (54 km approx.)
								</p>
								<p class="aj">In the morning, following a sumptuous breakfast, check out of the hotel and head straight towards Havelock, situated 54 kilometers away from Port Blair. The breathtaking views of beaches scattered by palm trees and coral reefs, azure blue water and amazing resorts in this island attract tourists from all over the world. Upon your arrival at Havelock, check in at the hotel and relax for some time.<br />
<br />
Pay a visit to the famous Radhanagar Beach in the afternoon. This beach is not only the finest beach in India but also it has been honored as ‘Asia’s Best Beach’ by the famous ‘Time Magazine’. The blue water, peaceful environment and white sand offer an overwhelming look to this beach. Here you can enjoy sun basking and stroll in the soft sand. Also, guests can partake in various adventure sports such as scuba diving, game fishing, swimming and snorkeling etc.<br />
<br />
Post spending quality time at the beach, return back to the hotel and take rest. Stay overnight 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 3:</b> Sightseeing in Havelock
								</p>
								<p class="aj">Post breakfast in the morning, check out of the hotel. Embark on an adventurous trip to the Ocean Pearl Dive Centre.<br />
<br />
This centre is a PADI resort where certified and experienced professionals train the tourists for snorkeling and scuba diving. Here you can participate and pay in a training class and go for scuba diving. Other water sports that you can partake in include snorkeling on sea water and get a chance to watch the exotic marine life. Here you’ll get to see some rare species of fishes and corals while snorkeling. You should not forget to carry an extra pair of clothes, snacks, footwear and a bottle of drinking water before going for snorkeling.<br />
<br />
Following an enchanting trip, return back to the hotel and take rest.  Here you must take a shower to refresh yourself. Stay overnight 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 4:</b> Sightseeing in Havelock Cruise from Havelock to Port Blair
								</p>
								<p class="aj">Early morning, after a luscious breakfast, enjoy your time at leisure. You have ample options to do such as watch television and listen to music. Besides, you can marvel at the pristine beauty of the surroundings and notice that the Havelock Island rests like a paradise in the sea.  Later, check out of the hotel. Embark on a road trip to the Kala Pathar Beach, located near the Kala Pathar Village. The black rocks, green water and attractive vistas make this beach a wonderful place to visit. Here you will also see magnificent dive centers and resorts in this region.<br />
<br />
Following a memorable day at Kala Pathar, return to the hotel and take rest. After the sunset, take your luggage and board the cruise. Cruise back to the Port Blair and check-in at the hotel. Have a nice sleep in 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 5:</b> Sightseeing in Port Blair
								</p>
								<p class="aj">Early morning, after breakfast, check out from the hotel. Later, embark on a sightseeing tour of Port Blair. Today, explore the renowned museums in the city such as Samudrika Museum, Fisheries Museum and Anthropological Museum.<br />
<br />
At the Fisheries Museum, you would explore around 350 species of marine life such as starfish, fishes and live corals. In the Anthropological Museum, the tribal culture of the region is displayed. Here you will see a huge collection of weapons, models, clothes, baskets, photographs and tribal boats etc.<br />
<br />
Also known as the Naval Marine Museum, Samudrika Museum is run and owned by the Indian Navy. Here you will see antique collections of corals and shells etc. The museum also displays the history, geography and culture of Andaman and Nicobar Islands. Later, enjoy a fantastic experience of discovering the Port Blair Museum and return back to the 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 6:</b> Port Blair (Sightseeing)
								</p>
								<p class="aj">After the sightseeing, return to the hotel and take rest. Enjoy a cosy overnight stay.<br />
<br />
In the morning, after a delicious breakfast, check out of the hotel. Later, move out to explore the tourist attractions in Port Blair. Later, move towards the North Bay, an enchanting island of Port Blair, and board a glass-bottomed boat cruise. While boating in the azure waters, you will see a perfect view of marine life.<br />
<br />
After a delightful experience of boating, proceed towards another fascinating spot-Ross Island. This island is adorned by the eye-catching views of the green surroundings. Ross Island was under the control of Indian Navy and features some ruins from history including a church and Chief Commissioner’s House. These historical assets are bounded by old trees and plants that date back to past centuries.<br />
<br />
Thereafter, board a streamer and proceed towards the famous Viper Island, named after the vessel ‘Viper’. It was believed that the ruins of the ship ‘Viper’ were abandoned in this island. Here you can enjoy a panoramic view of the beautiful surroundings and click photographs in this island.</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
								</p>
								<p class="aj">Early morning, taste the flavor of delicious breakfast and satiate you appetite. Later, check out from the hotel and drive to the Port Blair Airport. Thereafter, board the flight for onwards 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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="7 Days Holiday in 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="52604"/>
						</form>
						</div>
						
						";i:1;s:69:"Book 7 Days Holiday in Andaman Tour - 6 Nights / 7 Days Tour Packages";i:2;s:128:"book 7 days holiday in andaman tour - 6 nights / 7 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:178:"Book 7 Days Holiday in Andaman Tour - 6 Nights / 7 Days tour packages from Sea Queen Holidays - Get attractive 6 Nights / 7 Days Beach and Islands  tour packages for  Port Blair.";i:4;s:412:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "7 Days Holiday in Andaman Tour",
		      "telephone": "+91-9833538295"
		    }
		    </script>
			";i:5;N;}