a:6:{i:0;s:20532:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Package For Europe</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.relaxiaholiday.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.relaxiaholiday.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Package For Europe</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-->				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Budapest, Prague, Vienna</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.relaxiaholiday.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Package for Europe - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="188682"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_17/504362/295758.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/504362/295758.jpg"  width="150" height="93"    alt="Package for Europe" title="Package for Europe" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<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> Arrival at Vienna
										</p>
										<p class="aj">Arrival Reception. Transfer to hotel and free time. You will receive information about the start of the circuit during the afternoon, or you can check the informative panels in the hotel reception area. Rest of the day is free to explore Vienna. (Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> City tour of Vienna with Shroennbunn Palace
										</p>
										<p class="aj">Start with a scenic sightseeing tour of Vienna to know the most important places of interest including the Opera , the Museum of Fine Arts and Natural History , Parliament , the Royal Theatre , City Hall and the University. Passing by the Church of San Carlos, we arrive to the Belvedere Palace where we will walk through the gardens from where we are offered a fabulous view of the city.<br />
Directly afterwards, we head the Schönbrunn Palace where visitors can stroll around and enjoy its beautiful gardens. In the evening we go to the City Hall Square to enjoy the lighting and the nightlife in the neighbouring streets. (Breakfast and Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Vienna - Bratislava - Budapest (Danube River Cruise)
										</p>
										<p class="aj">Proceed towards Bratislava - the capital of Slovakia by coach. The tour stops at Bratislava Castle. Cross the Danube and have a look at the new part of the city. Later make a photo stop at the city center to see the historical buildings like the Old Town, St Martins Cathedral, St Michael Tower. Upon arrival at Budapest, we take a relaxing monumental Cruise on the Danube and admire the views of the city and parliament. (Breakfast and Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 4:</b> Budapest City Tour
										</p>
										<p class="aj">Today discover the famous attractions in Budapest on your panoramic city tour. Pass by the chain bridge, Parliament, Heroes Square, Opera House, St Stephen's Basilica. Visit Fishermen's Bastion for amazing views of the Danube. Enjoy shopping at the Central Market Hall where you can buy the famous Budapest Paprika. (Breakfast and Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 5:</b> Budapest - Kutna Hora - Prague
										</p>
										<p class="aj">Proceed by coach to Prague - the capital of Czech Republic. En route visit Kutna Hora. Photostop at St Barbara's Cathedral, dedicated to the patron saint of the miners and now a world heritage sight famous for its Gothic design. Visit the Sedlec Ossuary, also known as the 'bone church' a small chapel estimated to display the skeletons of 40,000 to 70,000 people, each arranged artistically to form the chapel's decor. Upon arrival at Prague we visit the Old Town Square. This central location is full of energy and touristic activities. It’s a marvellous place to acquaint ourselves with Prague. Check-in at hotel and relax. (Breakfast and Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Prague City Highlights + River Cruise
										</p>
										<p class="aj">Proceed for city tour of Prague. Lasting three hours and a half. The tour starts off from the “Castel Quarter” (admission included), the political, religious and monumental centre of the capital, and the cathedral, the palaces and viewpoints over the “city of the 100 towers” and explains the history of the country. We then continue our walk through the “Small City” or “Malastrana Quarter”, the city’s Baroque jewel, to the famous “Charles Bridge”. The city tour is followed by a monumental cruise on the river Vlatava. Free afternoon to continue exploring the city. In the evening, we enjoy time in the historic city centre and there will be<br />
an opportunity for you to enjoy cuisines from around the world. Dinner at extra cost. (Breakfast and Dinner)</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 7:</b> Departure from Prague
										</p>
										<p class="aj">After breakfast, check-out from your hotel. You will be transferred to the airport to catch your flight back home</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>EP (No Meal)</li>
																				<li>Stay for 2 nights in Standard One Double Or Two Twin Beds</li><li>
Meal Plan: Breakfast and Dinner</li><li>
Ibis Wien Mariahilf or similar</li><li>
Transfer from Vienna Airport to Hotel</li><li>
Sightseeing tour and transfers as per itinerary</li><li>
Daily Indian Dinner</li><li>
Single Entry Shengen Visa</li><li>
2 Nights in Budapest</li><li>
Hotel:Ibis Budapest Heroes Square (3 star)</li><li>
TripAdvisor Rating:4.0</li><li>
Stay for 2 nights in Double Room</li><li>
Meal Plan: Breakfast and Dinner</li><li>
Ibis Budapest Heroes Square or similar</li><li>
Sightseeing tour and transfers as per itinerary</li><li>
Daily Indian Dinner</li><li>
2 Nights in Prague</li><li>
Hotel:Jurys Inn Prague (4 star)</li><li>
TripAdvisor Rating:4.5</li><li>
Stay for 2 nights in Standard Double Or Twin</li><li>
Meal Plan: Breakfast and Dinner</li><li>
Jurys Inn Prague or similar</li><li>
Sightseeing tour and transfers as per itinerary</li><li>
Daily Indian Dinner</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Check in baggage policy as per airline</li><li>
Any kind of personal expenses, extra meals, starters & Drinks(Alcoholic, Mineral, Aerated etc)</li><li>
Tips, Insurance, Laundry, Phone Calls, Guide Fee & Camera Fee</li><li>
Anything not mentioned in the inclusions above</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Airline seats and hotel rooms are subject to availability at the time of confirmation.</li><li>
In case of unavailability in the listed hotels, arrangement for an alternate accommodation will be made in a hotel of similar standard.</li><li>
There will be no refund for unused nights or early check-out (In case of Medical condition it completely depends on hotel policy).</li><li>
Check-in and check-out times at hotels would be as per hotel policies. Early check-in or late check-out is subject to availability and may be chargeable by the hotel.</li><li>
The price does not include expenses of personal nature, such as laundry, telephone calls, room service, alcoholic beverages, mini bar charges, tips, portage, camera fees etc.</li><li>
We reserve the right to modify the itinerary at any point, due to reasons including but not limited to: Force Majeure events, strikes, fairs, festivals, weather conditions, traffic problems, overbooking of hotels / flights, cancellation / re-routing of flights, closure of / entry restrictions at a place of visit, etc. While we will do our best to make suitable alternate arrangements, we would not be held liable for any refunds/compensation claims arising out of this.</li><li>
In case a flight gets cancelled, we will not be liable to provide any alternate flights within the same cost, any additional cost incurred for the same shall be borne by the traveler.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Upon cancellation, refund will be made after deducting the Retention Amount.</li><li>
Retention Amount varies as per the number of days left before your package start date.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.relaxiaholiday.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Package for Europe - 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="188682"/>
						</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.relaxiaholiday.in/ho-chi-minh-city-tour-packages.htm" title="Ho Chi Minh City Tour Packages">Ho Chi Minh City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/paris-tour-packages.htm" title="Paris Tour Packages">Paris</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/dubai-tour-packages.htm" title="Dubai Tour Packages">Dubai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/north-pole-tour-packages.htm" title="North Pole Tour Packages">North Pole</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/eindhoven-tour-packages.htm" title="Eindhoven Tour Packages">Eindhoven</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/rome-tour-packages.htm" title="Rome Tour Packages">Rome</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/prague-tour-packages.htm" title="Prague Tour Packages">Prague</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/bologna-tour-packages.htm" title="Bologna Tour Packages">Bologna</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.relaxiaholiday.in/budapest-tour-packages.htm" title="Budapest Tour Packages">Budapest</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.relaxiaholiday.in/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.relaxiaholiday.in/zurich-tour-packages.htm" title="Zurich Tour Packages">Zurich</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.relaxiaholiday.in/hanoi-tour-packages.htm" title="Hanoi Tour Packages">Hanoi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.relaxiaholiday.in/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.relaxiaholiday.in/vienna-tour-packages.htm" title="Vienna Tour Packages">Vienna</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.relaxiaholiday.in/cologne-tour-packages.htm" title="Cologne Tour Packages">Cologne</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div 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.relaxiaholiday.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/desert-holidays-catid.htm" title="Deserts Packages">Deserts</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/river-cruising-holidays-catid.htm" title="River Cruising Packages">River Cruising</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.relaxiaholiday.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:57:"Book Package for Europe - 6 Nights / 7 Days Tour Packages";i:2;s:122:"book package for europe - 6 nights / 7 days tour packages, adventure tour packages, budapest, prague, vienna tour packages";i:3;s:169:"Book Package for Europe - 6 Nights / 7 Days tour packages from Relaxia Holiday - Get attractive 6 Nights / 7 Days Adventure  tour packages for  Budapest, Prague, Vienna.";i:4;s:414:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Budapest, Prague, Vienna"        
		                 },
		      "description": "",
		      "name": "Package for Europe",
		      "telephone": "+91-7000298880"
		    }
		    </script>
			";i:5;N;}