a:6:{i:0;s:12357:"				<div class="h1"><h1>Andaman Package from Kolkata</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.andamanbeyondbeauty.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.andamanbeyondbeauty.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Andaman Package from Kolkata</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">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Port Blair, Kolkata</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.andamanbeyondbeauty.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Package from Kolkata - 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="55062"/>
						</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/396702/105932.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/396702/105932.jpg"  width="150" height="150"    alt="Andaman Package from Kolkata" title="Andaman Package from Kolkata" /></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> Arrival in Kolkata
								</p>
								<p class="aj">Arrive at the Kolkata Airport and meet an  tour representative who helps you with an assisted transfer to the hotel. After completing the check-in formalities, the rest of the day is free. The capital city of West Bengal, Kolkata is one of the most popular destinations of India, amongst cultural aficionados. Dubbed as the Cultural Capital of India, Kolkata is dotted with a number of attractions. 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 2:</b> Kolkata
								</p>
								<p class="aj">On the 2nd day of the tour, get all set to partake in the city tour of Kolkata. The tourist attractions of Kolkata that you visit today include Fort William- constructed during the British Era on the eastern banks of Hoogly River; Victoria Memorial- built in Indo-Saracenic Revival architecture, this important building also has a museum; Eden Gardens Stadium- the largest cricket stadium in the country; Birla Planetarium- Asia's largest planetarium, it is also known as Taramandal; Howrah Bridge- a cantilever bride, one of the city's most popular attraction; Marble Palace well-maintained 19th century mansion that was constructed by a wealthy Bengali merchant; Writer's Building- built to serve as main office of the writers of the East Indian Company; Nicco Park- an amusement park and Botanical Garden- also called Acharya Jagadish Chandra Bose Indian Botanic Garden, it houses 250 years old Banyan tree. Stay overnight in Kolkata.</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> Kolkata - Port Blair
								</p>
								<p class="aj">In the morning, get transferred to the Kolkata airport to catch a flight to Port Blair. As you reach Port Blair, our tour representative helps you in getting transferred to the hotel. Complete the check-in formalities and leave for sightseeing that includes Anthropological Museum- houses a vast collection of home models, ancient tools and art and crafts of tribes of the Andaman; Cellular Jail- popularly as Kala Pani; Fisheries Museum- species of marine life of the Island are displayed here, Science Centre- provides excellent information on Science of Oceans and growth of coral life and Corbyns Cove beach- a distinctively-shaped beach, where you can enjoy watching sunset and leisure strolls. In the evening, do not miss watching the Light and Sound Show at the Cellular Jail that tells the story of freedom struggle of India. Stay overnight.</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> Port Blair – Ross Island - North Bay Island (Coral Island) - Harbour Cruise (Viper Island)
								</p>
								<p class="aj">Entire day 8 is planned for exploring the famous islands of Andaman & Nicobar Island Group including Ross Island, Viper Island and North Bay, via cruise. First in line is Ross Island – an island known for its rich history and enchanting scenery, which was the capital of Port Blair during the British rule. Next, you visit North Bay Island/Coral Island – the island boasts of an exotic rich marine life. Hop into a glass-bottom boat to explore it or go for scuba diving and snorkeling. Proceed towards the beautiful and verdant green Viper Island, in the evening. This island was the site where the first jail of the British was built. Return to Port Blair 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 5:</b> Port Blair - Havelock Island
								</p>
								<p class="aj">Today, get into a ferry to go to Havelock Island from Port Blair. Havelock can rightly be called one of the most popular tourist attractions of Andaman and Nicobar Islands. This island boasts of an amazing ambiance, offers excellent opportunities for scuba diving and has enchanting beaches. On reaching Havelock, our tour representative greets you and assists you in transfer to your resort. After check-in, have a visit to the small yet mesmerizing Kala Pathar Beach, known for its laid-back ambiance. As the beach has little tourist activity, it offers you a chance to get away from your tired city life and spend some relaxed moments. Just lie down and soak-in the tranquility or enjoy a stroll. Overnight stay in 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 6:</b> Havelock Islands - Port Blair
								</p>
								<p class="aj">On day 6 of Kolkata with Port Blair tour, visit the sun -kissed world-renowned Radhanagar Beach, popular as Asia's top 10 beaches. On reaching the enchanting beach, you can indulge in a number of fun activities such as swimming, sun-bathing, taking a stroll around or simply sitting on the beach, enjoying the beautiful views. Also called beach #7, it offers some most mesmerizing views of the sunset. During late afternoon, back to Port Blair and check-into the hotel. Stay overnight.</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 - Mount Harriet - Port Blair
								</p>
								<p class="aj">Have breakfast and leave the hotel for a tour to Mount Harriet, the third highest peak of Andaman and Nicobar, which was the summer headquarters of Chief Commissioner during the British times. Admire the beautiful views of the island's outer area and the surrounding waters from here. Also closely location is the National Park wherein you can spot the exotic wildlife of the region. Embarking on a nature trek in the area is the other option. Back to Port Blair in the afternoon. Check-into a Port Blair hotel on arrival. Evening today is a shopping tour in the markets of Port Blair where you can shop for interesting souvenirs such as pearl jewellery, knick-knacks made from bamboo and shells, mats made from local wood. 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 8:</b> Departure from Port Blair - Kolkata
								</p>
								<p class="aj">Get transferred to the airport to catch a flight for Delhi from where you go on-board another flight for your onward 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.andamanbeyondbeauty.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Package from Kolkata - 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="55062"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Andaman Package from Kolkata - 7 Nights / 8 Days Tour Packages";i:2;s:135:"book andaman package from kolkata - 7 nights / 8 days tour packages, beach and islands tour packages, port blair, kolkata tour packages";i:3;s:173:"Andaman Beyond Beauty offers Andaman Package from Kolkata - 7 Nights / 8 Days tour package, budget Beach and Islands tour packages for Port Blair, Kolkata at exciting price.";i:4;s:419:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair, Kolkata"        
		                 },
		      "description": "",
		      "name": "Andaman Package from Kolkata",
		      "telephone": "+91-7004753289"
		    }
		    </script>
			";i:5;N;}