a:6:{i:0;s:8749:"				<div class="h1"><h1>Portugal 5 nights / 6 days Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travelect.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelect.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Portugal 5 nights / 6 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">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Lisbon, Coimbra, Leiria, Alcobaça, Vila Real</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Portugal 5 nights / 6 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="56028"/>
						</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/333350/107058.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/107058.jpg"  width="150" height="150"    alt="Portugal 5 nights / 6 days Tour" title="Portugal 5 nights / 6 days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Lisbon
								</p>
								<p class="aj">Lisbon Arrival transfer by our staff and transfer to the Hotel.<br />
Balance of the day at leisure.<br />
This evening you might wish to experience an optional "Fado Singing experience "in one of the local taverns.<br />
Accomodation at the Hotel in Lisbon.</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> Lisbon
								</p>
								<p class="aj">Full day in Lisbon with experienced guide. Lying north of the River Tagus estuary and established over a series of seven hills, Lisbon has much to offer to its visitors. Visit the Jeronimos Monastery, the splendid Royal Coaches Museum and see the priceless treasures of the Gulbenkian Foundation, many purchased to The Hermitage in S.Petersburg. See the Alfama quarter and the magnificent Praça do Comércio area where you can see the Lisbon Story Center.<br />
Accomodation at the Hotel in Lisbon</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> Lisbon - Obidos - Alcobaça - Batalha - Coimbra
								</p>
								<p class="aj">Alcobaca Depart from Lisbon towards the North of Portugal via Obidos, Alcobaça, Batalha, Nazaré seeing some of the most important landmarks of the local history. The white washed medieval town of Obidos is considered by many to be Portugal’s most beautiful village. After words you will visit the Abbey of Alcobaça, the largest church in the country and the 14th century Abbey of Batalha, whose intricate honey-coloured exterior belies an interior of charm that it is not yet totally completed.<br />
Accomodation in Coimbra</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> Coimbra - Oporto
								</p>
								<p class="aj">Porto final Let the experienced guide take you on a short walk through the Coimbra University and its old Cathedral Cloister and Library. Afterwords, you will be driven to Oporto to spend the afternoon exploring the city, gloriously located on a steep hillside above the river. Visit Cais da Ribeira and some of the city’s most beautiful monuments including the 19th century Stock Exchange, Arab Room.<br />
Accomodation in Oporto</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> Oporto - Vila Real - Oporto
								</p>
								<p class="aj">Explore the history of Oporto’s famous wine in a visit to one of the most famours Port Wine Cellars where a tasting of wine will take place. Proceed to Vila Real for a visit of the Solar de Mateus, an exceptional Baroque mansion dating from the 18th century and that is connected with the Mateus Wine.<br />
Accomodation in Oporto</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 6:</b> Oporto
								</p>
								<p class="aj">Check out from the Hotel.<br />
Transfer to Oporto airport for your onward 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>Hotel</li>
															</ul>
						<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="http://www.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Portugal 5 nights / 6 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="56028"/>
						</form>
						</div>
						
						";i:1;s:70:"Book Portugal 5 nights / 6 days Tour - 5 Nights / 6 Days Tour Packages";i:2;s:164:"book portugal 5 nights / 6 days tour - 5 nights / 6 days tour packages, forts and palaces tour packages, lisbon, coimbra, leiria, alcobaça, vila real tour packages";i:3;s:220:"Book Portugal 5 nights / 6 days Tour - 5 Nights / 6 Days tour packages from El Travel Elect Pvt. Ltd - Get attractive 5 Nights / 6 Days Forts and Palaces  tour packages for  Lisbon, Coimbra, Leiria, Alcobaça, Vila Real.";i:4;s:448:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Lisbon, Coimbra, Leiria, Alcobaça, Vila Real"        
		                 },
		      "description": "",
		      "name": "Portugal 5 nights / 6 days Tour",
		      "telephone": "+91-9225503370"
		    }
		    </script>
			";i:5;N;}