a:6:{i:0;s:8835:"				<div class="h1"><h1>3 Days Trip to Goa</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.shivaaytourism.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.shivaaytourism.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>3 Days Trip to Goa</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">
						2 Nights / 3 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.shivaaytourism.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="3 Days Trip to Goa - 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="73859"/>
						</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_13/378945/132068.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/378945/132068.jpg"  width="150" height="150"    alt="3 Days Trip to Goa" title="3 Days Trip to Goa" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					The ‘3 Days Trip to Goa’ package is an ideal option for holidaymakers to enjoy the sun, sand and surf.<br />
<br />
The journey will start with the exploration of Old Goa churches such as The Basilica of Bom Jesus and Chapel of St. Francis Xavier.Later, you will visit the famous North Goa beaches such as Anjuna, Baga and Calangute beach.<br />
<br />
The final day of this tour is dedicated to the exploration of Colva Beach, a popular place in South Goa. Read the itinerary given below. <br />
<br />
Note : That this is just a suggested itinerary indicative of what could be possible. We tailor holidays for your specific needs. Contact us if you want modifications so that we could tailor a holiday to suit your need for an unforgettable India tour.<br />
<br />
Trip Highlights<br />
<br />
- Visit the Old Goa churches such asBasilica of Bom Jesus and Chapel of St. Francis Xavier.<br />
- Visit the North Goa beaches- Anjuna, Baga and Calangute.<br />
- Enjoy the party scene at Tito’s Bar.<br />
- Visit the famous Fort Aguada.<br />
- Visit the local markets of Anjuna-traditional jewelry, handicrafts and souvenirs.<br />
- Visit the Colva Beach.<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
								</p>
								<p class="aj">Upon your arrival at Goa airport/ railway station, our tour representative assists you in smooth transfer to the hotel for a pre-booked stay.<br />
<br />
The first day of your Goa trip will acquaint you with the rich Portuguese culture and heritage of this tiny Indian state. There are several remnants in Old Goa in the form of century old cathedrals such as Basilica of Bom Jesus and Chapel of St. Francis Xavier.<br />
<br />
Goa is also known for its massive forts which were built by Indian rulers and Portuguese colonies which settled in Goa in the 15th century. Besides, you can visit the famous ‘Fort Aguada’ whose major portions have been converted into a luxury hotel.<br />
<br />
Post sightseeing, return to the hotel for dinner and night 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> North Goa beaches
								</p>
								<p class="aj">The 2nd day of your 3 days tour to Goa is dedicated to the exploration of North Goa beaches.<br />
<br />
The charm of Goa beaches lies in its beautiful beaches lined on the seashore and attracts a huge crowd of Indian and international tourists. Some popular beaches that you can visit include Anjuna, Baga and Calangute. These beaches will allow you to indulge in water sports such as Para sailing, scuba diving and water skiing.<br />
<br />
Besides, you can visit the local markets at Anjuna where you can purchase traditional jewelry, handicrafts and souvenirs.<br />
<br />
The 2nd day of your Goa Trip will make you experience the nightlife of Goa. Proceed towards the Tito’s bar, one of the most happening party places in Goa to enjoy the vibrant nightlife. Besides, you can also visit the Ingo’s Saturday Night Bazaar famous for shopping.<br />
<br />
Dinner and overnight stay 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> Departure
								</p>
								<p class="aj">On the 3rd day of your Goa Trip, you will head straight towards South Goa. Colva is a popular beach in South Goa. The beach is home to shacks, resort complexes, tourist cottages, discos and eateries.<br />
<br />
Have some fun and laze around as the day will mark the end of your holiday in Goa.<br />
<br />
You will be assisted in smooth transfer to the Goa airport/railway station to board flight/train for onwards 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.shivaaytourism.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="3 Days Trip to Goa - 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="73859"/>
						</form>
						</div>
						
						";i:1;s:57:"Book 3 Days Trip to Goa - 2 Nights / 3 Days Tour Packages";i:2;s:114:"book 3 days trip to goa - 2 nights / 3 days tour packages, beach and islands tour packages, goa city tour packages";i:3;s:146:"Shivaay Toursim offers 3 Days Trip to Goa - 2 Nights / 3 Days tour package, budget Beach and Islands tour packages for Goa City at exciting price.";i:4;s:1486:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Goa City"        
		                 },
		      "description": "The ‘3 Days Trip to Goa’ package is an ideal option for holidaymakers to enjoy the sun, sand and surf.

The journey will start with the exploration of Old Goa churches such as The Basilica of Bom Jesus and Chapel of St. Francis Xavier.Later, you will visit the famous North Goa beaches such as Anjuna, Baga and Calangute beach.

The final day of this tour is dedicated to the exploration of Colva Beach, a popular place in South Goa. Read the itinerary given below. 

Note : That this is just a suggested itinerary indicative of what could be possible. We tailor holidays for your specific needs. Contact us if you want modifications so that we could tailor a holiday to suit your need for an unforgettable India tour.

Trip Highlights

- Visit the Old Goa churches such asBasilica of Bom Jesus and Chapel of St. Francis Xavier.
- Visit the North Goa beaches- Anjuna, Baga and Calangute.
- Enjoy the party scene at Tito’s Bar.
- Visit the famous Fort Aguada.
- Visit the local markets of Anjuna-traditional jewelry, handicrafts and souvenirs.
- Visit the Colva Beach.",
		      "name": "3 Days Trip to Goa",
		      "telephone": "+91-8866419780"
		    }
		    </script>
			";i:5;N;}