a:6:{i:0;s:8900:"				<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">Price (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;}