a:6:{i:0;s:13623:"				<div class="h1"><h1>7 Days Holiday in Andaman (Family Special)</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.northerntourandtravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.northerntourandtravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>7 Days Holiday in Andaman (Family Special)</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.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="7 Days Holiday in Andaman (Family Special) - 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="54832"/>
						</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/334611/105637.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/334611/105637.jpg"  width="150" height="150"    alt="7 Days Holiday in Andaman (Family Special)" title="7 Days Holiday in Andaman (Family Special)" /></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.northerntourandtravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="7 Days Holiday in Andaman (Family Special) - 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="54832"/>
						</form>
						</div>
						
						";i:1;s:81:"Book 7 Days Holiday in Andaman (Family Special) - 6 Nights / 7 Days Tour Packages";i:2;s:140:"book 7 days holiday in andaman (family special) - 6 nights / 7 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:201:"Book 7 Days Holiday in Andaman (Family Special) - 6 Nights / 7 Days tour packages from A.G Northern Tour and Travels - Get attractive 6 Nights / 7 Days Beach and Islands  tour packages for  Port Blair.";i:4;s:424:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "7 Days Holiday in Andaman (Family Special)",
		      "telephone": "+91-9086002323"
		    }
		    </script>
			";i:5;N;}