a:6:{i:0;s:17660:"				<div class="h1"><h1>London Paris Zurich Italy Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.seaqueenholiday.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.seaqueenholiday.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>London Paris Zurich Italy 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">
						14 Nights / 15 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">London, Paris, Milan, Venice, Florence, Rome, Zurich</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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="London Paris Zurich Italy 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="52614"/>
						</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_8/235469/102954.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/235469/102954.jpg"  width="150" height="150"    alt="London Paris Zurich Italy Tour" title="London Paris Zurich Italy 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> London - Arrival
								</p>
								<p class="aj">Upon you arrival at the airport, get welcomed by our representative and get transferred to the hotel. The remaining day is to be spent at leisure. You may take rest in your hotel room or enjoy small walks in close vicinity of the hotel. Dinner and an overnight stay 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 2:</b> London
								</p>
								<p class="aj">In the morning, post breakfast, get ready to visit two of London's top attractions, namely London Eye and a Thames River. Get combined tickets as the deal will save money and on the same allow you to enjoy the day exploring the world's greatest city, London.<br />
<br />
London Eye:World’s tallest observation wheel, London Eye, offers the panoramic view of the London City from a height of 442 ft (135 m). The location, being on the shores of River Thames, visitors get mesmerized with the vistas. Since establishment, the attraction has served as an iconic landmark along with Big Ben, Tower Bridge, and the Tower of London. The attraction has also been featured in various commercial films due to its breathtaking view.<br />
<br />
Thames River Sightseeing Cruise: The deck of a boat is perhaps the best way to witness the sights and attractions of London city. Onboard, the guests will experience the comforts and styling according to historic world-famous landmarks of London. The boats feature open upper decks which help in excellent sightseeing experience. There also are comfortable lower saloons. As the cruise departs from Waterloo Pier, the guests enjoy light refreshments and bar service as major attraction of London glide by. On the round tour of 40 minutes, a guide is also provided to help the guests get the best of the knowledge of the attractions.<br />
<br />
Thereafter, return to your hotel for dinner and an overnight stay.</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> London - Paris
								</p>
								<p class="aj">Early morning, have breakfast and get ready and transferred to Paris by Eurail. Upon arrival, get assisted and transferred to the hotel. Remaining hours of the day is free to be spent at leisure. You may rest in hotel or take small walks on the nearby streets. Dinner and an overnight stay 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 4:</b> Paris
								</p>
								<p class="aj">Post breakfast, get ready to see the main attractions of Paris. This will be a 5-hour city tour of Paris. The excursion includes city tour by coach, toweringpanoramas from the Eiffel Tower’s 2ndfloor, and amazing views of Paris on cruise along the Seine River. There are four timings available, such as 9:00 am, Noon, 2:45 pm or 6:15 pm, to help the guests choose according to their convenience. This is a comprehensive tour package that allows the visitors to know the best of the city in the very first visit. Paris tour by coach includes Place de la Concorde Square, the Arc de Triomphe, the Champs-Elysees, the western districts of Paris, the Palais Bourbon (National Assembly), and the Palais de Chaillot. Return to the hotel for dinner and an overnight stay.</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> Paris - Zurich
								</p>
								<p class="aj">In the morning, post breakfast, get assisted and transferred to Zurich by Eurail. Rest of the day is free to be spent at leisure. You may spend the day taking rest in your hotel or enjoy small walks on the nearby streets. Dinner and an overnight stay in 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 6:</b> Zurich
								</p>
								<p class="aj">After breakfast in the hotel, get ready to explore the best of Zurich onboard the unique Classic Trolley. The trolley is designed in styles of yesteryears, complemented with modern comforts to meet the satisfaction level of the elite travellers. There are state-of-the-art headsets provided for commentary, which is available in 8 different languages. The tour will be of two hours, which will feature excursion through the beautiful Zurich City and visit the financial and business centre, a section of the Old Town, Bahnhofstrasse, major museums, historical Limmatquai, Fraumunster Church & Chagall windows, residential areas, the University district, recreation areas, lovely hillside villas on the Zurichberg and amazing sights of the Alps from vantage point on the lake of Zurich. Return to your hotel for dinner and an overnight stay.</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 7:</b> Zurich - Milan
								</p>
								<p class="aj">After breakfast in the hotel, get assisted and transferred to Milan by Eurail. The remaining hours of the day are to be spent at leisure. You may spend the remaining day taking rest in the hotel or enjoy walks in nearby area of the hotel. Dinner and an overnight stay 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 8:</b> Milan
								</p>
								<p class="aj">Post breakfast, get ready to explore the best of the Milan via 2 different tour routes. On board an open-top double-decker bus, see all the major attractions of the city. The bus has 12 stops in total, thus, guests could choose and hop-on and hop-off throughout the city. The validity of the ticket is for 48 hours from the first use. Milano is economic engine room of the country and also houses stock market and business centers of Italy. The city of Milan is also recognized as the design capital of the world and competitor of Paris as a fashion centre. Return to your hotel for dinner and an overnight stay.</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 9:</b> Milan - Venice
								</p>
								<p class="aj">In the morning, after breakfast, get assisted and transferred to Venice by Eurail. The remaining day is free to be spent at leisure. Dinner and an overnight stay 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 10:</b> Venice
								</p>
								<p class="aj">The day is dedicated to explore the best of the Venice. After breakfast, get ready for half-day excursion to the famous islands of theVenice lagoon namely, Murano, Burano and Torcello. Start with glass-blowing display on Murano, continuing with shopping spree for lace on Burano and finally visiting the first church of Veniceon the serene Torcello Island. This tour is probably the best way to introduce the magical charm of the Venetian lagoon. Speed through the Venetian lagoon to Murano on a comfortable motor boat. On the island you can visit shops and factories, along with witness the skilled glass-blowers as they create masterpieces. On your visit to the museum, you can also view the world-famous Murano glass featured there. Dinner and an overnight stay at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Venice - Florence
									</p>
									<p class="aj">After breakfast at the hotel, get assisted and transferred to Florence by Eurail. As the remaining hours of the day is free to be spent at leisure, you may opt to take rest in the hotel or take small walks down the streets of Florence. Dinner and an overnight stay in 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 12:</b> Florence
									</p>
									<p class="aj">After breakfast at the hotel, get ready to explore the best of the Florence city through hop-on and hop-off double-decker bus. The stopovers in the tour route feature the Cathedral, San Marco, Santa Croce, Piazzale Michelangelo and more. For the full day of sightseeing, guests can hop-on and off as many times as they want to. Florence is regarded as the ‘jewel city of the Renaissance’ and is bordered by the Appenine mountain range. The museums and art galleries are also popular world-wide and thus, attract tourists from different parts of the globe. David of Michaelangelo, the stunning Duomo & marble facade and the Venus of Botticelli are also some of the major attractions. Apart from rich culture, the city also features elegant boutique, tempting ice cream parlors and tiny craft shops. Dinner and overnight stay 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 13:</b> Florence - Rome
									</p>
									<p class="aj">Post breakfast, get assisted and transferred to Rome through Eurail. The rest of the day is free to be spent at leisure. Dinner and an overnight stay at the guests.</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 14:</b> Rome
									</p>
									<p class="aj">After breakfast at the hotel, explore the more of Rome through a guided walking tour. Visit St Peter's Basilica and the Vatican Museums. On the first visit, the guests get overwhelmed. Allow the guide to help you explore the best and know about various aspects being the history, politics and architecture of the Vatican. The guided walking tour in the morning, afternoon and evening, the guests get to know the best of the smallest country of the world, including magnificent churches and impressive fine art collection. Famous Sistine Chapel and frescoes, started by Michelangelo in 1508, is also one of the major highlight of the tour. Thereafter, return to the hotel for dinner and an overnights stay.</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 15:</b> Rome - Departure
									</p>
									<p class="aj">In the morning, after breakfast, check-out from the hotel and get assisted and transferred to the Airport. On reaching airport, onboard the flight towards your onward journey.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>
																		<li>Sightseeing</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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="London Paris Zurich Italy 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="52614"/>
						</form>
						</div>
						
						";i:1;s:71:"Book London Paris Zurich Italy Tour - 14 Nights / 15 Days Tour Packages";i:2;s:163:"book london paris zurich italy tour - 14 nights / 15 days tour packages, heritage tour packages, london, paris, milan, venice, florence, rome, zurich tour packages";i:3;s:215:"Book London Paris Zurich Italy Tour - 14 Nights / 15 Days tour packages from Sea Queen Holidays - Get attractive 14 Nights / 15 Days Heritage  tour packages for  London, Paris, Milan, Venice, Florence, Rome, Zurich.";i:4;s:454:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Paris, Milan, Venice, Florence, Rome, Zurich"        
		                 },
		      "description": "",
		      "name": "London Paris Zurich Italy Tour",
		      "telephone": "+91-9833538295"
		    }
		    </script>
			";i:5;N;}