a:6:{i:0;s:6551:"				<div class="h1"><h1>Andaman Tour Package (Budget Package)</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.gomyjourney.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.gomyjourney.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Andaman Tour Package (Budget Package)</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/17434/133648.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/17434/133648.jpg"  width="150" height="150"    alt="Andaman Tour Package (Budget Package)" title="Andaman Tour Package (Budget Package)" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Port Blair</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.gomyjourney.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Andaman Tour Package (Budget Package) - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="74988"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab2"><a href="#data2">Itinerary</a></li>
												<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
											<div class="ic bdr" id="data2"><!--DATA2 START-->
						<br />
						<ul class="lsn m0px p0px">
									<li>
									<p class="b mb5px">Day 1: Arrive Port Blair
									</p>
									<div class="data p10px">On arrive at Port Blair Airport, our representative will receive and escorted to the hotel. After check-in at the hotel and little relax, we starts the sightseeing with Anthropological Museum, which displays the tools, models habitats, art and handcrafts of the aboriginal tribes of Andaman & Nicobar Islands from Anthropological Museum, Cellular Jail- Declared as National Memorial in the year 1979, The jail is a pilgrimage place for every Indian due to its significance during the freedom struggle. Then after lunch moves to nearest city beach the Corbyn's Cove. The day ends up with Sound & Light show at the national memorial, cellular jail. Return to hotel for dinner and over night stay.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 2: Port Blair - Ross Island - North Bay Island (Coral Island) - Harbour Cruise (Viper Island)
									</p>
									<div class="data p10px">Today, after breakfast we will proceed for a full day cruising towards Ross Island, North Bay(Coral Island) and Viper Island (Harbour Cruise).<br />
<br />
Ross Island : First we starts the exhilarating journey(by boat) to Ross Island the erstwhile capital of Port Blair during the British regime, it now stands an imposing relic, with the structure almost in debris. A small museum displays photographs and other antiques of the Britishers, relevant to these islands.<br />
<br />
North Bay (Coral Island) : From Ross Island, we proceed for a joyful trip to North Bay island (Coral Island) offering exotic coral, colourful fishes and underwater marine life. We can view these colourful corals & underwater marine life via in glass bottom boat and snorkeling (optional).<br />
<br />
Harbour Cruise (Viper Island) : Afternoon, we proceed for a cruise of harbour, the panoramic view of seven points from sea ie; harbour, floating docks, etc including a trip to Viper Island the place of execution.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 3: Port Blair - Red Skin/Jolly Buoy - Port Blair
									</p>
									<div class="data p10px">Today after Breakfast (at 0800hrs), we proceed for a full day trip to Jolly Buoy/Red skin island, is a part of Mahatma Gandhi Marine National Park, Wandoor has a nice beach and offers spectacular view of exotic corals, colourful fishes and under water marine life. It is one of the best destinations for snorkelling, sea bathing and basking on the wide sandy beaches.</div>					
									</li>
									<br />
									<li>
									<p class="b mb5px">Day 4: Depart from Andaman Islands
									</p>
									<div class="data p10px">Drop to Port Blair Airport for Return journey with a wonderful holiday memories.</div>					
									</li>
									<br />					
							</ul>						<!--DATA2 EMD--></div>
											
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
													<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Sightseeing</li>
																	</ul>
							<br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:76:"Book Andaman Tour Package (Budget Package) - 3 Nights / 4 Days Tour Packages";i:2;s:135:"book andaman tour package (budget package) - 3 nights / 4 days tour packages, beach and islands tour packages, port blair tour packages";i:3;s:173:"Go My Journey Pvt Ltd offers Andaman Tour Package (Budget Package) - 3 Nights / 4 Days tour package, budget Beach and Islands tour packages for Port Blair at exciting price.";i:4;s:419:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Port Blair"        
		                 },
		      "description": "",
		      "name": "Andaman Tour Package (Budget Package)",
		      "telephone": "+91-9711877344"
		    }
		    </script>
			";i:5;N;}