a:6:{i:0;s:6927:"				<div class="h1"><h1>Classic Europe Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.kirtytours.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.kirtytours.com/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Classic Europe Tour</p>
				<br />
				
									<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>
					
					<table class="w100 formTable imgWidth">
					<tr>
					
											<td class="p10px vat imgWidth150 w150px">
						<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_1/4147/49.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/4147/49.jpg"  width="150" height="150"    alt="Classic Europe Tour" title="Classic Europe Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											
					<td class="p10px">
											<p class="mb5px"><b>Duration :</b> 
						14 Nights / 15 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> London, Milan, Venice, Florence, Cologne, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne</p>
												<p><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.kirtytours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Classic Europe 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="78"/>
						</form>
						</p>
											</td>
					</tr>
					</table>
										<br />
					
					<div class="packageTabs myTabs horizontal mc"><!--MY TABS STARTS-->
					<ul class="fo lsn m0px p0px">
					
											<li id="tab4"><a href="#data4">Tour Detail</a></li>
												<li id="tab6"><a href="#data6">Terms &amp; Conditions</a></li>
											</ul>
					
					
										
						<div class="ic bdr" id="data4"><!--DATA4 START-->
						<br />
						Extensive sightseeing<br />
<br />
London<br />
Panoramic tour, entrance to Madame Tussads, Swaminarayan temple.<br />
<br />
Brussels<br />
Orientation tour including the Grand Place, Mannekin Pis & Atomium (Photo stop).<br />
<br />
Netherlands<br />
Visit Madurodam Model Village (or Keukenhof garden between Mar 22 to 20 May).<br />
<br />
Amsterdam<br />
Canal Cruise & visit to Diamond house.<br />
<br />
Cologne<br />
Visit the Gothic cathedral "DOM".<br />
<br />
Rhine Valley<br />
Scenic drive and River Rhine cruise.<br />
<br />
Wattens<br />
Swarovski Crystal Worlds.<br />
<br />
Innsbruck<br />
Orientation tour including the Hofburg and Goldenes Dachl.<br />
<br />
Venice<br />
Vaporetto ride, visit St. Mark’s Square - see the Bridge of Sighs, Doges Palace & the Basilica di San Marco.<br />
<br />
Florence<br />
View of the city from Piazzale Michelangelo and free time in historic center of the city.<br />
<br />
Rome<br />
Guided city tour including visit to the Vatican Museums and St. Peter’s Basilica, see the Colosseum and Trevi Fountain.<br />
<br />
Pisa<br />
Leaning Tower & Field of Miracles.<br />
<br />
Milan<br />
Free time in the city.<br />
<br />
Switzerland<br />
Cable car ride to Mount Titlis, Lucerne, Interlaken train ride to Jungfraujoch - Top of Europe.<br />
<br />
Paris<br />
Orientation tour of Paris, French perfumery.River Seine cruise & Palace of Versailles.Top floor of the Eiffel Tower.<br />
Optional Lido show - USD 160 per personPassport & POE charges.Any increase in the airfare/ taxes charged by the airlines on your ticket.Any increase in the rate of foreign currency leading to an increase in surface transportation & land arrangements, which may come into effect prior to departure. The rate on the given day will however apply. ROE 1 USD = Rs. 46.Porterage at hotels, airports & seaports, tips, laundry, wines, mineral water, telephone charges & all in terms of personal nature and also food drinks not forming part of the group menus.Anything not specifically mentioned in "Tour cost Includes" box.Any entrance fees, video & camera permits.<br />
Note: The departures are based on tours starting ex London, the air seats from Bombay are subject to availability.<br />
Part of the tour cost is paid from the BTQ foreign exchange quota of the traveler.							<p class="b mb5px dif">Inclusions :</p>
							<ul>
																	<li>Hotel</li>
																				<li>Sightseeing</li>
																				<li>Transport</li>
																	</ul>
							<br />
														<p class="b mb5px dif">Exclusions :</p> <ul><li>Passport & POE charges.Any increase in the airfare/ taxes charged by the airlines on your ticket.Any increase in the rate of foreign currency leading to an increase in surface transportation & land arrangements, which may come into effect prior to departure. The rate on the given day will however apply. ROE 1 USD = Rs. 46.Porterage at hotels, airports & seaports, tips, laundry, wines, mineral water, telephone charges & all in terms of personal nature and also food drinks not forming part of the group menus.Anything not specifically mentioned in "Tour cost Includes" box.Any entrance fees, video & camera permits.</li><li>
Note: The departures are based on tours starting ex London, the air seats from Bombay are subject to availability.</li><li>
Part of the tour cost is paid from the BTQ foreign exchange quota of the traveler.</li></ul><br />
														<p class="b mb5px dif">Specific Departure Dates :</p>Mar 23<br />
Apr 1,8,15,22,29 <br />
May 6,13,20,27<br />
Jun 3,10,17,24<br />
Jul 1,8,15,22,29<br />
Aug 5,12,19,26 <br />
Sep 2,9,16,23,30<br />
Oct 7<br />
													<!--DATA4 EMD--></div>
												<div class="ic bdr" id="data6"><!--DATA6 START-->
						<br />
						* 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. ~^#^~						<!--DATA6 EMD--></div>
											
					<!--MY TABS END--></div>
					";i:1;s:60:"Book Classic Europe Tour - 14 Nights / 15 Days Tour Packages";i:2;s:202:"book classic europe tour - 14 nights / 15 days tour packages, forts and palaces tour packages, london, milan, venice, florence, cologne, brussels, amsterdam, innsbruck, rome, pisa, lucerne tour packages";i:3;s:240:"Kirty Tours & Travels offers Classic Europe Tour - 14 Nights / 15 Days tour package, budget Forts and Palaces tour packages for London, Milan, Venice, Florence, Cologne, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne at exciting price.";i:4;s:2564:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Milan, Venice, Florence, Cologne, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne"        
		                 },
		      "description": "Extensive sightseeing

London
Panoramic tour, entrance to Madame Tussads, Swaminarayan temple.

Brussels
Orientation tour including the Grand Place, Mannekin Pis & Atomium (Photo stop).

Netherlands
Visit Madurodam Model Village (or Keukenhof garden between Mar 22 to 20 May).

Amsterdam
Canal Cruise & visit to Diamond house.

Cologne
Visit the Gothic cathedral "DOM".

Rhine Valley
Scenic drive and River Rhine cruise.

Wattens
Swarovski Crystal Worlds.

Innsbruck
Orientation tour including the Hofburg and Goldenes Dachl.

Venice
Vaporetto ride, visit St. Mark’s Square - see the Bridge of Sighs, Doges Palace & the Basilica di San Marco.

Florence
View of the city from Piazzale Michelangelo and free time in historic center of the city.

Rome
Guided city tour including visit to the Vatican Museums and St. Peter’s Basilica, see the Colosseum and Trevi Fountain.

Pisa
Leaning Tower & Field of Miracles.

Milan
Free time in the city.

Switzerland
Cable car ride to Mount Titlis, Lucerne, Interlaken train ride to Jungfraujoch - Top of Europe.

Paris
Orientation tour of Paris, French perfumery.River Seine cruise & Palace of Versailles.Top floor of the Eiffel Tower.
Optional Lido show - USD 160 per personPassport & POE charges.Any increase in the airfare/ taxes charged by the airlines on your ticket.Any increase in the rate of foreign currency leading to an increase in surface transportation & land arrangements, which may come into effect prior to departure. The rate on the given day will however apply. ROE 1 USD = Rs. 46.Porterage at hotels, airports & seaports, tips, laundry, wines, mineral water, telephone charges & all in terms of personal nature and also food drinks not forming part of the group menus.Anything not specifically mentioned in "Tour cost Includes" box.Any entrance fees, video & camera permits.
Note: The departures are based on tours starting ex London, the air seats from Bombay are subject to availability.
Part of the tour cost is paid from the BTQ foreign exchange quota of the traveler.",
		      "name": "Classic Europe Tour",
		      "telephone": "+91-9021222720"
		    }
		    </script>
			";i:5;N;}