a:6:{i:0;s:12361:"				<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 IHPL 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;}