a:6:{i:0;s:27664:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Best Of Goa FD 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> Best Of Goa FD 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> 
						4 Nights / 5 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Goa City</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 22000 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="Best of Goa FD 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="191031"/>
						</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/300733.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_20/579882/300733.jpg"  width="150" height="84"    alt="Best of Goa FD Ex- Delhi Tour" title="Best of Goa FD 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="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 />
<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<br />
Note:- Mandovi River Cruise on direct payment.</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> Day at leisure
										</p>
										<p class="aj">On this day, wake up to a delicious breakfast in the hotel and spend the day at leisure. You can explore the beautiful beaches followed by the night life of Goa and Later, return to your hotel for a comfortable night stay.<br />
Tags:- Day at leisure (cab will not be provided on this day)</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 from Goa
										</p>
										<p class="aj">After breakfast, check-out from the hotel and get a private transfer to the airport 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 (roundtrip Ex- Delhi)</li><li>
Accommodation on twin sharing basis</li><li>
Meals: Breakfast</li><li>
Pick-up and Drop to Airport by Private AC vehicle</li><li>
Sightseeing by an AC vehicle on SIC basis (Sharing coach)</li><li>
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>All given rates are per person on Twin/Double sharing basis, until unless specified specially in Quotation.</li><li>
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>
Special payment and cancellation policy will be applicable during peak season/Blackout dates. These dates usually – City Events, Regional/National Holidays, Political Conferences, Major Cultural festivals or any other Event which can affect regular tourist movement.</li><li>
In case of unavailability of rooms in given Hotels due to any unexpected scenario, alternate accommodation arrangement will be made in similar standard available Hotel.</li><li>
Room occupancy will strictly be in accordance with the one confirmed at the time of booking.</li><li>
Check-in and Check-out timings of Hotels are different and based on the regulations/Policies of local Hotel unions of concern region/City or general trend of market. These will be specified at the time of quotation/Communication.</li><li>
In case of Triple sharing room, rolling mattress will be provided for third person. Occupancy regulations for Family rooms and other Club rooms will be in accordance with Hotel’s policy.</li><li>
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 services on confirmed state, at quotation stage.</li><li>
Any booking related with flight tickets will be booked on real time price basis. OYO will not hold any Air ticket on confirmed basis without final payment of air tickets share. As airfares are extremely dynamic in nature, any difference in cost, arises during acknowledgement and issuance of ticket, will be taken care by Client.</li><li>
Any amendment in 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>
Flight ticket cancellation / Refund is strictly in accordance with Airline’s cancellation/Refund policies.</li><li>
OYO Shall not be responsible for any Loss of Baggage / Loss of Belongings / Broken Baggage at Airport or anywhere else.</li><li>
Flight timings are to be kept into consideration while reaching to the airport. OYO shall not be responsible for any incidence where client is not able to reach airport / Board the flight due to any reason of personal nature, Insufficient time duration in connecting flights or any other reason related with airline’s governance like – Delay in Flight, Change in timing / Overbooking by Airline or any other factor.</li><li>
Vehicle provided during 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>
Vehicle provided during the tour will not be on disposable basis. Any travel, after the activity decided in tour will not be permitted. Late evening / late night drive apart from designed plan will be prohibited.</li><li>
There are some monuments/areas, restricted for Vehicle entrance by the local authorities. In any such case, Vehicle will drop you till the nearest possible point and further arrangements will have to be managed by Client.</li><li>
Vehicle will not be allocated on the leisure day (day free for relaxation).</li><li>
Air Condition in Vehicles will not be operational on hilly areas (due to mechanical reasons). Driver reserves the rights to switch off /operate AC as per the terrain, climatic and vehicle’s condition.</li><li>
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 until and unless so specified specially in inclusion section.</li><li>
The above mentioned package may not be available with displayed price during Long Week-ends, National Holidays and Regional festivals. There is a probability of difference in cost, which will be specified at the time of communication.</li><li>
In case of amendment in package due to increase in number of Guests. The difference in cost shall be borne by the Client/customer.</li><li>
Any charges related with on-ground modification/addition of service, which is opted by Client by his/her own choice and not affecting rest of the tour itinerary, will have to be paid directly to Driver/Supplier on the behalf of OYO.</li><li>
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>
OYO Shall not be held responsible for any refund/Charges, in case of services booked 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>
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>
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 refund/Compensation in any such circumstances.</li><li>
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>
Refund on cancellation (Cancellation in accordance with Cancellation Policies) is strictly dependent on Cancellation policies and the refund process will take minimum 14 working days.</li><li>
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>
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 law, rule and / or regulations.</li><li>
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>
All grievances shall first be raised with Customer relationship team within 15 days of the occurrence of such event. In case no resolution to such grievance is provided by 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>
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 t CLient</li><li>
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>
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>
30 days or more prior to departure</li><li>
50 % of the package OR min prepayment, (Non refundable services))whichever is higher</li><li>
Within 30 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="Best of Goa FD 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="191031"/>
						</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/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 "><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 "><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 "><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="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><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 spanlist dn"><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 spanlist dn"><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="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/explore-goaex-delhi-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_20/579882/300732.jpg"  alt="Explore Goa Ex-Delhi Tour" title="Explore Goa 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/explore-goaex-delhi-tour.htm" title="Explore Goa Ex-Delhi Tour"><h3>Explore Goa 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> : 
								3 Nights / 4 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Goa City</p>
															<div class="mt10px small">
							<form name="pkg_191030" id="pkg_191030" 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/explore-goaex-delhi-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Explore Goa 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="191030"/>
							</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:68:"Book Best of Goa FD Ex- Delhi Tour - 4 Nights / 5 Days Tour Packages";i:2;s:136:"book best of goa fd ex- delhi tour - 4 nights / 5 days tour packages, beach and islands tour packages, new delhi, goa city tour packages";i:3;s:190:"Book Best of Goa FD Ex- Delhi Tour - 4 Nights / 5 Days tour packages from The Blue Tour & Travel - Get attractive 4 Nights / 5 Days Beach and Islands  tour packages for  New Delhi, Goa City.";i:4;s:420:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Goa City"        
		                 },
		      "description": "",
		      "name": "Best of Goa FD Ex- Delhi Tour",
		      "telephone": "+91-9509888449"
		    }
		    </script>
			";i:5;N;}