a:6:{i:0;s:48798:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Enchanting East Europe 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> Enchanting East Europe 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/106241.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106241.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106241.jpg"  alt="Enchanting East Europe Tour" title="Enchanting East Europe 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/106242.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106242.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106242.jpg"  alt="Enchanting East Europe Tour" title="Enchanting East Europe 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/106243.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106243.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106243.jpg"  alt="Enchanting East Europe Tour" title="Enchanting East Europe 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/106241.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106242.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106243.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">Enchanting East Europe Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						8 Nights / 9 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Berlin, Budapest, Prague, Vienna</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="Enchanting East Europe 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="55320"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">Enchanting East Europe - only with Thomas Cook.<br />
All delicious Jain/vegetarian/ non-vegetarian meals included.<br />
Guided city tour of Berlin.<br />
See the historic Berlin Wall and the Brandenburg Gate in Berlin.<br />
Visit Alexander Platz - in the heart of Berlin.<br />
Orientation tour of Dresden.<br />
Guided city tour of Prague.<br />
Visit the grand St.Vitus Cathedral in Prague.<br />
Visit the imposing Prague Castle from inside.<br />
Visit the picturesque old city of Prague.<br />
Guided City tour of Cesky Krumlov<br />
Guided city tour of Salzburg<br />
Visit the salt mines in Hallein.<br />
Guided city tour of Vienna.<br />
Entrance to the glorious Schoenbrunn Palace in Vienna included.<br />
Guided city tour of Budapest.<br />
Be thrilled by the Hungarian Horsemanship show in Budapest.<br />
Enjoy a Gala dinner on board cruise on river Danube.<br />
Professional, friendly, multilingual and experienced Indian Tour Managers travelling with you throughout your tour.<br />
Visit 04 countries in 09 days: Germany, Czech Republic, Hungary and Austria.If you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to<br />
come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to<br />
availability of seats for the given dates & ticket validity) which will be advised to you by your sales staff / travel agent.<br />
Kindly note, the deviation will be actioned only 30 days prior to departure date.<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 />
The tour cost does not include POE charges and passport charges.<br />
No porterage included.<br />
Taxes as applicable.<br />
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the<br />
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 fees21-0422-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> Welcome to Thomas Cook’s ‘Enchanting East Europe’ Tour. Arrive into Berlin, the German capital										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today, you embark on a spectacular tour of Enchanting East Europe as you board your flight to Berlin - the German capital. On arrival, you will be greeted by your friendly Thomas Cook Tour Manager or a local representative outside the baggage hall, who will transfer you to your hotel. Check-in and relax in the comforts of your hotel. Tonight, enjoy a delicious Indian dinner at a local restaurant.<br />
Overnight at Hotel Berlin Berlin / Titanium or similar, in Berlin.															
														   
											</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> Explore the city of Berlin on your guided tour.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast this morning you will be accompanied by an experienced English speaking guide for an insight into the history of this once divided city. See the places where Adolf Hitler rose to power and conducted his World War II campaigns against the allied forces. Berlin, the city where the Soviet East met the Capitalist West during the cold war. This is where Sir Winston Churchill coined the phrase “Iron Curtain” to describe the division of Europe. Today you see the famous Berlin Wall that divided the city till reunification in 1990. Once seen as a symbol of inhumanity, today it is seen as a symbol of peace. Stop at the Brandenburg Gate in Pariser Platz. This is the most important classical monument in Germany. Built in the 18th century, this symbol of the city was also for a long time a symbol of the partition of Germany. Next, we take you to see the Reichstag - the German Parliament Building. This 19th century building boasts of a 21st century glass and steel cupola. Visit Alexander Platz, the city centre where you will see the World Time Clock.. This afternoon, enjoy Indian lunch at an Indian restaurant. Later, you have some free time to stroll around and explore the city. Tonight enjoy a delicious Indian dinner.<br />
Overnight at Hotel Berlin Berlin / Titanium or similar, in Berlin.			
														   
											</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> Orientation tour of Dresden. Onto Prague.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast , sit back in your coach and drive to Dresden. Dresden is the capital city of the Free State of Saxony in Germany. It is situated in a valley on the River Elbe, near the Czech border. Upon arrival proceed for an orientation tour of this picturesque city. Enroute Indian lunch will be provided. Later proceed to Prague - the colorful capital of the Czech Republic. A city of hundred spires, built at the meandering Vltava River which for centuries has been quickening the heartbeats of poets, painters and photographers. Tonight after check-in to your hotel, enjoy a sumptuous Indian dinner at an Indian restaurant.<br />
Overnight at Hotel Panorama / Clarion or similar, in Prague.			
														   
											</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> Enjoy a guided tour of the majestic medieval city of Prague. Visit the Prague Castle from inside.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast, meet your English speaking local guide who will take you to visit the dominating and imposing Prague Castle from inside. We take a walk through the castle’s many courtyards before visiting the gothic St. Vitus Cathedral, the main church of the castle. Next, visit the Royal Palace which was the seat of the princes and later kings of Bohemia until the 16th century. Catch your breath and look around this majestic city from a panoramic point on the castle gallery. Next, visit the Old Town Square for a touch of real European experience. This city of artistic styles has the popular Town Hall, an astronomical clock, the famous Charles Bridge – the most picturesque of the 18 bridges in Prague. The ambience of this busy old city centre will leave you amazed as your steps lead you to the royal road of the Bohemian kings on their way to their coronation. Today enjoy a hot Indian lunch. Later, you have some free time to stroll around the old town. This evening enjoy a delicious Indian dinner.<br />
Overnight at Hotel Panorama / Clarion or similar, in Prague.			
														   
											</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> Guided City tour of Cesky Krumlov. Visit Mondee Catheral.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast, check out of your hotel, sit back and relax in your coach as we proceed Cesky Krumlov located in Southern Bohemia in the Czech Republic. The town's appearance is little changed since the 18th century and the buildings have been well maintained and restored. In 1992 Cesky Krumlov was added to the UNESCO World Heritage List. Stroll through the narrow cobblestone streets of the Old Town, you will be enchanted by the atmosphere, surrounded by more than 300 well-preserved historical buildings on a Guided City tour. Today enjoy a hot Indian lunch at a restaurant. Later we proceed to Salzburg to visit and the Mondsee Cathedral where Maria and the Baron got married. This evening enjoy a hot Indian dinner at a restaurant before we head to the hotel.<br />
Overnight at Hotel Austria Trend Europa or similar in Salzburg			
														   
											</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> Guided city tour of Salzburg. Visit the salt mines in Hallein. On to Vienna - the Austrian capital										
											
											<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 the hotel, proceed to Salzburg city tour, meet your experienced local guide who will explain the impact of this beautiful city of Mozart. Visit the splendid Mirabell Gardens, laid out in the 18th century and also where Maria and the children were seen singing the unforgettable Do Re Mi dancing around the statue of Pegasus, the winged horse. See the Trapp family home, the Leopoldskron Lake.Sing along as you fall in love with this picturesque city Enjoy hot Indian lunch at a restaurant. We later proceed to the town of Hallein. Here we visit the famous salt mine. The Hallein Salt Mine, also known as Salzbergwerk Dürrnberg, is an underground salt mine located in the Dürrnberg plateau above Hallein, Austria. The mine has been worked for over 7,000 years since the time of the Celtic tribes and earlier. Then sit back and relax in your coach as we proceed to the meticulous city of Vienna - the Austrian capital. Vienna’s historical architecture concentrated on the inner city has been largely preserved and skilfully restored.<br />
Tonight enjoy a delicious Indian dinner before you check-in to your hotel.<br />
Overnight at NH or similar in Vienna			
														   
											</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> Guided City tour of Vienna. Marvel at the architectural wonders, palaces and gardens galore on your										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast, meet your experienced local guide for a fantastic city tour of Vienna. Pass the magnificent Opera House. See the Rathaus, St. Stephen’s Church and many more interesting monuments. The grandeur of this city comes alive as you pass by the Hofburg and Belvedere Palaces. Next we proceed to visit the most famous Schoenbrunn Palace - a visitor’s delight. This palace is one of the most important cultural monument in Austria and a UNESCO world cultural heritage site. Enjoy hot Indian lunch at an Indian restaurant. Later, sit back and relax in your coach as we drive through beautiful green hills adorned with picturesque villages and vineyards as you cross over into beautiful Hungary. Tonight enjoy a delicious hot Indian dinner and check into your hotel.<br />
Overnight at Hotel Mercure / Danubius / Novotel or similar in Budapest.			
														   
											</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> Budapest guided city tour. Hungarian Horsemanship show.Enjoy an evening cruise with Gala Dinner on R										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast, we proceed on a tour of this vibrant city with an experienced local guide. Visit the Fisherman’s Bastion in the “Old Town”. See the statue of St. Stephen on horseback and experience the domination of the seven turrets. Visit the enormous Heroes Square filled with history. We also see the beautiful Chain Bridge that connects the cities of Buda and Pest. With over 1,000 years of history this city is full of surprises. Enjoy these special sights and many more on your guided tour. Later get thrilled by a show of Hungarian Horsemanship. Being a popular sport these trained horses and their masters will leave you awestruck with an amazing display of skill and bravery. Today you will enjoy a local meal for lunch. This evening, enjoy the sights of Budapest on the Danube river cruise where you will see the Palace in Buda castle, the Chain bridge and the Parliament building lined on the Danube embankment and enjoy a delicious Gala dinner on board cruise. Later drive back to your hotel.<br />
Overnight at Hotel Mercure / Danubius / Novotel or similar in Budapest.			
														   
											</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> Fly home with wonderful memories.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet breakfast at the hotel, check-out and proceed to the airport to board your flight back home. Please spare a few minutes to share your experience and your valued suggestions. Arrive home with wonderful memories of your ‘Enchanting East Europe’ tour with Thomas Cook, which we are sure you will treasure for a lifetime.			
														   
											</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>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</li><li>
come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to</li><li>
availability of seats for the given dates & ticket validity) which will be advised to you by your sales staff / travel agent.</li><li>
Kindly note, the deviation will be actioned only 30 days prior to departure date.</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>
The tour cost does not include POE charges and passport charges.</li><li>
No porterage included.</li><li>
Taxes as applicable.</li><li>
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the</li><li>
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</li></ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								April: 21<br />
May: 5, 9, 12, 14, 16, 19, 21, 23, 26, 28, 30<br />
June: 2, 4, 6, 9, 11, 13, 16, 18, 20, 23, 25, 27, 30<br />
July: 2, 4, 7, 14, 21, 28<br />
August: 4, 8, 18, 25<br />
September: 22								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Departure Cities with rates</p>
								</div>
								Ex-Mumbai / Delhi								</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="Enchanting East Europe 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="55320"/>
						</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-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-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-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-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-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-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-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-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-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-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-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-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-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-venice.htm" title="Packages in Venice">Venice</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-zagreb.htm" title="Packages in Zagreb">Zagreb</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-srinagar.htm" title="Packages in Srinagar">Srinagar</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 Berlin, Budapest, Prague, Vienna</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/eastern-europe-with-balkans-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106580.jpg"  alt="Eastern Europe With Balkans Tour" title="Eastern Europe With Balkans 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/eastern-europe-with-balkans-tour.htm" title="Eastern Europe With Balkans Tour"><h3>Eastern Europe With Balkans 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> :  Berlin, Zagreb, Budapest, Prague, Vienna..</p>
															<div class="mt10px small">
							<form name="pkg_55600" id="pkg_55600" 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/eastern-europe-with-balkans-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Eastern Europe With Balkans 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="55600"/>
							</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/enchanting-east-europe-with-scenic-balkans-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106216.jpg"  alt="Enchanting East Europe With Scenic Balkans Tour" title="Enchanting East Europe With Scenic Balkans 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/enchanting-east-europe-with-scenic-balkans-tour.htm" title="Enchanting East Europe With Scenic Balkans Tour"><h3>Enchanting East Europe With Scenic Balkans..</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> : 
								13 Nights / 14 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Berlin, Zagreb, Budapest, Ljubljana, Pra..</p>
															<div class="mt10px small">
							<form name="pkg_55302" id="pkg_55302" 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/enchanting-east-europe-with-scenic-balkans-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Enchanting East Europe With Scenic Balkans 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="55302"/>
							</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:66:"Book Enchanting East Europe Tour - 8 Nights / 9 Days Tour Packages";i:2;s:147:"book enchanting east europe tour - 8 nights / 9 days tour packages, forts and palaces tour packages, berlin, budapest, prague, vienna tour packages";i:3;s:189:"Bhraman Tours and Travels offers Enchanting East Europe Tour - 8 Nights / 9 Days tour package, budget Forts and Palaces tour packages for Berlin, Budapest, Prague, Vienna at exciting price.";i:4;s:2496:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Berlin, Budapest, Prague, Vienna"        
		                 },
		      "description": "Enchanting East Europe - only with Thomas Cook.
All delicious Jain/vegetarian/ non-vegetarian meals included.
Guided city tour of Berlin.
See the historic Berlin Wall and the Brandenburg Gate in Berlin.
Visit Alexander Platz - in the heart of Berlin.
Orientation tour of Dresden.
Guided city tour of Prague.
Visit the grand St.Vitus Cathedral in Prague.
Visit the imposing Prague Castle from inside.
Visit the picturesque old city of Prague.
Guided City tour of Cesky Krumlov
Guided city tour of Salzburg
Visit the salt mines in Hallein.
Guided city tour of Vienna.
Entrance to the glorious Schoenbrunn Palace in Vienna included.
Guided city tour of Budapest.
Be thrilled by the Hungarian Horsemanship show in Budapest.
Enjoy a Gala dinner on board cruise on river Danube.
Professional, friendly, multilingual and experienced Indian Tour Managers travelling with you throughout your tour.
Visit 04 countries in 09 days: Germany, Czech Republic, Hungary and Austria.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.
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).
The tour cost does not include POE charges and passport charges.
No porterage included.
Taxes as applicable.
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 fees21-0422-09",
		      "name": "Enchanting East Europe Tour",
		      "telephone": "+91-9711158456"
		    }
		    </script>
			";i:5;N;}