a:6:{i:0;s:8892:"				<div class="h1"><h1>Goa Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.hifiholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.hifiholidays.com/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Goa 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">Tour Code </td>
						<td class="p5px pl0px vat">HIFI01</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						3 Nights / 4 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">Starting From </td>
						<td class="p5px pl0px vat">
						INR 6499 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.hifiholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Goa 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="90331"/>
						</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/411823/156254.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/411823/156254.jpg"  height="150"  width="150"    alt="Goa Package" title="Goa Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Things to do: beaches, historic sites, shopping<br />
On India's western coastline, the former Portuguese colony of Goa tells a visibly different story than the rest of India. Because of the lengthy Portuguese rule, this area remained isolated for nearly five centuries, developing its own religious, cultural, and commercial traditions. A tour of Goa reveals a relatively small state with a mixed population of Hindus, Muslims, and Roman Catholics. In this cultural melting pot, you can spend your entire Goa vacation exploring notable churches, convents, mosques, and temples. If you're looking for something different, enjoy Goa's laid-back coastal vibe and sandy beaches, ideal for watching the sun disappear into the Arabian Sea. Plan your holiday in Goa and other destinations, from the rural, to the urban, and everything in between, using our India itinerary builder.<br />
<br />
INCLUSIONS<br />
 03 Nights/ 04 Days Accommodation<br />
 Daily Breakfast & Dinner<br />
 Airport Transfers/Bus Stop/Raiway station<br />
 01 Half Day Sightseeing<br />
 All Applicable Taxes<br />
 Per Person on Twin sharing basisAny expense not explicitly included in the package<br />
Travel Insurances charges.<br />
Any meals other than those mentioned in inclusions.<br />
Tips, gratuities.<br />
Any item of personal nature like laundry, telephone calls etc.20-0330-04<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 Goa
								</p>
								<p class="aj">On arrival at Dabolim Airport or Rly. Station you will be received and transferred to your hotel. On arrival at the hotel you will be welcomed with drinks and smiles. After freshening up you can go to the beaches on your own and relax in Sun, Sea and Sand of Goa known worldwide for its rejuvenating spirit. Overnight at hotel in Goa.</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">Today after breakfast the morning is free or you can roam the beachside on your own. Later in the afternoon you will proceed on a sightseeing tour of North/ South Goa visiting places like Miramar Beach, Fort Aguada, Bassilica of Bom Jesus, Dona Paula Beach, Anjuna Beach etc. Later in the afternoon you will enjoy about an hour Boat Cruise on Mandovi River. Evening is free for leisure activities. Overnight in Goa.</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">Today after breakfast the full day is free for leisure activities. Or you may opt for optional tours. Goa beaches offer a lot of sports & games activities like Snorkelling, Windsurfing, Parasailing, Water-skiing etc. Or you may opt for Shopping of local souvenirs. Night life in Goa is also very interesting and lot of entertainment activities is put on offer by the hotels there.</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> Depart Goa
								</p>
								<p class="aj">Today after breakfast check-out of your hotel as your trip of Goa comes to an end. You will be transferred to the airport for your return 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>3 Star Hotel</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Any expense not explicitly included in the package</li><li>
Travel Insurances charges.</li><li>
Any meals other than those mentioned in inclusions.</li><li>
Tips, gratuities.</li><li>
Any item of personal nature like laundry, telephone calls etc.</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.hifiholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Goa 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="90331"/>
						</form>
						</div>
						
						";i:1;s:50:"Book Goa Package - 3 Nights / 4 Days Tour Packages";i:2;s:107:"book goa package - 3 nights / 4 days tour packages, beach and islands tour packages, goa city tour packages";i:3;s:167:"Book Goa Package - 3 Nights / 4 Days tour packages from Hifi Tour & Travel  Holidays - Get attractive 3 Nights / 4 Days Beach and Islands  tour packages for  Goa City.";i:4;s:1689:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Goa City"        
		                 },
		      "description": "Things to do: beaches, historic sites, shopping
On India's western coastline, the former Portuguese colony of Goa tells a visibly different story than the rest of India. Because of the lengthy Portuguese rule, this area remained isolated for nearly five centuries, developing its own religious, cultural, and commercial traditions. A tour of Goa reveals a relatively small state with a mixed population of Hindus, Muslims, and Roman Catholics. In this cultural melting pot, you can spend your entire Goa vacation exploring notable churches, convents, mosques, and temples. If you're looking for something different, enjoy Goa's laid-back coastal vibe and sandy beaches, ideal for watching the sun disappear into the Arabian Sea. Plan your holiday in Goa and other destinations, from the rural, to the urban, and everything in between, using our India itinerary builder.

INCLUSIONS
 03 Nights/ 04 Days Accommodation
 Daily Breakfast & Dinner
 Airport Transfers/Bus Stop/Raiway station
 01 Half Day Sightseeing
 All Applicable Taxes
 Per Person on Twin sharing basisAny expense not explicitly included in the package
Travel Insurances charges.
Any meals other than those mentioned in inclusions.
Tips, gratuities.
Any item of personal nature like laundry, telephone calls etc.20-0330-04",
		      "name": "Goa Package",
		      "telephone": "+91-9890797744"
		    }
		    </script>
			";i:5;N;}