a:6:{i:0;s:50522:"				<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-->				
									<div class="h1"><h1>European Memories Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.paceholidays.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.paceholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>European Memories Tour</p> 
									
						<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>Tour Code :</b> EU-10</p>
												<p class="mb5px"><b>Duration :</b> 
						9 Nights / 10 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Paris, Berlin, Rome, Vaduz, Vienna, Bern, Vatican City</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 153000 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.paceholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="European Memories 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="85849"/>
						</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_2/39257/150947.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/39257/150947.jpg"  width="150" height="150"    alt="European Memories Tour" title="European Memories 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>
													
								Highlights Of The Tour<br />
A Complete Value For Money Tour With Maxim Um Quality Sightseeing<br />
Stay In Convenient & Comfortable Hotels Throughout Your Holiday<br />
Daily Continental Buffet Breakfast Included<br />
Daily Indian Jain / Vegetarian / Non-Vegetarian Dinners Included As Specified In The Itinerary<br />
Guided City Tour Of Rome & Paris<br />
Free Time At The Altstadt – Old Town In Heidelberg<br />
Visit Black Forest - See A Cuckoo Clock Demonstration<br />
View The Magnificent Rhine Falls In Schaffhausen<br />
Visit Zurich – The Financial Capital Of Switzerland<br />
Visit Mt. Titlis In The World’S First Revolving Cable Car With Cliff Walk<br />
See The Lion Monument And The Kapell Brucke In Lucerne<br />
Visit The Swarovski Crystal Showroom In Innsbruck<br />
See The Golden Roof And The Maria Theresien Strasse In Innsbruck<br />
Visit The St. Mark’S Square In Venice On Board Your Chartered Boat<br />
Visit The Murano Glass Showroom In Venice<br />
Visit The Vatican – St. Peter’S Cathedral<br />
Visit The Majestic Trevi Fountain In Rome<br />
See The Leaning Tower Of Pisa<br />
Cruise On The River Seine<br />
Visit 2Nd Level Of The Eiffel Tower<br />
Chance To Enjoy A Full Day At Euro Disney – A Super Fun, Stress-Free And Adventure Experience<br />
Chance To See The Lido Show<br />
Visit 07 Countries In 10 Days Covering Germany, Switzerland, Principality Of Liechtenstein, Austria, Italy, The Vatican & France<br />
Services Of A Professional, Friendly, Multilingual And Experienced Tour Manager Travelling With You Throughout Your Tour.<br />
<br />
Highlights Of The Tour<br />
A Complete Value For Money Tour With Maxim Um Quality Sightseeing<br />
Stay In Convenient & Comfortable Hotels Throughout Your Holiday<br />
Daily Continental Buffet Breakfast Included<br />
Daily Indian Jain / Vegetarian / Non-Vegetarian Dinners Included As Specified In The Itinerary<br />
Guided City Tour Of Rome & Paris<br />
Free Time At The Altstadt – Old Town In Heidelberg<br />
Visit Black Forest - See A Cuckoo Clock Demonstration<br />
View The Magnificent Rhine Falls In Schaffhausen<br />
Visit Zurich – The Financial Capital Of Switzerland<br />
Visit Mt. Titlis In The World’S First Revolving Cable Car With Cliff Walk<br />
See The Lion Monument And The Kapell Brucke In Lucerne<br />
Visit The Swarovski Crystal Showroom In Innsbruck<br />
See The Golden Roof And The Maria Theresien Strasse In Innsbruck<br />
Visit The St. Mark’S Square In Venice On Board Your Chartered Boat<br />
Visit The Murano Glass Showroom In Venice<br />
Visit The Vatican – St. Peter’S Cathedral<br />
Visit The Majestic Trevi Fountain In Rome<br />
See The Leaning Tower Of Pisa<br />
Cruise On The River Seine<br />
Visit 2Nd Level Of The Eiffel Tower<br />
Chance To Enjoy A Full Day At Euro Disney – A Super Fun, Stress-Free And Adventure Experience<br />
Chance To See The Lido Show<br />
Visit 07 Countries In 10 Days Covering Germany, Switzerland, Principality Of Liechtenstein, Austria, Italy, The Vatican & France<br />
Services Of A Professional, Friendly, Multilingual And Experienced Tour Manager Travelling With You Throughout Your Tour.<br />
<br />
Sightseeing And Excursions <br />
Germany<br />
Heidelberg Free Time At The Altstadt - Old Town<br />
Black Forest Visit The Heart Of Black Forest<br />
See A Demonstration Of Cuckoo Clock Making<br />
<br />
Switzerland<br />
SchaffhausenSee The Magnificent Rhine Falls<br />
Zurich Tour Of The City<br />
Engelberg Excursion To Mt. Titlis Included With Cliff Walk (Weather Permitting) <br />
Lucerne Orientation Tour Of The City<br />
See The Lion Monument And The Kapell Brucke<br />
Geneva Tour Of The City<br />
<br />
Austria<br />
Innsbruck Tour Of Innsbruck<br />
Visit The Swarovski Crystal Showroom In Innsbruck<br />
<br />
Italy<br />
Venice Guided Tour Of Venice<br />
Visit The Famous St. Mark’S Square<br />
Visit The Murano Glass Factory And Showroom<br />
Rome See The Majestic Trevi Fountain<br />
Guided City Tour With An English Speaking Local Guide<br />
Pisa See The Leaning Tower Of Pisa<br />
<br />
The Vatican<br />
Vatican City Visit The St. Peter’S Cathedral<br />
<br />
France<br />
Paris Guided City Tour With An English Speaking Local Guide<br />
Entrance To The 2Nd Level Of The Eiffel Tower<br />
Cruise On The River Seine<br />
<br />
Accommodation<br />
01 Night At Starkenburgerh Of Or Similar In Heppenheim<br />
02 Nights At Hotel Dorint /Movenpick / Novotel / Meierhof / Dorfpark Or Similar, In Zurich / Gotzis<br />
01 Night At Hotel Daporto / Tulip In / Campanile / Point / Marconi / Alfa Fiera Or Similar, In Padova / Vicenza<br />
01 Night At Hotel Roma Sud / Ibis Or Similar, In Rome<br />
01 Night At Hotel Euro / Granduca / Park Hotel California Or Similar In Pisa / Altopascio<br />
01 Night At Hotel Ibis / Mercure / Park Inn Suites / Holiday Inn Or Similar, In Bourg En Bresse<br />
02 Nights At Hotel Mercure / Novotel / Ibis Or Similar, In Paris<br />
<br />
Meals (Abbrev - BBreakfast, DDinner)<br />
Daily Continental Buffet Breakfast<br />
Daily Indian Jain / Vegetarian / Non Vegetarian Dinners<br />
Transfers<br />
All Transfers And Extensive Excursions With Entrance Fees (As Specified In The Itinerary) By Deluxe Air Conditioned Coach In The Continent Of Europe<br />
<br />
Airfare, Visas And Overseas Travel Insurance<br />
Return Economy Class Group Airfare As Per The Itinerary<br />
Cost Of Ticket Taxes<br />
Cost Of Overseas Travel Insurance For The Duration Of The Tour<br />
Cost Of Multiple Entry Schengen Visa<br />
All Local Taxes As Of 01St October 2016<br />
<br />
Tour Manager<br />
Services Of A Professional And Experienced Tour Manager Or A Local Representative Throughout Your Tour In EuropeWhat Your Tour Price Does Not Include<br />
Cost of deviation - In case you wish to deviate from the group departure dates mentioned in the brochure i.e. either travel before the departure date of your tour or would like to come back on a later date after the tour ends, there will be an additional charge that will be applicable which will be advised to you by our sales team / partner agent. The same subject to availability of seats for the given dates & ticket validity. Kindly also note, the deviation request is to be made at the time of booking or at least 45 days prior to departure date.<br />
Tour cost is subject to GOI/RBI regulations under Liberalised Remittance Scheme (LRS)<br />
No Porterage included<br />
Any increase in the rate of exchange leading to an increase in surface transportation and land arrangements, which may come into effect prior to departure. Prices quoted are as 1 EURO = INR 77. The tour price is subject to increase without notice if this rate changes substantially prior to the departure of your tour<br />
Any expenses of personal nature such as laundry, wines, mineral water, food and drink not in the regular menu provided by us, pay TV, mini-bar, telephone calls, etc.<br />
Meals other than what is mentioned in your Itinerary i.e. only continental buffet breakfasts & dinners (no lunches)<br />
Cost of excursions, city sightseeing, entrance fees and local guides other than that mentioned in “What Your Tour Price Includes.<br />
Tips to drivers, guides, etc of EUR 03 per person per day for the duration of the tour.<br />
Cost of excursion to Euro Disney<br />
Cost of Lido Show<br />
Overseas Travel Insurance<br />
It is extremely important to possess an Overseas Travel Insurance policy before you travel on your tour. We have included the cost of overseas travel insurance for the duration of the tour. For any passengers above 60 years of age and those who wish to extend their holiday, additional charges would apply.20-0231-07								</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> Welcome to Germany !!!
										</p>
										<p class="aj">Today, enter the world of ‘Vacations Exotica’ as you begin your beautiful journey of Europe. On arrival at Frankfurt airport meet your professional and experienced Tour Manager in the arrival area situated outside the customs hall. Drive directly to your hotel and check in. Tonight, enjoy an Indian dinner.<br />
Overnight at Starkenburgerhof or similar in Heppenheim</p>					
											<p><b>Meals : </b> Dinner</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> Heidelberg
										</p>
										<p class="aj">Heidelberg – Visit the Altstadt (Old Town). Visit the heart of the Black Forest. See a Cuckoo Clock demonstration. View the Rhine falls - in Schaffhausen.<br />
After Continental Buffet Breakfast, drive to the beautiful city of Heidelberg - situated on the banks of River Neckar. Visit the Altstadt - Old Town and continue on an orientation tour of this historic city. View the mighty ruins of the Heidelberg castle from the Alstadt and visit the many squares that make up this city’s life. Next, experience a natural wonder as you drive through the mystical Black Forest in Germany, synonymous with the Black Forest Cake and home to the Cuckoo Clocks. Experience the world of Cuckoo Clocks during an interesting demonstration. Later, drive to see one of Europe’s natural wonders – The spectacular Rhine Falls in Schaffhausen. Tonight, enjoy an Indian dinner.<br />
Overnight at hotel Dorint / Movenpick /Novotel/Meierhof/Dorfpark or similar, in Zurich / Gotzis.</p>					
											<p><b>Meals : </b> Breakfast + Dinner</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> Mt Titlis
										</p>
										<p class="aj">Mt Titlis - A landscape close to heaven & Lucerne – Orientation Tour. Zurich - the commercial capital.<br />
After Continental Buffet Breakfast, proceed for an excursion that will surely leave you spellbound. Visit the Financial Capital – Zurich, with an orientation tour of this bustling and charming city. Also, spend some time along the lake of Zurich. Next, enjoy stunning views from the world’s first revolving cable car - Rotair on your way up to Mt. Titlis (3020 mts) with Cliff Walk(weather permitting) Here, visit the Ice Grotto and indulge yourself in the world of snow on the snow terrace. Later, drive to the beautiful lakeside town of Lucerne. See the dramatic Lion Monument and the Kapell Brucke as you soak in the beauty of this city. You also have some free time for shopping for world renowned Swiss watches, Swiss knives, chocolates, souvenirs, etc. Tonight, enjoy an Indian dinner.<br />
Overnight at hotel Dorint / Movenpick /Novotel/Meierhof/Dorfpark or similar, in Zurich / Gotzis.</p>					
											<p><b>Meals : </b> Breakfast + Dinner</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> Vaduz
										</p>
										<p class="aj">Onto Vaduz – Capital of Liechtenstein. Onto Innsbruck – Tyrolean Capital. Visit the Swarovski Crystal Showroom in<br />
Innsbruck.<br />
After Continental Buffet Breakfast, check out and, drive to Vaduz & enjoy an orientation tour of the city. Later drive to the Tyrolean capital - Innsbruck and experience the charm of this city as you see some intriguing sights like the Golden Roof and St. Anne’s Column on Maria Theresien Strasse, from where you get spectacular views of the Alps. Next, get set for a glittering experience as you visit the Swarovski Crystal showroom in Innsbruck. Marvel at the display and buy a souvenir for your near and dear ones. Later, drive to Padova. Tonight, enjoy an Indian dinner.<br />
Overnight at hotel Daporto / Campanile / Point / Marconi / Alfa Fiera or similar, in Padova / Vicenza.</p>					
											<p><b>Meals : </b> Breakfast + Dinner</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> Venice
										</p>
										<p class="aj">Venice – The Queen of the Adriatic Sea. Visit the famous Murano Glass Factory. Onto Rome - the eternal city.<br />
After Continental Buffet Breakfast, check out and proceed to the romantic city of Venice. Board your chartered boat to the traditional centre of the city - Piazza San Marco. This city of 117 islands in the Venetian Lagoon is sure to leave you mystified. See the St. Mark’s Basilica, Bridge of Sighs, the Doges Palace, the Campanile and many more sights. Visit a Murano Glass Factory and see the skills of these master craftsmen. Later, drive to Rome – the Eternal City. Tonight, enjoy an Indian dinner.<br />
Overnight at hotel Roma Sud / Ibis or similar, in Rome.</p>					
											<p><b>Meals : </b> Breakfast + Dinner</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> Pisa
										</p>
										<p class="aj">A guided city tour of Rome. Visit St. Peter’s Basilica – The Vatican. Onto Pisa - See the Leaning Tower of Pisa.<br />
After Continental Buffet Breakfast, check out and join an experienced English speaking local guide for a tour of Rome. Start your tour by visiting the St. Peter’s Basilica (Shorts / Mini Skirts or Sleeveless vests not allowed) to be amazed by its artistic and architectural genius. Your city tour will expose you to beautiful sights like the opulent Colosseum, the Victor Emmanuel Monument, Roman Forum, Circus Maximus and ancient temples and many more sights.  See the majestic Trevi Fountain, a fountain of grandeur and wishes. Later drive to the city of Pisa. Hold your breath as you enter the “Square of Miracles” and see the precariously Leaning Tower of Pisa. Tonight, enjoy an Indian dinner.<br />
Overnight at hotel Tower Inn / Euro / Granduca / Park Hotel California or similar, in Pisa / Altopascio.</p>					
											<p><b>Meals : </b> Breakfast + Dinner</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> Geneva
										</p>
										<p class="aj">Visit Geneva - The Garden city.<br />
After Continental Buffet Breakfast, check out and drive to the garden city of Geneva, built on the point where the River Rhone flows out of Lake Geneva. See the European headquarters of the United Nations, the International Red Cross Building and the magnificent Jet d’ Eau - a majestic fountain that shoots up to about 140 mts. (weather permitting). Visit the English Gardens and see the famous “Horlogefleurie” - “Floral Clock”, a masterpiece of technology and floral art. Tonight, enjoy an Indian dinner.<br />
Overnight at hotel Ibis / Mercure / Park Inn Suites / Holiday Inn or similar, in Bourg en Bresse.</p>					
											<p><b>Meals : </b> Breakfast + Dinner</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> Paris
										</p>
										<p class="aj">Paris – The cultural and fashion centre. Guided city tour of Paris. Visit the 2nd level of the Eiffel Tower. Opt to see the extravagant Lido show<br />
After Continental Buffet Breakfast, check out and depart to the French Capital – Paris, a city seeped in history, art and fashion. On arrival, proceed on a guided city tour with an experienced local English speaking guide. Enjoy many sights like the Arc De Triomphe, Concorde Square, Opera House, Champs Elysees, Invalides and many more landmarks. Later, visit the 2nd level of the Eiffel Tower - an unparalleled experience. Tonight, enjoy an Indian dinner.<br />
Later, tonight do not miss the opportunity to see the light, sound and dance extravaganza - The Lido Show.<br />
Overnight at hotel Residhome / Ibis Epiney / Mercure / Novotel or similar, in Paris.</p>					
											<p><b>Meals : </b> Breakfast + Dinner</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> Paris
										</p>
										<p class="aj">Chance to enjoy full day at Disneyland Paris. Cruise on River Seine.<br />
After Continental Buffet Breakfast, the day is at leisure or opt for an experience to Disney Magic as you visit Eurodisney - where dreams come to life. Experience a super-fun, stress-free adventure that will fill your day with enough magic to last forever. Enjoy the many rides on offer at the park (all included) OR, you can visit the amazing Walt Disney Studio - the magical world of cinema and television, featuring thrilling attractions and spectacular shows. Go behind the magic on the Studio Tram Tour and discover the secrets of how movies and television shows are made. Also be amazed by the dare devils in the thrilling Stunt Show. Today, enjoy a cruise on the river Seine and admire the beautiful monuments of this spectacular city. Tonight, enjoy an Indian dinner.<br />
Overnight at hotel Ibis Epiney / Mercure / Novotel or similar, in Paris.</p>					
											<p><b>Meals : </b> Breakfast + Dinner</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> Departure
										</p>
										<p class="aj">Farewell!!<br />
After a buffet/boxed breakfast, proceed to the airport for your flight back home. Arrive home with pleasant memories of your European tour, which we are sure you will treasure for a lifetime.</p>					
											<p><b>Meals : </b> Breakfast</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>Hotel</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>What Your Tour Price Does Not Include</li><li>
Cost of deviation - In case you wish to deviate from the group departure dates mentioned in the brochure i.e. either travel before the departure date of your tour or would like to come back on a later date after the tour ends, there will be an additional charge that will be applicable which will be advised to you by our sales team / partner agent. The same subject to availability of seats for the given dates & ticket validity. Kindly also note, the deviation request is to be made at the time of booking or at least 45 days prior to departure date.</li><li>
Tour cost is subject to GOI/RBI regulations under Liberalised Remittance Scheme (LRS)</li><li>
No Porterage included</li><li>
Any increase in the rate of exchange leading to an increase in surface transportation and land arrangements, which may come into effect prior to departure. Prices quoted are as 1 EURO = INR 77. The tour price is subject to increase without notice if this rate changes substantially prior to the departure of your tour</li><li>
Any expenses of personal nature such as laundry, wines, mineral water, food and drink not in the regular menu provided by us, pay TV, mini-bar, telephone calls, etc.</li><li>
Meals other than what is mentioned in your Itinerary i.e. only continental buffet breakfasts & dinners (no lunches)</li><li>
Cost of excursions, city sightseeing, entrance fees and local guides other than that mentioned in “What Your Tour Price Includes.</li><li>
Tips to drivers, guides, etc of EUR 03 per person per day for the duration of the tour.</li><li>
Cost of excursion to Euro Disney</li><li>
Cost of Lido Show</li><li>
Overseas Travel Insurance</li><li>
It is extremely important to possess an Overseas Travel Insurance policy before you travel on your tour. We have included the cost of overseas travel insurance for the duration of the tour. For any passengers above 60 years of age and those who wish to extend their holiday, additional charges would apply.</li></ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								April           	:  15, 22, 29<br />
May           	:  06, 13, 20, 27, <br />
June           	:  03, 10, 17, 24<br />
July            	:  01, 08, 15, 22, 29<br />
August       	:  05, 12, 19, 26<br />
September	: 02, 09, 16, 23								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<ul>
	<li>Additional Supplement will be applicable during major Exhibition and Event dates.</li>
	<li>Child Breakfast/ extra Bed price will be given upon request.</li>
	<li>Above shown rate is non-refundable basis.</li>
	<li>Rooms are subject to availability.</li>
	<li>Minimum 2 adults for the above package</li>
	<li>Price mentioned above is only a quotation. No reservations has been held on confirm status basis.</li>
	<li>All rates and confirmation are subject to availability at the time of booking.</li>
	<li>All sightseeing tours are subject to road, weather, political conditions at a respective destination</li>
	<li>Cancellation policy will be advised at the time of booking</li>
	<li>We recommend you to book with us immediately. In order to benefit at the current proposed prices,</li>
	<li>SIC transfers valid from 7 am - 7 pm only</li>
	<li>Normal Hotel check-in time is from 14.00 hrs onwards. &amp; check-out time is at 12.00 hrs.</li>
	<li>There will be an additional cost for an entire transfer between 23:00 - 07:00 hrs</li>
	<li>Quotation might change due to season, currencies ROE fluctuations during confirmation &amp; booking process</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.paceholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="European Memories 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="85849"/>
						</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.paceholidays.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/packages-in-lucerne.htm" title="Packages in Lucerne">Lucerne</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/packages-in-bern.htm" title="Packages in Bern">Bern</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/packages-in-london.htm" title="Packages in London">London</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/packages-in-rome.htm" title="Packages in Rome">Rome</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-innsbruck.htm" title="Packages in Innsbruck">Innsbruck</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-hong-kong.htm" title="Packages in Hong Kong">Hong Kong</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-brussels.htm" title="Packages in Brussels">Brussels</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-macau.htm" title="Packages in Macau">Macau</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-amsterdam.htm" title="Packages in Amsterdam">Amsterdam</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-zurich.htm" title="Packages in Zurich">Zurich</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-dubai.htm" title="Packages in Dubai">Dubai</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-alchi.htm" title="Packages in Alchi">Alchi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-vaduz.htm" title="Packages in Vaduz">Vaduz</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-tashkent-travel.htm" title="Packages in Tashkent">Tashkent</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-mysore.htm" title="Packages in Mysore">Mysore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-berlin.htm" title="Packages in Berlin">Berlin</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(3)</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.paceholidays.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/boat-safari-holidays-catid.htm" title="Boat Safari Packages">Boat Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.paceholidays.com/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</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.paceholidays.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.paceholidays.com/desert-holidays-catid.htm" title="Deserts Packages">Deserts</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.paceholidays.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Paris, Berlin, Rome, Vaduz, Vienna, Bern</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.paceholidays.com/tour-packages/europe-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/39257/277587.jpg"  alt="Europe Tour" title="Europe Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.paceholidays.com/tour-packages/europe-tour.htm" title="Europe Tour"><h3>Europe 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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Rome, Pisa, Masai Mara</p>
															<div class="mt10px small">
							<form name="pkg_182642" id="pkg_182642" method="post" action="http://www.paceholidays.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.paceholidays.com/tour-packages/europe-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Europe 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="182642"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.paceholidays.com/tour-packages/europe-tour-package9-days.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/39257/275906.jpg"  alt="Europe Tour Package 9 Days" title="Europe Tour Package 9 Days"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.paceholidays.com/tour-packages/europe-tour-package9-days.htm" title="Europe Tour Package 9 Days"><h3>Europe Tour Package 9 Days</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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Innsbruck, Pisa, Padova, Baselga,..</p>
															<div class="mt10px small">
							<form name="pkg_182159" id="pkg_182159" method="post" action="http://www.paceholidays.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.paceholidays.com/tour-packages/europe-tour-package9-days.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Europe Tour Package 9 Days - 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="182159"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.paceholidays.com/tour-packages/exotic-switzerland-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/39257/150948.jpg"  alt="Exotic Switzerland Tour" title="Exotic Switzerland Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.paceholidays.com/tour-packages/exotic-switzerland-tour.htm" title="Exotic Switzerland Tour"><h3>Exotic Switzerland Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 182930</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Engelberg, Geneva, Zurich, Interlaken, L..</p>
															<div class="mt10px small">
							<form name="pkg_85851" id="pkg_85851" method="post" action="http://www.paceholidays.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.paceholidays.com/tour-packages/exotic-switzerland-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Exotic Switzerland 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="85851"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.paceholidays.com/tour-packages/wondersof-eastern-europe-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/39257/149321.jpg"  alt="Wonders Of Eastern Europe Tour" title="Wonders Of Eastern Europe Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.paceholidays.com/tour-packages/wondersof-eastern-europe-tour.htm" title="Wonders Of Eastern Europe Tour"><h3>Wonders Of Eastern Europe Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 219925</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								13 Nights / 14 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Dresden, Berlin, Zagreb, Budapest, Ljubl..</p>
															<div class="mt10px small">
							<form name="pkg_84785" id="pkg_84785" method="post" action="http://www.paceholidays.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.paceholidays.com/tour-packages/wondersof-eastern-europe-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Wonders Of Eastern Europe 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="84785"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.paceholidays.com/tour-packages/amazing-switzerland-paris-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/39257/149469.jpg"  alt="Amazing Switzerland & Paris Tour" title="Amazing Switzerland & Paris Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.paceholidays.com/tour-packages/amazing-switzerland-paris-tour.htm" title="Amazing Switzerland & Paris Tour"><h3>Amazing Switzerland & Paris Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 106300</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Geneva, Zurich, Lucerne, Bern</p>
															<div class="mt10px small">
							<form name="pkg_84783" id="pkg_84783" method="post" action="http://www.paceholidays.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.paceholidays.com/tour-packages/amazing-switzerland-paris-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Amazing Switzerland & Paris 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="84783"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.paceholidays.com/tour-packages/mini-europe-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_2/39257/149671.jpg"  alt="Mini Europe Tour" title="Mini Europe Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.paceholidays.com/tour-packages/mini-europe-tour.htm" title="Mini Europe Tour"><h3>Mini Europe Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 346500</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								15 Nights / 16 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Geneva, Zurich, Lucerne, ..</p>
															<div class="mt10px small">
							<form name="pkg_85063" id="pkg_85063" method="post" action="http://www.paceholidays.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.paceholidays.com/tour-packages/mini-europe-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Mini Europe 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="85063"/>
							</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:62:"Book European Memories Tour - 9 Nights / 10 Days Tour Packages";i:2;s:156:"book european memories tour - 9 nights / 10 days tour packages, heritage tour packages, paris, berlin, rome, vaduz, vienna, bern, vatican city tour packages";i:3;s:195:"Pace Tours And Travels offers European Memories Tour - 9 Nights / 10 Days tour package, budget Heritage tour packages for Paris, Berlin, Rome, Vaduz, Vienna, Bern, Vatican City at exciting price.";i:4;s:7610:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Berlin, Rome, Vaduz, Vienna, Bern, Vatican City"        
		                 },
		      "description": "Highlights Of The Tour
A Complete Value For Money Tour With Maxim Um Quality Sightseeing
Stay In Convenient & Comfortable Hotels Throughout Your Holiday
Daily Continental Buffet Breakfast Included
Daily Indian Jain / Vegetarian / Non-Vegetarian Dinners Included As Specified In The Itinerary
Guided City Tour Of Rome & Paris
Free Time At The Altstadt – Old Town In Heidelberg
Visit Black Forest - See A Cuckoo Clock Demonstration
View The Magnificent Rhine Falls In Schaffhausen
Visit Zurich – The Financial Capital Of Switzerland
Visit Mt. Titlis In The World’S First Revolving Cable Car With Cliff Walk
See The Lion Monument And The Kapell Brucke In Lucerne
Visit The Swarovski Crystal Showroom In Innsbruck
See The Golden Roof And The Maria Theresien Strasse In Innsbruck
Visit The St. Mark’S Square In Venice On Board Your Chartered Boat
Visit The Murano Glass Showroom In Venice
Visit The Vatican – St. Peter’S Cathedral
Visit The Majestic Trevi Fountain In Rome
See The Leaning Tower Of Pisa
Cruise On The River Seine
Visit 2Nd Level Of The Eiffel Tower
Chance To Enjoy A Full Day At Euro Disney – A Super Fun, Stress-Free And Adventure Experience
Chance To See The Lido Show
Visit 07 Countries In 10 Days Covering Germany, Switzerland, Principality Of Liechtenstein, Austria, Italy, The Vatican & France
Services Of A Professional, Friendly, Multilingual And Experienced Tour Manager Travelling With You Throughout Your Tour.

Highlights Of The Tour
A Complete Value For Money Tour With Maxim Um Quality Sightseeing
Stay In Convenient & Comfortable Hotels Throughout Your Holiday
Daily Continental Buffet Breakfast Included
Daily Indian Jain / Vegetarian / Non-Vegetarian Dinners Included As Specified In The Itinerary
Guided City Tour Of Rome & Paris
Free Time At The Altstadt – Old Town In Heidelberg
Visit Black Forest - See A Cuckoo Clock Demonstration
View The Magnificent Rhine Falls In Schaffhausen
Visit Zurich – The Financial Capital Of Switzerland
Visit Mt. Titlis In The World’S First Revolving Cable Car With Cliff Walk
See The Lion Monument And The Kapell Brucke In Lucerne
Visit The Swarovski Crystal Showroom In Innsbruck
See The Golden Roof And The Maria Theresien Strasse In Innsbruck
Visit The St. Mark’S Square In Venice On Board Your Chartered Boat
Visit The Murano Glass Showroom In Venice
Visit The Vatican – St. Peter’S Cathedral
Visit The Majestic Trevi Fountain In Rome
See The Leaning Tower Of Pisa
Cruise On The River Seine
Visit 2Nd Level Of The Eiffel Tower
Chance To Enjoy A Full Day At Euro Disney – A Super Fun, Stress-Free And Adventure Experience
Chance To See The Lido Show
Visit 07 Countries In 10 Days Covering Germany, Switzerland, Principality Of Liechtenstein, Austria, Italy, The Vatican & France
Services Of A Professional, Friendly, Multilingual And Experienced Tour Manager Travelling With You Throughout Your Tour.

Sightseeing And Excursions 
Germany
Heidelberg Free Time At The Altstadt - Old Town
Black Forest Visit The Heart Of Black Forest
See A Demonstration Of Cuckoo Clock Making

Switzerland
SchaffhausenSee The Magnificent Rhine Falls
Zurich Tour Of The City
Engelberg Excursion To Mt. Titlis Included With Cliff Walk (Weather Permitting) 
Lucerne Orientation Tour Of The City
See The Lion Monument And The Kapell Brucke
Geneva Tour Of The City

Austria
Innsbruck Tour Of Innsbruck
Visit The Swarovski Crystal Showroom In Innsbruck

Italy
Venice Guided Tour Of Venice
Visit The Famous St. Mark’S Square
Visit The Murano Glass Factory And Showroom
Rome See The Majestic Trevi Fountain
Guided City Tour With An English Speaking Local Guide
Pisa See The Leaning Tower Of Pisa

The Vatican
Vatican City Visit The St. Peter’S Cathedral

France
Paris Guided City Tour With An English Speaking Local Guide
Entrance To The 2Nd Level Of The Eiffel Tower
Cruise On The River Seine

Accommodation
01 Night At Starkenburgerh Of Or Similar In Heppenheim
02 Nights At Hotel Dorint /Movenpick / Novotel / Meierhof / Dorfpark Or Similar, In Zurich / Gotzis
01 Night At Hotel Daporto / Tulip In / Campanile / Point / Marconi / Alfa Fiera Or Similar, In Padova / Vicenza
01 Night At Hotel Roma Sud / Ibis Or Similar, In Rome
01 Night At Hotel Euro / Granduca / Park Hotel California Or Similar In Pisa / Altopascio
01 Night At Hotel Ibis / Mercure / Park Inn Suites / Holiday Inn Or Similar, In Bourg En Bresse
02 Nights At Hotel Mercure / Novotel / Ibis Or Similar, In Paris

Meals (Abbrev - BBreakfast, DDinner)
Daily Continental Buffet Breakfast
Daily Indian Jain / Vegetarian / Non Vegetarian Dinners
Transfers
All Transfers And Extensive Excursions With Entrance Fees (As Specified In The Itinerary) By Deluxe Air Conditioned Coach In The Continent Of Europe

Airfare, Visas And Overseas Travel Insurance
Return Economy Class Group Airfare As Per The Itinerary
Cost Of Ticket Taxes
Cost Of Overseas Travel Insurance For The Duration Of The Tour
Cost Of Multiple Entry Schengen Visa
All Local Taxes As Of 01St October 2016

Tour Manager
Services Of A Professional And Experienced Tour Manager Or A Local Representative Throughout Your Tour In EuropeWhat Your Tour Price Does Not Include
Cost of deviation - In case you wish to deviate from the group departure dates mentioned in the brochure i.e. either travel before the departure date of your tour or would like to come back on a later date after the tour ends, there will be an additional charge that will be applicable which will be advised to you by our sales team / partner agent. The same subject to availability of seats for the given dates & ticket validity. Kindly also note, the deviation request is to be made at the time of booking or at least 45 days prior to departure date.
Tour cost is subject to GOI/RBI regulations under Liberalised Remittance Scheme (LRS)
No Porterage included
Any increase in the rate of exchange leading to an increase in surface transportation and land arrangements, which may come into effect prior to departure. Prices quoted are as 1 EURO = INR 77. The tour price is subject to increase without notice if this rate changes substantially prior to the departure of your tour
Any expenses of personal nature such as laundry, wines, mineral water, food and drink not in the regular menu provided by us, pay TV, mini-bar, telephone calls, etc.
Meals other than what is mentioned in your Itinerary i.e. only continental buffet breakfasts & dinners (no lunches)
Cost of excursions, city sightseeing, entrance fees and local guides other than that mentioned in “What Your Tour Price Includes.
Tips to drivers, guides, etc of EUR 03 per person per day for the duration of the tour.
Cost of excursion to Euro Disney
Cost of Lido Show
Overseas Travel Insurance
It is extremely important to possess an Overseas Travel Insurance policy before you travel on your tour. We have included the cost of overseas travel insurance for the duration of the tour. For any passengers above 60 years of age and those who wish to extend their holiday, additional charges would apply.20-0231-07",
		      "name": "European Memories Tour",
		      "telephone": "+91-9945526383"
		    }
		    </script>
			";i:5;N;}