a:6:{i:0;s:9020:"				<div class="h1"><h1>Goa 03n/04 Days Budget 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 03n/04 Days Budget 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">
						3 Nights / 4 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">North Goa, Kansas</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 4999 Per Person						</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 03n/04 Days Budget 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="187394"/>
						</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/292236.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/357911/292236.jpg"  width="150" height="100"    alt="Goa 03n/04 Days Budget Package" title="Goa 03n/04 Days Budget Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Take a vacation filled with unlimited fun! A place where the tranquility of nature meets happening life, Goa is a must feature in everyone’s travel list! From taking a stroll on the beaches to witnessing the most amazing sunsets and partying at the beach to admiring Portuguese architecture, it never ceases to fascinate tourists. Most visited for its beaches, here you can experience a rare kind of peace as the electric nightclubs. Their electrifying energy will hypnotize you. Watersports opportunities are in abundance, ranging from jet skiing to parasailing, river cruises, boat rides and snorkeling to satiate your adventurous desires. Indulge in the choicest of ayurvedic massages and pamper yourself, for a trip to Goa is all about fun and amusement! Enjoy a 3 Nights and 4 Days stay in Goa, catching glimpses of North and South Goa. Spend time at the most popular beaches and relax in the comfort of our exceptional services.<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> Welcome to Goa
								</p>
								<p class="aj">Upon arrival in Goa, an agent’s representative will receive you at the airport/railway station. Transfer to the hotel. Complete the check-in formalities and spend the entire first day of your Goa holiday as per your convenience. Explore the local beaches or try out delicious Goan delicacies.<br />
As day one of your trip to Goa comes to an end, come back to the hotel and stay for the night.</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> Sigtseeing South Goa
								</p>
								<p class="aj">Relish a Nutritious Breakfast and Head Out for Exploring the Gems of South Goa. You Can Seek Blessings At Shri Shantadurga Temple and Shri Manguesh Temple. Admire the 16th Century Built Portuguese Buildings like Basilica of Bom Jesus and Se Cathedral in Your Goa Trip. Post Lunch, Visit the Idyllic Dona Paula Bay to Enjoy Spectacular Views of the Mormugao Harbour with Your Better Half.</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> Sightseeing North Goa
								</p>
								<p class="aj">Post breakfast, get ready for a sightseeing tour of North Goa. Begin with the 17th century Portuguese building Fort Aguada. Next on your Goa trip, visit the Chapora Fort. Enjoy a perfect beach vacation to Goa visiting Calangute Beach, Baga Beach and Anjuna Beach. As the day comes to an end, retire to the hotel and stay for the night.</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> Departure
								</p>
								<p class="aj">After breakfast check out from Hotel and say bye to Goa, for your further 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>MAP (Room + Breakfast + Lunch/Dinner)</li>
																		<li>Hotel</li>
																		<li>2 Star Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Airport Pickup-Drop</li>
																		<li>Complimentary Drinks</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>eals other than those specified above.</li><li>
● Personal expenses like portages, tips, laundry, mineral water etc.</li><li>
● Monument entrances, camera charges, etc.</li><li>
● Any activity not mentioned in the inclusions.</li><li>
● Travel Insurance.</li><li>
● Additional cost due to flight cancellation/roadblocks, political unrest, etc.</li><li>
● Additional casino chips or extras directly payable at casino</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* 100% 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.
* Refund will be made within 15 working days from the date of receipt of the cancellation.~^#^~No Booking fm 15 Aug to 19 Aug												</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 03n/04 Days Budget 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="187394"/>
						</form>
						</div>
						
						";i:1;s:69:"Book Goa 03n/04 Days Budget Package - 3 Nights / 4 Days Tour Packages";i:2;s:135:"book goa 03n/04 days budget package - 3 nights / 4 days tour packages, beach and islands tour packages, north goa, kansas tour packages";i:3;s:188:"Book Goa 03n/04 Days Budget Package - 3 Nights / 4 Days tour packages from Avash Shergill Travel - Get attractive 3 Nights / 4 Days Beach and Islands  tour packages for  North Goa, Kansas.";i:4;s:1354:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "North Goa, Kansas"        
		                 },
		      "description": "Take a vacation filled with unlimited fun! A place where the tranquility of nature meets happening life, Goa is a must feature in everyone’s travel list! From taking a stroll on the beaches to witnessing the most amazing sunsets and partying at the beach to admiring Portuguese architecture, it never ceases to fascinate tourists. Most visited for its beaches, here you can experience a rare kind of peace as the electric nightclubs. Their electrifying energy will hypnotize you. Watersports opportunities are in abundance, ranging from jet skiing to parasailing, river cruises, boat rides and snorkeling to satiate your adventurous desires. Indulge in the choicest of ayurvedic massages and pamper yourself, for a trip to Goa is all about fun and amusement! Enjoy a 3 Nights and 4 Days stay in Goa, catching glimpses of North and South Goa. Spend time at the most popular beaches and relax in the comfort of our exceptional services.",
		      "name": "Goa 03n/04 Days Budget Package",
		      "telephone": "91-8699559635"
		    }
		    </script>
			";i:5;N;}