a:6:{i:0;s:10967:"				<div class="h1"><h1>6Nights and 7Days Port Blair Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.andamantourntravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamantourntravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>6Nights and 7Days Port Blair Package</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.andamantourntravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="6Nights and 7Days Port Blair Package - 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="86779"/>
						</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_14/397291/151749.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/397291/151749.jpg"  width="150" height="150"    alt="6Nights and 7Days Port Blair Package" title="6Nights and 7Days Port Blair Package" /></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 at Port Blair â€“ Viper Island
								</p>
								<p class="aj">Arrive at Port Blair After lunch visit Corbyn s Cove Beach Harbour Cruise Viper Island Harbour Cruise is a leisurely cruise for 2 hours in a steamer along the sea encircling Port Blair which also takes one to Viper Island the first place of penal settlement in Andamans during British rule Stay overnight at the hotel in 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 2:</b> Port Blair Coral Island
								</p>
								<p class="aj">After breakfast drive to Coral Island to indulge in underwater life Stay overnight at the hotel in Port Blair North Bay Coral Island A full day excursion to see coral reefs exotic varieties of beautiful ornamental fish and other marine life Also includes a glass bottomed boat ride Stay overnight at the hotel in 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 3:</b> Port Blair Local city Sightseeing
								</p>
								<p class="aj">After breakfast enjoy City Tour of Portblair Afternoon at leisure to indulge in shopping Evening witness the spectacular Light Sound Show at Cellular Jail Port Blair City Tour covers the famous Cellular Jail Chatam Saw Mill one of the oldest largest in Asia Forest Museum Mini Zoo Anthropological Museum Fisheries Marine Museum Science Centre Naval Marine Museum Samudrika Andaman Gandhi Park the Cottage Industries Emporium Sagarika for Shopping Souvenirs Sound and Light Show is a 1hour show held inside the Cellular Jail where the heroic saga of the Indian freedom struggle is brought alive Stay overnight at the hotel in 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 4:</b> Day 4 : Port Blair â€“ Ross Island
								</p>
								<p class="aj">After breakfast drive to Ross Island for Sight Seeing Overnight at hotel Ross Island the place from where the Britishers governed the entire A N lslands prior to India s Independence This island is an ideal destination for nature walks amidst sylvan surroundings with deers peacocks exotic birds etc Chidiya Tapu is the southern most tip of south Andamans It is generally known as the Bird Island where lush green mangroves and beautiful beach with breath taking sunset creates a mesmerizing environment Option available for Swimming Jungle Treks Stay overnight at the hotel in 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 5:</b> Port Blair Havelock Island
								</p>
								<p class="aj">Enjoy a Full Day Trip to Havelock Island Havelock Island 57 kms by sea from Port Blair reachable by ferry 3 hours from Port Blair Its well known for its 2 world famous beaches Beach No 5 7 which have received A rating from the World Tourism Organization WTO Its thus an ideal destination for a relaxing beach holiday as well as a paradise for Scuba Diving Snorkeling Stay overnight at the hotel in 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 6:</b> Port Blair Mt. Harriet
								</p>
								<p class="aj">After breakfast drive to Mt Harriet and then in afternoon enjoy Water Sports at Portblair Evening at leisure Mount Harriet it is the 2nd highest peak 365 meters high in the Andamans which offers a magnificent bird s eye view of Port Blair adjoining islands From here one can trek for about 5 Kms through a nature trial of exotic flora and fauna endemic birds and butterflies Stay overnight at the hotel in 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 7:</b> Departure from Port Blair
								</p>
								<p class="aj">After breakfast transfer to airport Board the flight for your hometown. Package Inclusion - 7 days of Accommodation at well furnished rooms. - Transfer from Airport/Railway Station/Bus Stand to Hotel by Tata Indica non-ac - Transfer from Hotel to Airport by Tata Indica non-ac - 6 breakfast for the entire trip at the hotels - Services of an English Speaking Chauffer Guide - All sightseeings & tours as per itinerary by Tata Indica non-ac - Port-blair City tour & Shopping at Port-blair - island tours (Havelock,coral,viper,ross & etc) as per the itineray plan. - All Ferry tickets for visiting islands from port-blair as per itinerary - All entrance tickets in sightseeing places as per itinerary plan - 1 glass-bottom boat ride at Coral island - 1 Snorkeling with kits at Coral island - Car Inclusion: Dedicated Tata Indica non-ac for all sightseeing & tours, Fuel Charge, Toll-gate, parking charge, Driver beta - All Hotel Luxury & Service Taxes - All Transport service taxes Package Exclusion - Airfare or train fare or visa charges - Personal expenses, Tips or private guide. - Food / sightseeings not mentioned in the inclusion part.</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>
																		<li>Transport</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.andamantourntravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="6Nights and 7Days Port Blair Package - 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="86779"/>
						</form>
						</div>
						
						";i:1;s:75:"Book 6Nights and 7Days Port Blair Package - 6 Nights / 7 Days Tour Packages";i:2;s:134:"book 6nights and 7days port blair package - 6 nights / 7 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:172:"Halder Tour & Travels offers 6Nights and 7Days Port Blair Package - 6 Nights / 7 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:418:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "6Nights and 7Days Port Blair Package",
		      "telephone": "+91-9679532700"
		    }
		    </script>
			";i:5;N;}