a:6:{i:0;s:19792:"				<div class="h1"><h1>European Dream - Summer Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travvelextent.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travvelextent.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>European Dream - Summer 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">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Paris, Milan, Berlin, Amsterdam, ‎Bern</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.travvelextent.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="European Dream - Summer 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="20842"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_10/274422/38262.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/274422/38262.jpg"  width="150" height="150"    alt="European Dream - Summer Tour" title="European Dream - Summer Tour" /></a></p></div></li>
																		<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_10/274422/38263.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/274422/38263.jpg"  width="150" height="150"    alt="European Dream - Summer Tour" title="European Dream - Summer Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					13-0231-07<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> Paris - City tour and Eiffel Tower
								</p>
								<p class="aj">Welcome to the City Of Lights – Paris, which is celebrated for its beautiful city plan, its architecture, museums, bridges, cathedrals, parks, shopping, flea markets, sidewalk cafés, wide and luxurious boulevards, elegant cuisine, and numerous monuments. Today, we visit the most famous landmark of Paris, the Eiffel Tower, and enjoy a panoramic view of the city from its 2nd level. Built in 1889, and designed by the young engineer Gustav Eiffel, the tower stands 324 metres (1,063 feet) tall. Later, embark on a City Tour of Paris to witness sights such as Arc De Triomphe, Champs Elysees, Grand Palais, Petit Palais, National Assembly, Alexander Bridge, Concorde Square, Magdalene Church, Opera Garnier, Louvre Palace, Cite Island, French Academy, Sorbonne University, Orsay Museum, Church of the Invalides, Military Academy, Trocadero Square, Palais De Chaillot and the Notre Dame Cathedral. Enjoy a comfortable overnight stay at the hotel.</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> Paris - Optional: Disneyland - Optional: An Evening In Paris with Montparnasse Tower and lido.
								</p>
								<p class="aj">After a delectable breakfast, enjoy the day at leisure OR join us for an adventurous and funfilled time at Disneyland Paris, where you can enjoy many thrilling rides and fascinating shows. Meet your favourite cartoon characters and enjoy the jovial atmosphere with your whole family. The resort offers a plethora of attractions and theme parades from the wonderful world of Disney.<br />
Later in the evening you have an opportunity to embark on an exceptional optional tour, An Evening in Paris which includes drives past the famous monuments and buildings of Paris at night to witness their dazzling illumination, along with this we visit the Montparnasse Tower, which is a 210 meter skyscraper and is one of the tallest skyscrapers in Paris, enjoy Parisian's most outstanding monuments and neighbourhoods from the 56th floor. Continue on the optional tour to experience one of the most famous night shows in the world called ‘Lido De Paris’. This is the place to enjoy life like a true Parisian, sipping a glass of champagne and enjoying the scintillating performances. Return to the hotel after the tour for a comfortable overnight stay.</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> Orientation Tour of Brussels
								</p>
								<p class="aj">After a hearty breakfast, we proceed to Brussels – capital of the European Union and the capital of Belgium. Upon arrival, begin your orientation tour, which will include sights such as the Grand Place and its famous guild houses, City Museum, Town Hall, House of the Dukes of Brabant, Manneken Pis, Royal Palace, Royal Park, Palace of Justice and the Museum of Fine Arts. Thereafter, enjoy a photo-stop at the Atomium, which was built for the 1958 World Fair. Enjoy a comfortable overnight stay at the hotel.</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> The Netherlands
								</p>
								<p class="aj">After breakfast today, you will transfer to Amsterdam, the financial and cultural capital of the Netherlands. The best way to experience Amsterdam is on a traditional Canal Cruise. These glass-topped boats offer unobstructed views of the splendour of Amsterdam. After the cruise, visit one of the most famous wooden shoe factories of Holland and witness a free demonstration of the history, traditions and the making of authentic Dutch wooden shoes. After the demonstration, take a short stop for a photograph at a windmill, one of the most distinctive sights of the Netherlands.<br />
For tours between late March and mid-May: Proceed to Keukenhof, which is the world's largest Tulip garden. Open from late March to mid-May, it attracts over a million visitors – in a mere eight weeks – who come to see the vibrant flowers (tulips, daffodils, and many more) in full bloom.<br />
 (Please note: The Keukenhof Gardens are open between late March to mid-May only. Groups on the tour commencing post mid-May shall visit Madurodam in The Hague instead.)<br />
 For tours after mid-May:<br />
Later, visit Madurodam, which is a beautiful miniature model of a typical Dutch town, downsized in the ratio of 1:25. It also contains many famous miniature landmarks, which are absolute copies of the real ones. Enjoy a comfortable overnight stay at the hotel.</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> Proceed to Cologne, Black Forest with Cuckoo Clocks
								</p>
								<p class="aj">After breakfast today, we proceed to Cologne to visit the city's UNESCO World Heritage site, the Cologne Cathedral. It is also one of Europe's most spectacular cathedrals and has to its credit the tag of being the largest Gothic cathedral north of the Alps. The twin spires (standing 157 metres tall) and the beautiful stained-glass windows are the highlights of this cathedral. The Cologne Cathedral also has a reputation of being the most visited tourist monument in Germany. Thereafter, we proceed to the scenic Black Forest in the southwest region of Germany. Rolling hills dotted with old farm houses, traditional wineries and valleys with lakes, rivers and waterfalls, the Black Forest is a beautiful place to be. Some of the world's best-quality wood products and the world's prettiest and best-preserved forests are in this region. Almost 200 kilometers long and 60 kilometers wide, the Black Forest is not the only one with most variety, but is also one of the biggest and best known holiday regions in Germany. The Black Forest maids, Black Forest farms, Black Forest gateau, Bollenhut hats and Cuckoo Clocks – the Black Forest embodies everything that one might expect of a picture perfect German holiday. Also, take a stop at Hofgut Sternen in the heart of the Black Forest to witness how the famous and original Cuckoo Clocks of Hofgut Sternen are made. Enjoy a comfortable overnight stay at the hotel.</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> Rhine Falls, Orientation tour of Zurich, and Lucerne
								</p>
								<p class="aj">After breakfast today, proceed to Schaffhausen to witness the grandeur of the magnificent Rhine Falls, one of the largest waterfalls of Europe. Later, we proceed to Zurich for an orientation tour including sights such as Bahnhofstrasse, the Gross Munster, the Frau Munster, the Rathaus and St. Peter's Church. With a diameter of 8.7 metres (28 feet), the clock face of St. Peter's Church is the largest in all of Europe. Thereafter, proceed to Lucerne, a beautiful city located at the northern tip of Lake Lucerne, where you will see the Lion Monument called Lowendenkmal built in memory of the loyal Swiss guards. Stroll along the banks of Lake Lucerne to experience attractions like the Kapellbrucke – The Chapel Bridge and the Spreuerbrucke, the two traditional wooden bridges of Lucerne. Spend some free time shopping at the famous ’Bucherer’ for Swiss watches, jewellery and souvenirs. Enjoy a comfortable overnight stay at the hotel.</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> Switzerland (Optional tour of Jungfraujoch and Interlaken with Indian lunch)
								</p>
								<p class="aj">After breakfast today, enjoy the day at leisure in the serene and soothing environs of Switzerland or make use of the free time to embark on an optional tour to visit Jungfraujoch, often referred to as the Top of Europe. Also, visit the charming town of Interlaken. Jungfraujoch makes for a memorable encounter with snow and ice, and has all it takes to become the high point of any tour of Europe. Tourists are often amazed at the scenic splendour they witness from the Cog-Wheel train that climbs up to a height of 11,333 feet to reach Jungfraujoch, the highest railway station in the world. The Cog- Wheel train is one of the best, most incredible train journeys in the world. The views of Switzerland from atop the mountain are amazingly panoramic and breathtaking. Later on, drive to Interlaken, which is a world famous Swiss town located in the Bernese Oberland mountains between the lakes of Thun and Brienz. Finally, return to the hotel for a comfortable overnight stay.</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> Mt. Titlis with Ice Flyer, Snow Park (Optional Tour) and Milan )
								</p>
								<p class="aj">After a scrumptious breakfast, enjoy the morning at leisure OR begin the adventurous journey to Mt. Titlis. On a hair-raising and unforgettable 45 minutes long ride to the top, switching three different cable cars, the ride is nothing short of awe-inspiring as you'll witness the scenery change from green meadows and scenic lakes to snow clad mountains. The last leg of the ride is on the famous Rotair, which is the world's first revolving cable car that offers beautiful panoramic views of the surrounding glaciers, mountains and scenery. Once atop Mt. Titlis, what awaits visitors is breathtaking views of the Alps from either the sun terrace or from the famous ’south face window’ of the mountain. If the weather permits you can also enjoy a thrilling ride on the famous 'Ice Flyer' along with the snow park. After the great Mt. Titlis experience, we proceed to Milan to do the orientation tour with the breathtaking Duomo and its magnificent square, we also see the Scala Museum and Theatre, proceeding to Galleria Vittorio Emanuele – which is a double arcade in the center of Milan, Italy. The structure is formed by two glass-vaulted arcades intersecting in an octagon covering the street connecting Piazza del Duomo to Piazza della Scala. This Galleria connects two of Milan's most famous landmarks: The Duomo and the Teatro Alla Scala, but the Galleria is a landmark on its own right. Proceed to the hotel for a comfortable overnight stay.</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> Departure
								</p>
								<p class="aj">After a hearty breakfast, we bid adieu to Europe as we receive a transfer to the airport in time to board your flight back home. With an enriching experience of a lifetime, we leave with new friends and happy memories of one of the most beautiful continents on Earth.</p>					
									<p><b>Meals : </b> Breakfast</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>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>Single room supplement would be Euro 249 Rate of Exchange (ROE) taken for computing the above price is Rs. 80 to a Euro. In the event of any increase in the ROE taken into account, the prices defined may be amended The 3rd person sharing the room is provided with an additional mattress or a rollaway bed As per EU hotel occupancy regulations, a maximum 3 persons are allowed in one room The taxes and visa charges mentioned are as on date of brochure going to print (November 1, 2013) and may be amended in the event of any changes A surcharge may be applicable for certain departures Tips of 2 Euro per person per day to drivers etc.,is not included Any increase in airfare and airline taxes charged by the airlines on your ticket calculated as on November 1, 2013, is not included Cost of deviation and cost of extension of the validity on your ticket is not included Porter fee at hotels, airports and seaports is not included Cost of expenses of personal nature such as, laundry, telephone calls, room service, alcoholic beverages, mini bar charges etc., is not included Any other items not mentioned in the Inclusions list is not included In case of unavailability in mentioned hotels, arrangement for an alternate accommodation will be made in a hotel similar standard Service tax extra, as applicable.</li>
</ul>						
    	<p class="h dif xlarge b mb5px">Return flight included Information</p>
    	<div class="otherDetails aj">Other Information :-<br>
Flight details are tentative</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">QATAR AIRWAYS</td>
				<td class="data p5px">Delhi</td>
				<td class="data p5px">Dep: 04:50 AM</td>
				<td class="data p5px">1 stop 1 hr 55 mins ...Paris</td>
				<td class="data p5px">Arr: 02:25 PM</td>
			</tr>
			<tr>
				<td class="data p5px">QATAR AIRWAYS</td>
				<td class="data p5px">Milan</td>
				<td class="data p5px">Dep: 12:00 PM</td>
				<td class="data p5px">1 stop 2 hrs 10 mins ...Delhi</td>
				<td class="data p5px">Arr: 06:50 PM</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travvelextent.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="European Dream - Summer 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="20842"/>
						</form>
						</div>
						
						";i:1;s:67:"Book European Dream - Summer Tour - 8 Nights / 9 Days Tour Packages";i:2;s:147:"book european dream - summer tour - 8 nights / 9 days tour packages, heritage tour packages, paris, milan, berlin, amsterdam, ‎bern tour packages";i:3;s:193:"Book European Dream - Summer Tour - 8 Nights / 9 Days tour packages from Travvel Extent - Get attractive 8 Nights / 9 Days Heritage  tour packages for  Paris, Milan, Berlin, Amsterdam, ‎Bern.";i:4;s:450:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Milan, Berlin, Amsterdam, ‎Bern"        
		                 },
		      "description": "13-0231-07",
		      "name": "European Dream - Summer Tour",
		      "telephone": "+91-9706071620"
		    }
		    </script>
			";i:5;N;}