a:6:{i:0;s:11665:"				<div class="h1"><h1>Central Europe Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.jstourstravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.jstourstravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Central Europe Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Budapest, Prague, Vienna</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.jstourstravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Central 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="68550"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/434756/124817.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/434756/124817.jpg"  width="150" height="150"    alt="Central Europe Tour" title="Central Europe Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
											<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Prague
								</p>
								<p class="aj">Arrive Prague International Airport and after clearing Customs Check in Hotel. Later we proceed for City Tour of this wealth of Gothic and baroque architecture perhaps inspired Dvorak and Smetana both Prague composers. The sightseeing features landmarks such as Hradcany Castle, The Cathedral of St. Vitus, Later Proceed for river cruise through Prague which is one of the quickest and most relaxing ways to see some of Prague´s most famous sights. Relax on deck and enjoy breathtaking views of the famous Prague Castle, Vyšehrad and the National Theatre from a different perspective without the hassle of the jostling crowds.. Enjoy Dinner. Airport pick up for all the passengers at 1400 hours. Overnight at Hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Prague.
								</p>
								<p class="aj">After breakfast at the hotel. we proceed for Orientation City Tour including The Astronomical Clock, the Old Town Square and the romantic Charles Bridge. Charles Bridge is one of the most visited sights in the whole of the Czech Republic. It is the oldest stone bridge in Prague and the second oldest in the Czech Republic which have survived until today. The bridge was named after its founder, Charles IV. who had it built in the middle of the 14th century at a place of its predecessor, the Judith Bridge. The construction of the bridge was entrusted to only 27 year old architect Peter Parler. It was completed at the beginning of the 15th century. we take a later time free for shopping to buy Bohemian crystals and other Czech specialties. Spend overnight at Hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Prague – Vienna.
								</p>
								<p class="aj">After having morning breakfast we proceed for Vienna the capital of Austria, lies in the country’s east on the Danube River. Its artistic and intellectual legacy was shaped by residents including Mozart, Beethoven and Sigmund Freud. The city is also known for its Imperial palaces, including Schönbrunn, the Habsburgs’ summer residence. Arrive and Check in Hotel, overnight in Vienna.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Vienna
								</p>
								<p class="aj">After breakfast we proceed to See Ringstrasse Boulevard with its prestigious buildings such as the Vienna State Opera, Hofburg Palace (former residence of Habsburg emperors), Houses of Parliament, City Hall, National Theatre and University. Later proceed to Visit Schonbrunn palace Imperial Tour, On the Imperial tour of 22 rooms you can explore the lavish splendor of the Grand Gallery, the Far Eastern charm of Chinese cabinets, but also the amazing modesty with the Emperor Franz Joseph let equip its private apartments. The only remaining object at Schönbrunn from the possession of Queen Marie Antoinette, who died guillotined in 1793. - In the Yellow Salon contains a precious secretaire is shown. in the evening back to Hotel. Overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Vienna – Budapest
								</p>
								<p class="aj">After breakfast, proceed to Budapest, Hungary’s capital, It is bisected by the River Danube, and the 19th-century Chain Bridge connects its hilly Buda district with flat Pest. A funicular runs up Castle Hill to Buda’s Old Town, where the Budapest History Museum traces life from Roman times onwards. Trinity Square is home to 13th-century Matthias Church and the turrets of the Fishermen’s Bastion, which offer sweeping views. Arrive at Budapest Twin cities of Buda and Pest. Upon arrival, check in at the Hotel. Enjoy Dinner. Spend overnight at hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Budapest.
								</p>
								<p class="aj">After having morning breakfast we proceed for city tour including Buda Castle which is the historical castle and palace complex of the Hungarian kings in Budapest, first completed in 1265. In the past, it was also called Royal Palace and Royal Castle, Also visit Chain Bridge which spans the River Danube between Buda and Pest, St. Stephen’s Basilica, Evening Free for rest and leisure, Spend overnight at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> Budapest
								</p>
								<p class="aj">After having morning breakfast we proceed for Sightseeing tour which includes view of Heroes Square is one of the major squares rich with historic and political connotations, Fishermen’s Bastion and Church of St. Matthias, Gellert Hill, Astonishing Parliament house which is the seat of the National Assembly of Hungary, one of Europe’s oldest legislative building, a notable landmark of Hungary and a popular tourist destination of Budapest, etc. Later proceed to enjoy Hamam Bath (Szechenyi) The Széchenyi Medicinal Bath in Budapest is the largest medicinal bath in Europe. Its water is supplied by two thermal springs; their temperature is 74 °C and 77 °C, respectively. Spend overnight at the Hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 8:</b> : Budapest - Home Destination
								</p>
								<p class="aj">After morning breakfast we proceed by coach towards the Airport to board homebound flight. Airport drop for all the passengers at 0900 hours. Tour Ends with Happy Memories.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.jstourstravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Central 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="68550"/>
						</form>
						</div>
						
						";i:1;s:58:"Book Central Europe Tour - 7 Nights / 8 Days Tour Packages";i:2;s:122:"book central europe tour - 7 nights / 8 days tour packages, heritage tour packages, budapest, prague, vienna tour packages";i:3;s:174:"Book Central Europe Tour - 7 Nights / 8 Days tour packages from Js Tours and Travels - Get attractive 7 Nights / 8 Days Heritage  tour packages for  Budapest, Prague, Vienna.";i:4;s:415:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Budapest, Prague, Vienna"        
		                 },
		      "description": "",
		      "name": "Central Europe Tour",
		      "telephone": "+91-9227522144"
		    }
		    </script>
			";i:5;N;}