a:6:{i:0;s:16790:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Goa Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.vermaexpress.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.vermaexpress.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Goa Tour</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Goa City</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.vermaexpress.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Goa Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="187143"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_2/40481/291484.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/40481/291484.jpg"  width="150" height="75"    alt="Goa Tour" title="Goa Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								· Date of Travel : 19-Jan-2019<br />
· Duration : 04 Nights / 05 Days<br />
· No. of Pax : 02 Adults <br />
· Pick up : Goa Airport <br />
· Drop : Goa Airport <br />
· Room : 1 Deluxe Rooms<br />
· Meal Plan : C.P ( Breakfast)<br />
· Vehicle : Swift Dzire / Similar								</div>
								<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> Goa
										</p>
										<p class="aj">Arrival in Goa. Have an evening to yourselves or stroll on the beach chill out at the beach shacks.</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 Sightseeing
										</p>
										<p class="aj">This morning, you have your breakfast, Depart for North Goa Sightseeing. North Goa is dotted with some of the most beautiful beaches of Goa. Dona Paula, Calangute, Baga and Miramar Beach are popular beaches of North Goa. North Goa is home to a number of tourist attractions like Fort Aguada, Basilica of Bom Jesus and Se Cathedral. Pay homage at the Basilica Bom Jesus, which is dedicated to Infant Jesus. (Also, visit other churches of North Goa including St Francis Xavier, St Cajetan, St Francis of Assisi, Se Cathedral and Church of St. Monica. All the churches feature a unique architectural style which speaks much about the heritage and craftsmanship of those times.). Return to Panjim, the capital of Goa and as you drive through the city enjoy viewing its unique colonial architecture. Walk through the city and flip back the pages of the Portuguese days. (Do visit the bustling markets of Goa and shop for gifts and souvenirs.) Dinner at the hotel. Stay overnight at the hotel.</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> South Goa Sightseeing
										</p>
										<p class="aj">After Breakfast at Hotel depart for South Goa Tour at 9.30am. Places covered:Includes a visit to Heritage Monuments like Churches at Old Goa which include, Basilica of Bom Jesus wherein lie the mortal remains of St Francis Xavier, on to the magnificent Se Cathedral, which houses the famous Golden Bell. You will be given choice to visit Museum of Christian Art or WAX WORLD MUSEUM near Gandhi Circle, Old Goa, 5 minutes walking distance from the Basilica. Next proceed to the temples of Mangueshi – dedicated to Shiva & Shanta Durga Temple, Kavle dedicated to the Goddess of Peace. After the temples visit Ancestral Goa at Loutolim which is a “mock village” open air museum depicting traditional Goan village life, through art. After lunch at Colva Beach visit Dona Paula Bay and the lovely Miramar Beach. Back to hotel and stay overnight.</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> Dudhsagar Waterfalls & spice plantations
										</p>
										<p class="aj">Have a hearty breakfast and head out for the majestic Dudhsagar Waterfalls on the third day of your Goa tour. Enjoy splashes of the gushing water and feed the monkeys roaming around. While coming back, enjoy a walk into the aromatic Spice Plantations. Towards the end of the day, 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 5:</b> Departure
										</p>
										<p class="aj">This is the last day of the Goa enjoy at the beach. Munch some delicious breakfast and then check out of the hotel. Start driving towards the Railway station and on reaching, board your train to home. The tour ends here.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>4 Nights accommodation in Goa.</li><li>
Pick up from Goa Airport & Drop at Goa Airport. </li><li>
Fuel Charges .</li><li>
Intercity transfer & sightseeing as per the Itinerary.</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Alcoholic/aerated beverages, bottled water and starters . </li><li>
The customer will have to pay the full amount of flight booking as well as increment charges of flight,if rate of flight charge increased . </li><li>
Camera fees .</li><li>
Goods service tax. </li><li>
Entrance fees at all tourist attractions mentioned in the itinerary . </li><li>
Medical and travel insurance . </li><li>
Peak Season Charges </li><li>
All personal expenses, optional tours and extra meals </li><li>
Anything not mentioned under “Inclusions”.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>The Customer will have to pay 50% advance for initiate booking . </li><li>
Rest 50 % amount customer will pay after getting hotel booking confirmation only . </li><li>
All payment will be done in advance only ,we will not accept and payment before Check in or Check out in hotel . </li><li>
The customer will have to pay the full amount for flight booking as well as increment charges of flight ,if rate of flight charge increased .</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>. If customer will cancel the package due to any reason ,then company will refund the amount within 21 to 45 working days after deduction 15 % cancellation and Gst Charges .</li><li>
2. If company will cancel the trip due to insufficient booking ,then company will refund full amount without any deduction within 7 to 21 working days. </li><li>
3. If hotel is booked by company then cancellation policy will be apply according to the Hotel policy . </li><li>
4. If flight is booked by company then cancellation policy will be apply according to the Airlines policy . </li><li>
Terms and Conditions:-</li><li>
1. If similar option mention in itinerary for hotel so as per the similar option we will provide another hotel also , in case of hotel sold out.</li><li>
2. If customer will making the payment for trip, it means you have read our terms and conditions.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.vermaexpress.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Goa 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="187143"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-brussels.htm" title="Packages in Brussels">Brussels</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-london.htm" title="Packages in London">London</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-rome.htm" title="Packages in Rome">Rome</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.vermaexpress.com/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.vermaexpress.com/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.vermaexpress.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:47:"Book Goa Tour - 4 Nights / 5 Days Tour Packages";i:2;s:104:"book goa tour - 4 nights / 5 days tour packages, beach and islands tour packages, goa city tour packages";i:3;s:149:"Book Goa Tour - 4 Nights / 5 Days tour packages from Verma Express - Get attractive 4 Nights / 5 Days Beach and Islands  tour packages for  Goa City.";i:4;s:628:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Goa City"        
		                 },
		      "description": "· Date of Travel : 19-Jan-2019
· Duration : 04 Nights / 05 Days
· No. of Pax : 02 Adults 
· Pick up : Goa Airport 
· Drop : Goa Airport 
· Room : 1 Deluxe Rooms
· Meal Plan : C.P ( Breakfast)
· Vehicle : Swift Dzire / Similar",
		      "name": "Goa Tour",
		      "telephone": "+91-9801025048"
		    }
		    </script>
			";i:5;N;}