a:6:{i:0;s:10552:"				<div class="h1"><h1>Goa Beach Tour Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.avashshergilltravel.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.avashshergilltravel.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Goa Beach Tour 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">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Goa City</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.avashshergilltravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Goa Beach Tour 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="46244"/>
						</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/357911/91041.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/357911/91041.jpg"  width="150" height="150"    alt="Goa Beach Tour Package" title="Goa Beach Tour 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> International Air Port
								</p>
								<p class="aj">Journey start from International Air Port Delhi and move towards respective hotels.</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> Goa
								</p>
								<p class="aj">Arrive Goa you arrive at Dabolim, International Airport in Goa. From Airport you will be transferred to your hotel. You will get a traditional Indian welcome. A warm cup of coffee will be served on your arrival. Rest of the day is at leisure. Explore your hotel, sit near the pool side or peep through your room window and spectacle the beauty.<br />
<br />
Try Goa Feni in the evening, an intoxicating drink. Feni can be made from cashew and coconut. Cashew Feni is made from the juices of Cashew where as Coconut Feni is distilled from coconut toddy. If you want you can try Goa cuisine in your dinner. Your platter will have more of sea food. Since Goa was once inhabited by Portuguese, you will find a strong influence of Portuguese style of cooking in Goa cuisine.</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> Goa
								</p>
								<p class="aj">Next morning, you can book your half day tour to Old and New Goa. Since this is your beach tour, you can explore the fascinating aspects of beaches. Beaches ate considered life line of Goa. They are the most attractive part of Goa and tourist's come to Goa in order to explore this fascinating zone of Goa.<br />
<br />
The popularity of beaches in Goa is due to number of reasons. Shopping, night life and living up the wee hrs makes Goa beaches most wanted on Goa itinerary. If you want to chill out in peace and solitude, then look for the natural beauty and avoid crowds. Beaches of Goa are divided into two zones - North Goa and South Goa. North Goa comprises of beaches Anjuna beaches, Candolim beach, Dona Paula beach, Miramar beach, Baga beach, Sinquerim beach and Vagator beach.<br />
<br />
The Northern beach retain its charm because they manage behind the makeup to remain the sea side villages they originally were, their traditional alive and intact. Northern beaches are paradise, a stretch that offers everything and more that a traveler's heart desires. Adventure on oceans, lively bars, night markets, quiet beaches and throbbing night life differs North Goa beaches from others.<br />
<br />
While exploring the Northern Goa beaches, you cannot miss Anjuna flea market on Anjuna beach. This flea market is held on Wednesday every week. People just cannot resist this flea market . Known for showcasing an array of products, Flea market gives a ground to local shopkeepers and craftsman to sell their product.<br />
<br />
In South Goa, we have beaches like Colva beach, Benaulim beach, Bogmolo beach, Varca beach and Agonda Beach. Unlike Northern Goa, South Goa beaches are quite relaxing and are peaceful. Try out Ayurvedic massage in any one of the beach in Goa. Ayurvedic massage moisturizes your body and make it more flexible. The massage techniques provide relaxation, circulation and elimination of toxins while the cool breeze from the beach soothes your body and mind.<br />
<br />
After exploring all the beaches, you will resort back to your hotel. Overnight stay at the hotel. Sleep tight!</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> Mandovi river
								</p>
								<p class="aj">On the third day, we are going to try to famous boat cruises offered by Goa Tourism Development Corporation (GTDC) on the Mandovi river. The river cruise is scheduled for three time in a day, sunset and moonlight. There are different type of river cruises namely Dolphin Fantasy, Pearl of the Orient and Backwater Thrills. Just sail through river Mandovi and experience the ecstasy of being in nature. Through boat cruise, you can have a look at the exotic birds life and the crocodiles that usually surrounds the city.</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> Goa
								</p>
								<p class="aj">On the last day, you will not be doing any thing in particular. All you will be enrolled in is total fun. Just try out some adventure sports in Goa on the nearest beach. Some of the adventure sports that you can fill on your beach tour are Windsurfing, Parasailing, Speed boats and Scuba Diving. Choose the one that interest you the most . Be it any, adventure sports in Goa are far seeking and almost every body loves to try them once. You can also try Volley ball on the beach as it will give you a perfect time pass. Overnight stay at the hotel/resort.</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> Back to Airport
								</p>
								<p class="aj">Back to Airport for your next flight.</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>
												</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.avashshergilltravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Goa Beach Tour 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="46244"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Goa Beach Tour Package - 5 Nights / 6 Days Tour Packages";i:2;s:118:"book goa beach tour package - 5 nights / 6 days tour packages, beach and islands tour packages, goa city tour packages";i:3;s:156:"Avash Shergill Travel offers Goa Beach Tour Package - 5 Nights / 6 Days tour package, budget Beach and Islands tour packages for Goa City at exciting price.";i:4;s:401:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Goa City"        
		                 },
		      "description": "",
		      "name": "Goa Beach Tour Package",
		      "telephone": "91-8699559635"
		    }
		    </script>
			";i:5;N;}