a:6:{i:0;s:61905:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>European Extravaganza Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.bhramandeshvidesh.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.bhramandeshvidesh.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> European Extravaganza Tour</p>
						</div>
						</div>
						</section>
										<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="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106290.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106290.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106290.jpg"  alt="European Extravaganza Tour" title="European Extravaganza Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106291.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106291.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106291.jpg"  alt="European Extravaganza Tour" title="European Extravaganza Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106292.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106292.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106292.jpg"  alt="European Extravaganza Tour" title="European Extravaganza Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106293.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106293.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106293.jpg"  alt="European Extravaganza Tour" title="European Extravaganza Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
							
							<ul class="lsn" id="bxslider-pager"><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106290.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106291.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106292.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106293.jpg"></a></li></ul>					
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">European Extravaganza Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						14 Nights / 15 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> London, Paris, Venice, Cologne, Brussels, Amsterdam, Rome, Pisa, Zurich, Schaffhausen, Vaduz, Vatican City</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="European Extravaganza Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="55349"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">A complete all-inclusive tour at an honest price with maximum quality sightseeing and minimum traveling time.<br />
Stay in top quality hotels.<br />
All hot delicious unlimited Indian Jain / vegetarian / non-vegetarian meals included.<br />
Enjoy a welcome Indian dinner with unlimited wine in Rome.<br />
Enjoy daily buffet breakfast.<br />
A choice of local meals in few countries.<br />
Guided city tour of Rome & Vatican City.<br />
A visit to the Vatican Museum including the Sistine Chapel.<br />
Visit the Colosseum from inside - amphitheatre famous for gladiator fights.<br />
See the Leaning Tower of Pisa - one of the wonders of the world.<br />
Guided city tour of Florence.<br />
Visit the Murano glass showroom in Venice.<br />
Romantic gondola ride in Venice.<br />
Relish Indian lunch on board a private cruise in Venice with live Italian music.<br />
See the Golden Roof and Maria Theresien Strasse in Innsbruck.<br />
Visit the famous Swarovski Crystal museum and showroom in Wattens.<br />
Mini train ride in Vaduz.<br />
Stay 03 nights in scenic Switzerland.<br />
Enjoy a fun-filled Thomas Cook Swiss experience.<br />
Cherish an experience to be on top of Europe - Jungfraujoch with Jain / vegetarian /non vegetarian lunch &Champagne.<br />
Visit scenic Interlaken.<br />
Visit Mt. Titlis in the world’s first revolving cable car.<br />
Gala night on Lake Cruise with Indian dinner and music.<br />
Boat ride at the spectacular Rhine Falls in Schaffhausen.<br />
Visit Titisee, right in the heart of the Black Forest.<br />
See a cuckoo clock demonstration at Drubba.<br />
Enjoy a scenic cruise on the river Rhine.<br />
Visit the historical Cologne Cathedral.<br />
Orientation tour of Brussels<br />
Photostop at Atomium<br />
Visit the famous Dam Square - the heart of Amsterdam.<br />
See both Keukenhof and Madurodam.<br />
Catch a breathtaking view of Amsterdam city on a canal cruise.<br />
Guided city tour of Paris<br />
Visit the 3rd level of the Eiffel Tower.<br />
A day full of fun at Euro Disney OR Visit the magnificent Versailles Palace and the world famous Louvre Museum.<br />
Romantic Seine cruise in Paris.<br />
Chance to see the extravagant Lido Show.<br />
A unique experience of travelling under the English Channel aboard the world’s fastest Chunnel train - the Eurostar.<br />
Stay 02 nights in London with all meals included.<br />
Guided city tour of London with Changing of the guards.<br />
Entrance to the Tower of London housing Britain’s crown jewels including the Kohinoor Diamond.<br />
Visit Madame Tussaud’s wax museum.<br />
Ride on the London Eye.<br />
Guided tour of the ‘Mecca of cricket’ - Lord’s cricket ground in London.<br />
Professional, friendly, multilingual and experienced Indian Tour Managers traveling with you throughout your tour in Europe.<br />
Visit 10 countries in 15 days: Italy, Vatican City, Austria, Liechtenstein, Switzerland, Germany, Belgium, Netherlands, France and UK.If you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to availability of seats for the given dates & ticket validity) which will be advised to you by your sales staff / travel agent. Kindly note, the deviation will be actioned only 30 days prior to departure date.<br />
In case your tour is not ending in United Kingdom and you wish to return from London or any other city in the United Kingdom, the additional charge towards UK departure tax will be applicable.<br />
Cost of Basic Travel Quota equivalent to USD 10,000.<br />
Any increase in the airfare charged by the airline on your air ticket (presently calculated as of October 1st 2015 rates).<br />
Taxes as applicable are extra.<br />
The tour cost does not include POE charges and passport charges.<br />
No porterage included.<br />
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the regular menu provided by us, minibar, telephone calls etc.<br />
Tips of any nature i.e. drivers, guides, etc.<br />
Meals other than that what is mentioned in your itinerary.<br />
Cost of excursions, city sightseeing, entrance fees and local guides availed of by the passengers, other than that mentioned in ‘What your tour price includes’.<br />
Cost of Lido Show.25-0420-09</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> All flights lead to Rome the eternal city with world-renowned majestic monuments, enormous squares										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Bon voyage! Today you are off on your exciting European tour with Thomas Cook, as you board your flight to Rome - the incomparable home of architectural and artistic masterpieces of the ancient world. Arrive at Rome airport, where you will be greeted by your friendly Thomas Cook Tour Manager outside the baggage hall. We shall then proceed to your conveniently located hotel and check-in first. Freshen up and relax in the comfort of your hotel room. Tonight, we have arranged a welcome Indian dinner with unlimited wine specially for all our valued guests in a restaurant<br />
Overnight at Sheraton/ Holiday Inn or similar, in Rome															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Visit the World’s smallest country - the Vatican City which includes the Vatican Museum, the										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast this morning, check out of your hotel, board your deluxe air-conditioned coach and proceed with an expert English-speaking guide to the Vatican City (shorts or sleeveless vests not allowed). Visit the Vatican Museum along with the world- famous Sistine Chapel – a pure source of inspiration for art lovers and tourists, specially included on your tour. Later visit the holy Basilica of St. Peter’s – the incomparable home of architectural and artistic masterpieces by Michelangelo and Bernini. Next, visit the imposing Colosseum from inside known for its gladiator fights. The tour of Rome is incomplete without visiting this 2000 year-old stone ruin. Also see the Victor Emmanuel Monument, the Roman Forum and many more sights of this historic city. Today, enjoy an Indian lunch in an Indian restaurant before you commence your onward journey towards Pisa. Later, check into your hotel and relax. Tonight, we have arranged a delicious Indian buffet dinner in the comfort of your hotel.<br />
Overnight at Hotel Wallart Art / Hotel Star Vespucci or similar in Prato / Pisa / Florence.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Pisa - Marvel at one of the wonders of the world - The Leaning Tower of Pisa. Guided city tour o										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast, check-out and proceed to Pisa to visit the Square of Miracles. Remain spellbound as you approach this precariously leaning tower. Photograph your family with the Leaning Tower in the backdrop. You also have some free time to shop. Next, proceed to Florence, the capital of Tuscany. After a delicious Indian lunch, meet your English speaking local guide for a city tour of Florence, including the Duomo, the Campanile, the Baptistry with its Gates to Paradise, Piazza Della Signoria – an open-air museum of sculptures, the famous Ponte Vecchio – bridge across the river Arno. Drive to Piazzale Michelangelo, a square on top of a hill with its replica of the impressive statue of David and enjoy a bird’s eye view of the city of Florence. Later, drive towards Padova to check into your hotel. Freshen up and then enjoy a delicious hot Indian dinner in the comfort of your hotel.<br />
Overnight at Four point by Sheraton / Radisson/Le Terrazze or similar in Padova /Abano Terme /Treviso.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Romantic Venice - crossed by canals, beautiful monuments, the city that inspires poetry and passio										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast at the hotel, check-out and drive to the pier and board a private boat to the heart of the traditional city of Venice - The St. Mark’s Square. Sail over the Guidecca Canal, as you catch a glimpse of the serene waters of the Adriatic Sea. On arrival, admire the St. Mark’s square with the Basilica, Doge’s Palace, Campanile and Bridge of Sighs. You will be taken on an unforgettable gondola ride through the smaller canals for a true picture of this lagoon city. Also visit the Murano Glass showroom. Today we have specially arranged a hot Indian lunch with some lively scintillating Italian music on board a private cruise for our valued guests. Return to the pier and continue on your journey towards picturesque Austria by the scenic Brenner pass. On arrival, see the Golden Roof and the Maria Theresien Strasse. This evening, enjoy delicious Indian dinner.<br />
Overnight at Hotel Grauer Baer / Hilton/ or similar, in Innsbruck.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Visit the famous Swarovski Museum - the headquarters of crystals. Mini train ride in Vaduz. Enjoy										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												This morning, after a continental buffet breakfast, check-out and proceed to Wattens, where you will visit the world famous Swarovski Crystal Museum. Enjoy a fascinating experience into the ‘world of crystals’. A great opportunity to buy a souvenir for your family. This afternoon, enjoy a delicious hot Indian and Chinese meal for lunch. Later proceed to Vaduz - the capital city of Liechtenstein. Enjoy orientation tour of the city in a mini train ride. Later proceed towards Switzerland. Today, we have arranged a Thomas Cook Swiss experience for our valued guests. Here, enjoy interesting activities. What’s more. we have arranged a Swiss party with Bollywood music & some traditional Swiss cheese fondue, chocolates and black apple vodka. Continue on your scenic drive, as you arrive to the hotel. Tonight, enjoy authentic Indian dinner specially prepared for you at a restaurant.<br />
Overnight at Hotel Swissotel/ Seedamn Plaza/ Kameha Grand/ Dolder Waldhaus Hotel or similar in Central Switzerland/Zurich.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Join us on an all inclusive Alpine excursion tour to the wonderful world of Jungfraujoch - the top										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												This morning, after a continental buffet breakfast, get ready for an adventurous ride to visit Jungfraujoch<br />
- The Top of Europe, for a memorable encounter with snow and ice - a genuine ‘high-point’ of your tour! Sit back in your coach as we proceed to the beautiful town of Grindelwald / Lauterbrunnen, where the excitement continues. You will be amazed at the scenic splendour that you see from aboard the ‘cogwheel’ train, which takes you to a height of 3,454 metres to reach Jungfraujoch! Experience the magic of the mountains and visit the Ice Palace on top of the longest glacier in the Alps. A visit to the Sphinx is also included. Today, relish an Indian lunch with champagne arranged for you at Jungfraujoch – one of the many great experiences on your tour! Later, we visit the charming city of Interlaken. Be mesmerized with the scenic beauty of this city which is nestled between two lakes and surrounded by the splendid Bernese Oberland Mountains. Treasure these wonderful moments as you drive back to your hotel. This evening enjoy a Indian dinner specially prepared for you at an Indian restaurant.<br />
Overnight at Hotel Swissotel/ Seedamn Plaza/ Kameha Grand/ Dolder Waldhaus Hotel or similar in Central Switzerland/Zurich.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Today, get set for a day full of fun and excitement as we take you to visit Mt. Titlis with its beau										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast at your hotel, we take you on one of the most memorable experiences of your Europe tour - visiting Mt. Titlis and Lucerne. Adventure awaits you in an ALL NEW cable car ride up to Mt. Titlis. Marvel at the world’s first revolving cable-car ride, a truly once-in-a lifetime experience. Experience the snow and ice on top of Mt. Titlis. Do not forget to visit the new attraction “Cliff Walk” Later, enjoy a delicious Indian lunch specially prepared for our valued Thomas Cook guests. Next, we proceed to scenic Lucerne, where you will visit the Lion Monument and the Kapell Brucke wooden bridge. Later, you have some free time to shop for famous Swiss watches, knives and chocolates. Enjoy a Gala Dinner on Scenic Lake cruise - dance your heart out to some pulsating bollywood music and dine in style.<br />
Overnight at Hotel Swissotel/ Seedamn Plaza/ Kameha Grand/ Dolder Waldhaus Hotel or similar in Central Switzerland/Zurich.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 8											
											:</b> Enjoy a boat ride at the spectacular Rhine Falls in Schaffhausen. Onto Titisee - heart of the Black										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast at the hotel, check out, sit back and relax in your coach as we drive into Schaffhausen. Here, enjoy the beautiful view of the Rhine falls, while enjoying a boat ride at the falls. Later, cross over into Germany and arrive at the breathtakingly beautiful lake of Titisee. This is the heart of the Black Forest, surrounded by dark fir forests, fairy tale woods and flowering meadows. This afternoon, enjoy an Indian lunch with an authentic black forest cake. Later we vist ‘Drubba’, the home of the world famous cuckoo clock. Get invited for a free demonstration and buy one for your home – a prized possession. Later this evening, enjoy a hot Indian dinner in Indian restaurant.<br />
Overnight at the Holiday Inn /Park Inn / NH / Intercity or similar in Rhineland.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 9											
											:</b> A romantic cruise on the River Rhine, visit the biggest Gothic Cathedral in Europe - the Cologne										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast, check-out and proceed to board your scenic cruise on the River Rhine. Cruising down the Rhine you will pass steep slopes covered with vineyards. Later, board your coach again and drive to Cologne. Visit the impressive Cologne Cathedral, a fine example of amazing Gothic architecture. Today, enjoy a hot Indian lunch. Next, proceed to Brussels to visit the world renowned Grand Place and the legendary Mannekin Pis statue. Drive past St. Michael’s Church. A photo stop at the Atomium is also included. Later, check into your hotel. Tonight, you will enjoy a hot delicious Indian dinner arranged in the comfort of your hotel.<br />
Overnight at Holiday Inn/ Hotel Novotel or similar in Eindhoven.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 10											
											:</b> Onto Amsterdam - a city full of surprises. Visit Madurodam - Holland in miniature. Also visit Keuk										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast, sit back and relax in your coach as we proceed to Keukenh of - the largest spring garden in the world. Bulbs of colorful tulips bloom only till May 16th. Be enchanted by the indoor floral displays. Proceed to amsterdam for Indian lunch. Later board your glass-topped boat for an exciting canal cruise. Later, visit the famous Dam Square - the real heart of Amsterdam, where the Royal Palace, the Nieuwe Kerk and the War Memorial overlooks this vast and bustling open space . Next, visit Madurodam, where you can see most of Holland in miniature, replicated in minute detail on a 1:25 scale. Drive back to your hotel where a hot Indian dinner awaits you.<br />
17th May onwards, after continental buffet breakfast we visit Maduroadm where you can see most of Holland in miniature, replicated in minute detail on a 1:25 scale. Later visit a cheese farm and a wooden shoe factory. See a demonstration of how cheese is made and wooden shoes are carved out of wooden blocks. You also have a chance to savour some cheese. Next, stop at a windmill – the most common sight in Holland for a photograph. Later enjoy Indian lunch. Next board your glass-topped boat for an exciting canal cruise. Later, visit the famous Dam Square - the real heart of Amsterdam, where the Royal Palace, the Nieuwe Kerk and the War Memorial overlooks this vast and bustling open space . Next visit Volendam a picturesque town, with its little wooden houses, the quaint harbor and its people in graceful traditional costumes. Drive back to your hotel where a hot Indian dinner awaits you.<br />
Overnight at Holiday Inn/ Hotel Novotel or similar in Eindhoven.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 11											
											:</b> Bien Venue Welcome to the Glamour capital of the world - Paris known for fashion houses, art museum										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Check out of your hotel after a continental buffet breakfast and proceed to the glamorous city of Paris. This afternoon, enjoy hot Indian Lunch. Next, we proceed to Paris city where we will take you on an exhilarating city tour with an English-speaking local guide, who will show you many of the best-loved Parisian sights – Alexander Bridge, Arc de Triomphe, Concorde Square, Opera House, Invalids, Champs Elysees and many more. Next, we shall then proceed to visit the top of the Eiffel Tower (3rd level), from where you will have a splendid view of this beautiful city. Later in the evening, enjoy hot Indian dinner. Tonight, you have a chance to experience the Glamour of the world-famous Lido show or relax in the comfort of your hotel.<br />
Overnight at Hotel Novotel / Mercure or similar, in Paris.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 12											
											:</b> Today, join us on a fun - filled trip to Disney Park OR Disney Studios, Europe’s most famous attra										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast at the hotel, join us for some fun, adventure and entertainment on our tour to Disney Park and enjoy the many rides (all included) Or you can visit the Disney Studios and be amazed at the stunning stunt shows, watch a film being shot and see real-life sets where famous movies were created. This afternoon, enjoy Packed Indian lunch. Watch Disney characters and thrill yourself on a day full of excitement. Later enjoy a romantic Seine cruise as we sail past some of the historical monuments on the river Seine. Tonight, enjoy a delicious Indian dinner before we drive back to the hotel.<br />
Overnight at Hotel Novotel / Mercure or similar, in Paris.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 13											
											:</b> Get set for the ride of your lifetime aboard the ultra - modern Eurostar, one of the world’s faste										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												This morning, after a continental buffet breakfast at your hotel, check out and drive to Gare Du Nord Station. Here, you will board the ultra-modern Eurostar, one of the world’s fastest trains. Traveling under the English Channel, reach Saint Pancras in approximately two hours. On arrival into London, enjoy hot lunch. We then take you to visit the famous Madame Tussaud’s wax museum. This museum houses a unique collection of world’s largest wax works of famous personalities, including India’s top leaders and film stars. Next, we take you on the famous London Eye - one of the world’s largest observation wheels. Be enchanted by this new and novel way of seeing the city from a bird’s eye view, as the London Eye takes you on a 30 minute flight, rising to 450 feet above the river Thames as the panorama of some of London’s most famous streets, churches, palaces and monuments are spread out before you. Tonight, enjoy an Indian meal for dinner and check into your hotel.<br />
Overnight at Hotel Copthorne / Hotel Holiday Inn or similar, in Central London			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 14											
											:</b> Enjoy the many sights of London on your guided tour including the Changing of Guards. Entrance										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast, we leave for a guided city tour with an expert English-speaking guide who will explain to you all the highlights of London’s landmarks: the Changing of Guards at Buckingham Palace, Hyde Park, the Big Ben, Westminster Abbey, Houses of Parliament, Trafalgar Square, Piccadilly Circus, Tower Bridge, River Thames and many more. We next visit The Tower of London from inside, an important sight not to be missed. The Tower of London houses the exquisite crown jewels including the Kohinoor diamond and many other British national treasures. Enjoy hot Indian lunch. Later, you have some free time to shop at many of London’s famous shopping stores like Marks and Spencer’s, Self ridges and many more on Oxford Street. This evening, Thomas Cook has specially arranged a guided tour of the world famous Lord’s cricket ground, a dream for every cricket lover. After a nostalgic evening at the Lord’s proceed to the restaurant where a delicious Indian dinner awaits you.<br />
Overnight at Hotel Copthorne / Hotel Holiday Inn or similar, in Central London.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 15											
											:</b> Fly back home										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet/boxed breakfast, we check out and 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. Do spare a few minutes to fill in the feedback form and hand it to your Tour Manager. Your valued suggestions will be most appreciated.			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																						<li>Transfers</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>If you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to availability of seats for the given dates & ticket validity) which will be advised to you by your sales staff / travel agent. Kindly note, the deviation will be actioned only 30 days prior to departure date.</li><li>
In case your tour is not ending in United Kingdom and you wish to return from London or any other city in the United Kingdom, the additional charge towards UK departure tax will be applicable.</li><li>
Cost of Basic Travel Quota equivalent to USD 10,000.</li><li>
Any increase in the airfare charged by the airline on your air ticket (presently calculated as of October 1st 2015 rates).</li><li>
Taxes as applicable are extra.</li><li>
The tour cost does not include POE charges and passport charges.</li><li>
No porterage included.</li><li>
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the regular menu provided by us, minibar, telephone calls etc.</li><li>
Tips of any nature i.e. drivers, guides, etc.</li><li>
Meals other than that what is mentioned in your itinerary.</li><li>
Cost of excursions, city sightseeing, entrance fees and local guides availed of by the passengers, other than that mentioned in ‘What your tour price includes’.</li><li>
Cost of Lido Show.</li></ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								April : 25<br />
May : 10, 31<br />
June : 12, 19, 27<br />
July : 11, 25<br />
Aug : 1, 22<br />
September : 20								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Departure Cities with rates</p>
								</div>
								EX-MUMBAI / DELHI / CHENNAI / HYDERABAD / AHMEDABAD / BENGALURU / KOLKATA / COCHIN								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<ul>
	<li><strong>Pls note this is just a quotation, rates and availability subject to change<u>.</u> </strong></li>
	<li><strong><u>3.65 % Service Tax will be applicable on Package Cost</u></strong></li>
	<li>Note that the above rates are subject to Availability at the time of Booking.</li>
	<li>No Rooms or Services have been blocked</li>
	<li>Check all inclusions as any additions will occur in extra charges.</li>
	<li>Rates are based on the requested dates</li>
	<li>Current rate of exchange will be applicable at the time of final payment</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="European Extravaganza 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="55349"/>
						</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.bhramandeshvidesh.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-faridabad.htm" title="Packages in Faridabad">Faridabad</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.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.bhramandeshvidesh.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-london.htm" title="Packages in London">London</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-bern.htm" title="Packages in Bern">Bern</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-berlin.htm" title="Packages in Berlin">Berlin</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-vienna.htm" title="Packages in Vienna">Vienna</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-rome.htm" title="Packages in Rome">Rome</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-amsterdam.htm" title="Packages in Amsterdam">Amsterdam</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-brussels.htm" title="Packages in Brussels">Brussels</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-kufri.htm" title="Packages in Kufri">Kufri</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</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.bhramandeshvidesh.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.bhramandeshvidesh.com/packages-in-palampur.htm" title="Packages in Palampur">Palampur</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.bhramandeshvidesh.com/packages-in-nainital.htm" title="Packages in Nainital">Nainital</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.bhramandeshvidesh.com/packages-in-mussoorie.htm" title="Packages in Mussoorie">Mussoorie</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.bhramandeshvidesh.com/packages-in-dehradun.htm" title="Packages in Dehradun">Dehradun</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.bhramandeshvidesh.com/packages-in-kandy.htm" title="Packages in Kandy">Kandy</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.bhramandeshvidesh.com/packages-in-prague.htm" title="Packages in Prague">Prague</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.bhramandeshvidesh.com/packages-in-nuwara-eliya.htm" title="Packages in Nuwara Eliya">Nuwara Eliya</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.bhramandeshvidesh.com/packages-in-colombo.htm" title="Packages in Colombo">Colombo</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.bhramandeshvidesh.com/packages-in-budapest.htm" title="Packages in Budapest">Budapest</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.bhramandeshvidesh.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.bhramandeshvidesh.com/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</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.bhramandeshvidesh.com/packages-in-mcleodganj.htm" title="Packages in Mcleodganj">Mcleodganj</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.bhramandeshvidesh.com/packages-in-pisa.htm" title="Packages in Pisa">Pisa</a> <b class="alpha50 bn small">(2)</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.bhramandeshvidesh.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(1)</b></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 London, Paris, Venice, Cologne, Brussels, Amsterdam, Rome, Pisa, Zurich, Schaffhausen, Vaduz</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.bhramandeshvidesh.com/tour-packages/european-royale-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106337.jpg"  alt="European Royale Tour" title="European Royale Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/european-royale-tour.htm" title="European Royale Tour"><h3>European Royale 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> : 
								17 Nights / 18 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Brussels, Amsterdam, Rome..</p>
															<div class="mt10px small">
							<form name="pkg_55398" id="pkg_55398" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/european-royale-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="European Royale 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="55398"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/europe-for-all-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106252.jpg"  alt="Europe For All Tour" title="Europe For All Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/europe-for-all-tour.htm" title="Europe For All Tour"><h3>Europe For All 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Brussels, Bern</p>
															<div class="mt10px small">
							<form name="pkg_55330" id="pkg_55330" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/europe-for-all-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Europe For All 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="55330"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/dilkash-europe-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106237.jpg"  alt="Dilkash Europe Tour" title="Dilkash Europe Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/dilkash-europe-tour.htm" title="Dilkash Europe Tour"><h3>Dilkash 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> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Rome, Bern</p>
															<div class="mt10px small">
							<form name="pkg_55319" id="pkg_55319" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/dilkash-europe-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dilkash 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="55319"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/european-grandeur-with-scottish-highlights-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106317.jpg"  alt="European Grandeur with Scottish Highlights Tour" title="European Grandeur with Scottish Highlights Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/european-grandeur-with-scottish-highlights-tour.htm" title="European Grandeur with Scottish Highlights Tour"><h3>European Grandeur With Scottish Highlights..</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> : 
								20 Nights / 21 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Berlin, Amsterdam, Rome, ..</p>
															<div class="mt10px small">
							<form name="pkg_55380" id="pkg_55380" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/european-grandeur-with-scottish-highlights-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="European Grandeur with Scottish Highlights 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="55380"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/bestof-europe-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106229.jpg"  alt="Best of Europe Tour" title="Best of Europe Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/bestof-europe-tour1.htm" title="Best of Europe Tour"><h3>Best Of 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> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Berlin, Brussels, Amsterd..</p>
															<div class="mt10px small">
							<form name="pkg_55317" id="pkg_55317" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/bestof-europe-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Best of 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="55317"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/european-extravaganza-reverse-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106305.jpg"  alt="European Extravaganza Reverse Tour" title="European Extravaganza Reverse Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/european-extravaganza-reverse-tour.htm" title="European Extravaganza Reverse Tour"><h3>European Extravaganza Reverse 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> : 
								14 Nights / 15 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Berlin, Brussels, Amsterd..</p>
															<div class="mt10px small">
							<form name="pkg_55368" id="pkg_55368" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/european-extravaganza-reverse-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="European Extravaganza Reverse 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="55368"/>
							</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:67:"Book European Extravaganza Tour - 14 Nights / 15 Days Tour Packages";i:2;s:222:"book european extravaganza tour - 14 nights / 15 days tour packages, forts and palaces tour packages, london, paris, venice, cologne, brussels, amsterdam, rome, pisa, zurich, schaffhausen, vaduz, vatican city tour packages";i:3;s:281:"Book European Extravaganza Tour - 14 Nights / 15 Days tour packages from Bhraman Tours and Travels - Get attractive 14 Nights / 15 Days Forts and Palaces  tour packages for  London, Paris, Venice, Cologne, Brussels, Amsterdam, Rome, Pisa, Zurich, Schaffhausen, Vaduz, Vatican City.";i:4;s:4662:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Paris, Venice, Cologne, Brussels, Amsterdam, Rome, Pisa, Zurich, Schaffhausen, Vaduz, Vatican City"        
		                 },
		      "description": "A complete all-inclusive tour at an honest price with maximum quality sightseeing and minimum traveling time.
Stay in top quality hotels.
All hot delicious unlimited Indian Jain / vegetarian / non-vegetarian meals included.
Enjoy a welcome Indian dinner with unlimited wine in Rome.
Enjoy daily buffet breakfast.
A choice of local meals in few countries.
Guided city tour of Rome & Vatican City.
A visit to the Vatican Museum including the Sistine Chapel.
Visit the Colosseum from inside - amphitheatre famous for gladiator fights.
See the Leaning Tower of Pisa - one of the wonders of the world.
Guided city tour of Florence.
Visit the Murano glass showroom in Venice.
Romantic gondola ride in Venice.
Relish Indian lunch on board a private cruise in Venice with live Italian music.
See the Golden Roof and Maria Theresien Strasse in Innsbruck.
Visit the famous Swarovski Crystal museum and showroom in Wattens.
Mini train ride in Vaduz.
Stay 03 nights in scenic Switzerland.
Enjoy a fun-filled Thomas Cook Swiss experience.
Cherish an experience to be on top of Europe - Jungfraujoch with Jain / vegetarian /non vegetarian lunch &Champagne.
Visit scenic Interlaken.
Visit Mt. Titlis in the world’s first revolving cable car.
Gala night on Lake Cruise with Indian dinner and music.
Boat ride at the spectacular Rhine Falls in Schaffhausen.
Visit Titisee, right in the heart of the Black Forest.
See a cuckoo clock demonstration at Drubba.
Enjoy a scenic cruise on the river Rhine.
Visit the historical Cologne Cathedral.
Orientation tour of Brussels
Photostop at Atomium
Visit the famous Dam Square - the heart of Amsterdam.
See both Keukenhof and Madurodam.
Catch a breathtaking view of Amsterdam city on a canal cruise.
Guided city tour of Paris
Visit the 3rd level of the Eiffel Tower.
A day full of fun at Euro Disney OR Visit the magnificent Versailles Palace and the world famous Louvre Museum.
Romantic Seine cruise in Paris.
Chance to see the extravagant Lido Show.
A unique experience of travelling under the English Channel aboard the world’s fastest Chunnel train - the Eurostar.
Stay 02 nights in London with all meals included.
Guided city tour of London with Changing of the guards.
Entrance to the Tower of London housing Britain’s crown jewels including the Kohinoor Diamond.
Visit Madame Tussaud’s wax museum.
Ride on the London Eye.
Guided tour of the ‘Mecca of cricket’ - Lord’s cricket ground in London.
Professional, friendly, multilingual and experienced Indian Tour Managers traveling with you throughout your tour in Europe.
Visit 10 countries in 15 days: Italy, Vatican City, Austria, Liechtenstein, Switzerland, Germany, Belgium, Netherlands, France and UK.If you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to availability of seats for the given dates & ticket validity) which will be advised to you by your sales staff / travel agent. Kindly note, the deviation will be actioned only 30 days prior to departure date.
In case your tour is not ending in United Kingdom and you wish to return from London or any other city in the United Kingdom, the additional charge towards UK departure tax will be applicable.
Cost of Basic Travel Quota equivalent to USD 10,000.
Any increase in the airfare charged by the airline on your air ticket (presently calculated as of October 1st 2015 rates).
Taxes as applicable are extra.
The tour cost does not include POE charges and passport charges.
No porterage included.
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the regular menu provided by us, minibar, telephone calls etc.
Tips of any nature i.e. drivers, guides, etc.
Meals other than that what is mentioned in your itinerary.
Cost of excursions, city sightseeing, entrance fees and local guides availed of by the passengers, other than that mentioned in ‘What your tour price includes’.
Cost of Lido Show.25-0420-09",
		      "name": "European Extravaganza Tour",
		      "telephone": "+91-9711158456"
		    }
		    </script>
			";i:5;N;}