a:6:{i:0;s:28044:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Explore Goa Ex-Delhi Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.thebluetour.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.thebluetour.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Explore Goa Ex-Delhi 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> 
						3 Nights / 4 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Goa City</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 20000 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thebluetour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Explore Goa Ex-Delhi 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="191030"/>
						</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_20/579882/300732.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/579882/300732.jpg"  width="150" height="104"    alt="Explore Goa Ex-Delhi Tour" title="Explore Goa Ex-Delhi Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								When a calm and peaceful holiday is on the mind, Goa is the place to go!<br />
Although spectacular sunsets and long walks on the beach will soothe your senses, water sports ranging from jet skiing to parasailing, river cruises, boat rides and snorkeling will give you an adrenaline rush. Not just this! An exciting nightlife promises a vacation filled with fun and enjoyment. Right from seeing the legacy of the Portuguese culture to experiencing coastal delicacies and drinks, Goa assures an unforgettable experience. Explore the happening Goa on a 3 Nights 4 Days tour with OYO and enjoy the comfort of our services.								</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 Arrival
										</p>
										<p class="aj">Your splendid holiday in Goa would begin with your arrival at Goa Airport/Railway Station. From there, you will get a private transfer to your hotel. Check-in and spend the day at leisure. Overnight stay at 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 2:</b> North Goa Sightseeing
										</p>
										<p class="aj">Start your day with a sumptuous breakfast at the hotel and head for a sightseeing in North Goa, covering the Fort Aguada, a Portuguese fort that stands on the beach south of Candolim and at the shore of Mandovi river. It was built in 1612 in order to guard the Portuguese empire against the Dutch and the Marathas and offers an expansive view of the Arabian sea. Ahead covering the Saligao Church then, move to the Anjuna Beach known to host one of the best flea markets of Goa (held every Wednesday). Finally, visit the Vagator Beach for its laid-back vibe and clean waters, Morjim beach is bestowed with a green environment and elegant vistas. Several thousand tourists visit this small beach village every year. In fact, many Russians have made it their second home and you can see them on the beaches quite frequently. By evening, return to the hotel for a comfortable night stay. You may also choose to relax in the evening by the poolside. Overnight stay at Hotel.<br />
Tags: Fort Aguada, Saligao Church , Anjuna Beach, Vagator Beach, morjim beach</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 the breakfast, get ready to explore South Goa. Your first stop is at the Shri Mangueshi Temple, which is among the oldest temples of the state along with the Shanta durga temple. Next explore the churches of the old Goa. Post the church visit, head to the tranquil beaches of South Goa, Dona Paula Beach and Miramar Beach. Next you can also enjoy the Mandovi River Cruise at an extra cost . After a fun-filled day, return to the hotel for an overnight stay.<br />
Tags: Shree Mangueshi Temple, Old Goa Churches, Dona Paula, Miramar Beach, Shanta durga temple Note:- Mandovi River Cruise at extra cost.</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 from Goa
										</p>
										<p class="aj">After breakfast, check-out from the hotel and get a private transfer to the airport/railway station for your return journey.</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>Economy class airfare (round-trip Ex- Delhi) </li><li>
Accommodation on twin sharing basis Meals: </li><li>
Breakfast Pick-up and Drop to Airport by Private </li><li>
AC vehicle Sightseeing by an AC vehicle on SIC basis (Sharing coach) All toll taxes and parking charges included</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Meals 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></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>1. All given rates are per person on Twin/Double sharing basis, unless specified in the quotation.</li><li>
2. All given rates at quotation level are based on real time availability. There may be a change in price in between the time interval of quotation and confirmation of package. Any such change will be specified accordingly.</li><li>
3. Special payment and cancellation policy will be applicable during peak season/Blackout dates. These dates usually are city events, regional/national holidays, political conferences, major cultural festivals or any other event which may affect regular tourist movement.</li><li>
4. In case of unavailability of rooms in the given hotels due to any unexpected scenario, alternate accommodation arrangements will be made in a similar standard available hotel.</li><li>
5. Room occupancy will strictly be in accordance with the one confirmed at the time of booking.</li><li>
6. Check-in and Check-out timings of hotels are different and based on the regulations/policies of local hotel unions of the concerned region/city or general trend of market. These will be specified at the time of quotation/communication.</li><li>
7. In case of a Triple Sharing Room, a rolling mattress will be provided for the third person. Occupancy regulations for family rooms and other Club rooms will be in accordance with the hotel’s policy.</li><li>
8. Availability of rooms, given at the time of quotation, will be on real time basis and final availability will be shared at the time of confirmation of package. OYO will not hold any service as confirmed at the quotation stage.</li><li>
9. Any booking related with flight tickets will be done on real time price basis. OYO will not hold any air ticket on confirmed basis without the final payment of air tickets’ share. As airfares are extremely dynamic in nature, any difference in cost, that arises during acknowledgement and issuance of ticket, will be taken care of by the Client.</li><li>
10. Any amendment in the issued flight tickets, like change in dates, names, timing, airline or any other information will attract amendment charges as per Airline’s amendment policies.</li><li>
11. Flight ticket cancellation/refund is strictly in accordance with the Airline’s cancellation/refund policies.</li><li>
12. OYO shall not be responsible for any loss of baggage/loss of belongings/broken baggage at airport or anywhere else.</li><li>
13. Flight timings are to be taken into consideration while reaching the airport. OYO shall not be responsible for any incidence where client is not able to reach the airport/board the flight due to any reason of personal nature, insufficient time duration between connecting flights or any other reason related to airline’s governance like delay in flight, change in timing/overbooking by the airline or any other factor.</li><li>
14. Vehicle provided during the tour will follow the tour plan specified in the itinerary. Driver in any way will not be deviated from the specified/common route.</li><li>
15. Vehicle provided during the tour will not be on disposable basis. Any travel, after the activity decided as part of the tour will not be permitted. Late evening/late night drive apart from designed plan will be prohibited.</li><li>
16. There are some monuments/areas, restricted for vehicle entrance by the local authorities. In any such case, the vehicle will drop you till the nearest possible point and further arrangements will have to be managed by the Client.</li><li>
17. Vehicle will not be allocated on the leisure day (day free for relaxation).</li><li>
18. Air conditioner in vehicles will not be operational in hilly areas (due to mechanical reasons). Driver reserves the rights to switch off/operate the AC as per the terrain, climatic and vehicle’s condition.</li><li>
19. Any entrance fees, monument fees or any other activity charges, including but not limited to charges in relation to parking, transportation, tolls, taxes, camping, admission, meals etc. will not be included in the package unless specified, especially in the inclusions section.</li><li>
20. The above mentioned package may not be available at the displayed price during long weekends, national holidays and regional festivals. There is a probability of difference in cost, which will be specified at the time of communication.</li><li>
21. In case of any amendment in package due to increase in the number of guests, the difference in the cost shall be borne by the Client/customer.</li><li>
22. Any charges related with on-ground modification/addition of service, which is opted by the Client by his/her own choice and not affecting rest of the tour itinerary, will have to be paid directly to the Driver/Supplier on behalf of OYO.</li><li>
23. OYO reserves the right to modify or cancel the tour package, in part or in whole, at any time prior to the commencement of the tour or a particular part of the tour, as the case may be, for any reason including but not limited to the act of god, act of man whether or not unforeseen and/or unexpected, etc. In all such cases, refund will be processed according to the cancellation policy of OYO as applicable at that specific point of time.</li><li>
24. OYO shall not be held responsible for any refund/charges, in case services booked are of non-refundable nature. OYO’s liability in relation to the Package shall at all times be limited to those circumstances where an express liability has been cast on it under these terms.</li><li>
25. In case of any on-ground issues with any third party, OYO shall try to support in all possible ways but shall not be held liable for the act and hence will not be liable for any sort of compensation.</li><li>
26. In case of any natural calamity or any other force majeure incident, OYO reserves the rights to modify/change or cancel the partial or complete tour Package. OYO shall not be held responsible for any refund/compensation in any such circumstances.</li><li>
27. Package price is a consolidation of different components inseparable in nature in terms of costing. Any unused service/services due to any unspecified reason will not be refunded back.</li><li>
28. Refund on cancellation (cancellation in accordance with the cancellation policies) is strictly dependent on cancellation policies and the refund process will take minimum 14 working days.</li><li>
29. Oyo's entire liability to the Client for any claim arising out of this Package/browsing the website/application, shall be limited to the amount equivalent to the price paid by the Client for the Package giving rise to such claim minus all applicable taxes and third-party charges.</li><li>
30. OYO shall not be liable to pay for any loss suffered by the Client, if it is found that the Client had been in violation of any express or implied directions given by or on behalf of OYO, applicable laws, rules and/or regulations.</li><li>
31. No offer, promo code or discount shall be applicable to this Package unless so expressly notified by OYO on its website and this Package cannot be clubbed with any scheme, offer, package of OYO or its associates.</li><li>
32. All grievances shall first be raised with the customer relationship team within 15 days of the occurrence of such an event. In case no resolution to such grievance is provided by the customer relationship team within 30 days, the Client shall have the right to escalate the dispute in the accordance with these terms and OYO’s applicable policies.</li><li>
33. Client shall be liable to reimburse OYO for any and all losses suffered and/or charges incurred as a result of the Client’s actions, direct or indirect, in relation to the Client.</li><li>
34. This Package shall be governed by laws of India, and all disputes in relation to this package shall be resolved via arbitration in Delhi in accordance with the Arbitration and Conciliation Act, 1996. The courts of Delhi shall have the exclusive jurisdiction in relation to any matter arising out of the Package.</li><li>
35. This Package and all of your rights and obligations in relation to the same are non-transferable and cannot be assigned without the prior permission of OYO</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>Time</li><li>
Cancellation amount</li><li>
15 days or more prior to departure</li><li>
25% of the package OR min prepayment, whichever is higher</li><li>
Within 15 days to departure</li><li>
100% of the package cost</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thebluetour.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Explore Goa Ex-Delhi 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="191030"/>
						</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.thebluetour.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/coimbatore-tour-packages.htm" title="Coimbatore Tour Packages">Coimbatore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/thekkady-tour-packages.htm" title="Thekkady Tour Packages">Thekkady</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/kumarakom-tour-packages.htm" title="Kumarakom Tour Packages">Kumarakom</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/coorg-tour-packages.htm" title="Coorg Tour Packages">Coorg</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.thebluetour.in/ooty-tour-packages.htm" title="Ooty Tour Packages">Ooty</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.thebluetour.in/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</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.thebluetour.in/kochi-tour-packages.htm" title="Kochi Tour Packages">Kochi</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.thebluetour.in/jispa-tour-packages.htm" title="Jispa Tour Packages">Jispa</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.thebluetour.in/mysore-tour-packages.htm" title="Mysore Tour Packages">Mysore</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.thebluetour.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thebluetour.in/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for New Delhi, Goa City</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thebluetour.in/holiday-packages/simply-himachal-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/579882/300730.jpg"  alt="Simply Himachal Tour" title="Simply Himachal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thebluetour.in/holiday-packages/simply-himachal-tour.htm" title="Simply Himachal Tour"><h3>Simply Himachal Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Manali, Shimla</p>
															<div class="mt10px small">
							<form name="pkg_191028" id="pkg_191028" method="post" action="http://www.thebluetour.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thebluetour.in/holiday-packages/simply-himachal-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Simply Himachal Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="191028"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thebluetour.in/holiday-packages/bestof-goafdex-delhi-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/579882/300733.jpg"  alt="Best of Goa FD Ex- Delhi Tour" title="Best of Goa FD Ex- Delhi Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thebluetour.in/holiday-packages/bestof-goafdex-delhi-tour.htm" title="Best of Goa FD Ex- Delhi Tour"><h3>Best Of Goa Fd Ex- Delhi Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								4 Nights / 5 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Goa City</p>
															<div class="mt10px small">
							<form name="pkg_191031" id="pkg_191031" method="post" action="http://www.thebluetour.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thebluetour.in/holiday-packages/bestof-goafdex-delhi-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Best of Goa FD Ex- Delhi Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="191031"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:64:"Book Explore Goa Ex-Delhi Tour - 3 Nights / 4 Days Tour Packages";i:2;s:132:"book explore goa ex-delhi tour - 3 nights / 4 days tour packages, beach and islands tour packages, new delhi, goa city tour packages";i:3;s:171:"The Blue Tour & Travel offers Explore Goa Ex-Delhi Tour - 3 Nights / 4 Days tour package, budget Beach and Islands tour packages for New Delhi, Goa City at exciting price.";i:4;s:1030:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Goa City"        
		                 },
		      "description": "When a calm and peaceful holiday is on the mind, Goa is the place to go!
Although spectacular sunsets and long walks on the beach will soothe your senses, water sports ranging from jet skiing to parasailing, river cruises, boat rides and snorkeling will give you an adrenaline rush. Not just this! An exciting nightlife promises a vacation filled with fun and enjoyment. Right from seeing the legacy of the Portuguese culture to experiencing coastal delicacies and drinks, Goa assures an unforgettable experience. Explore the happening Goa on a 3 Nights 4 Days tour with OYO and enjoy the comfort of our services.",
		      "name": "Explore Goa Ex-Delhi Tour",
		      "telephone": "+91-9509888449"
		    }
		    </script>
			";i:5;N;}