a:6:{i:0;s:12551:"				<div class="h1"><h1>Goa 3 Night/4 Days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Goa 3 Night/4 Days Tour</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">Budget Tour</td>
						</tr>
												<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">
						INR 6850 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">Popular Beaches<br />
Arambol, Mandrem, Morjim, Vagator, Anjuna, Baga, Calangute, Sinquerim, Miramar in the North and Majorda, Betalbatim, Colva, Benaulim, Varca, Cavelossim and Palolem in the South</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Goa 3 Night/4 Days Tour - 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="70052"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_9/257644/127022.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/127022.jpg"  width="150" height="150"    alt="Goa 3 Night/4 Days Tour" title="Goa 3 Night/4 Days Tour" /></a></p></div></li>
																		<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_9/257644/127023.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/127023.jpg"  width="150" height="150"    alt="Goa 3 Night/4 Days Tour" title="Goa 3 Night/4 Days Tour" /></a></p></div></li>
																		<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_9/257644/127024.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/127024.jpg"  width="150" height="150"    alt="GOA 3 NIGHT/4 DAYS" title="GOA 3 NIGHT/4 DAYS" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Goa is a land of amazing contrasts. Of tangible and intangible heritage; of human endeavour and natural wonders; of music and stillness. No other place in the world lets you discover so many worlds in the space of a few hours: outside you and inside you!<br />
Flanked by the Arabian Sea on the West and the imposing Sahyadri mountains on the East, the Goan landscape rises from sea-level to a towering 1022 metres. Several rivers crisscross the state and add to its natural beauty.Popular Beaches<br />
Arambol, Mandrem, Morjim, Vagator, Anjuna, Baga, Calangute, Sinquerim, Miramar in the North and Majorda, Betalbatim, Colva, Benaulim, Varca, Cavelossim and Palolem in the SouthAny meals other than those mentioned above, meal supplement applicable for Lunch / Dinner.<br />
Any Airfare / Train fare.<br />
Entrance fees to Amusement parks & Boating charges.<br />
Any portage at airports and hotels, tips, insurance, wine, mineral water, telephone charges, and all items of personal nature.<br />
Any services not specifically mentioned in the inclusions.<br />
Expenses caused by factors beyond our control like rail and flight delays, roadblocks, vehicle malfunctions , political disturbances etc.<br />
0-5 years child, will be treated as complimentory for land package.<br />
5-08 years child, 75 % of land cost will be applicable.<br />
09+ will be considered as an adult and guest is liable to pay full amount of package cost.16-0931-03<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 At Goa
								</p>
								<p class="aj">Arrival at Panjim Airport/ Railway station/ bus stand, meet our great representative and go to the hotel. On arrival, check in and the day leisure at the hotel or one hour river Cruise on the Mandovi river. Night stay at hotel in Goa.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/127022.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/127022.jpg"  width="150" height="150"    alt="Goa 3 Night/4 Days Tour" title="Goa 3 Night/4 Days Tour" /></a></p></div></li>
									</ul>
									</div>
									</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> In Goa - Full Day Sightseeing North Goa
								</p>
								<p class="aj">After breakfast at the hotel, the day at leisure for North Goa sightseeing tour. North Goa beaches are famous to be the center of activity and fun. Go for a visit to candolim Beach, Anjuna Beach, Baga Beach, Panaji, Aguda Fort and Arambol Beach etc... Calungate Beach while you get to watch some of Goa's best cultural programms performing traditional Goan dances, etc…. Evening visit to the local market or enjoy the nightlife at Goa beaches. Drop back to hotel and overnight at the Hotel.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/127023.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/127023.jpg"  width="150" height="150"    alt="Goa 3 Night/4 Days Tour" title="Goa 3 Night/4 Days Tour" /></a></p></div></li>
									</ul>
									</div>
									</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> In Goa - Full Day Sightseeing South Goa
								</p>
								<p class="aj">After Breakfast, check out from the Hotel and proceed on a drive to South Goa. Check in to the Hotel and go for a visit to Old Goa, the most important Temples, Cathedrals, Churches and Museum and Historical place. South Goa beaches like Bogmalo, Colva, Benaulim , Loutulim, Palolem beach, Natural Beauty, Wildlife Sanctuary, Waterfalls and explores the historical forts, adventure sports etc. Drop back to hotel and stay at hotel.</p>
								</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 <? echo $p_class; ?>"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/127024.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/127024.jpg"  width="150" height="150"    alt="GOA 3 NIGHT/4 DAYS" title="GOA 3 NIGHT/4 DAYS" /></a></p></div></li>
									</ul>
									</div>
									</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">Exclusions :</p> <ul><li>Any meals other than those mentioned above, meal supplement applicable for Lunch / Dinner.</li><li>
Any Airfare / Train fare.</li><li>
Entrance fees to Amusement parks & Boating charges.</li><li>
Any portage at airports and hotels, tips, insurance, wine, mineral water, telephone charges, and all items of personal nature.</li><li>
Any services not specifically mentioned in the inclusions.</li><li>
Expenses caused by factors beyond our control like rail and flight delays, roadblocks, vehicle malfunctions , political disturbances etc.</li><li>
0-5 years child, will be treated as complimentory for land package.</li><li>
5-08 years child, 75 % of land cost will be applicable.</li><li>
09+ will be considered as an adult and guest is liable to pay full amount of package cost.</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>Given quote is applicable for throughout the year except festive session,black out days.<br />
<br />
 Note:- Special rates for December 2016 session. Kindy get in touch with us for 25th Nov till 5th Jan 2017 rate chart.<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="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Goa 3 Night/4 Days Tour - 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="70052"/>
						</form>
						</div>
						
						";i:1;s:62:"Book Goa 3 Night/4 Days Tour - 2 Nights / 3 Days Tour Packages";i:2;s:119:"book goa 3 night/4 days tour - 2 nights / 3 days tour packages, beach and islands tour packages, goa city tour packages";i:3;s:178:"Book Goa 3 Night/4 Days Tour - 2 Nights / 3 Days tour packages from Grand India Tours & Travels - Get attractive 2 Nights / 3 Days Beach and Islands  tour packages for  Goa City.";i:4;s:1798:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Goa City"        
		                 },
		      "description": "Goa is a land of amazing contrasts. Of tangible and intangible heritage; of human endeavour and natural wonders; of music and stillness. No other place in the world lets you discover so many worlds in the space of a few hours: outside you and inside you!
Flanked by the Arabian Sea on the West and the imposing Sahyadri mountains on the East, the Goan landscape rises from sea-level to a towering 1022 metres. Several rivers crisscross the state and add to its natural beauty.Popular Beaches
Arambol, Mandrem, Morjim, Vagator, Anjuna, Baga, Calangute, Sinquerim, Miramar in the North and Majorda, Betalbatim, Colva, Benaulim, Varca, Cavelossim and Palolem in the SouthAny meals other than those mentioned above, meal supplement applicable for Lunch / Dinner.
Any Airfare / Train fare.
Entrance fees to Amusement parks & Boating charges.
Any portage at airports and hotels, tips, insurance, wine, mineral water, telephone charges, and all items of personal nature.
Any services not specifically mentioned in the inclusions.
Expenses caused by factors beyond our control like rail and flight delays, roadblocks, vehicle malfunctions , political disturbances etc.
0-5 years child, will be treated as complimentory for land package.
5-08 years child, 75 % of land cost will be applicable.
09+ will be considered as an adult and guest is liable to pay full amount of package cost.16-0931-03",
		      "name": "Goa 3 Night/4 Days Tour",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}