a:6:{i:0;s:51003:"				<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="h1"><h1>Affordable Europe Package for 15 Days Fixed Departures</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.maataratours.com/" title="Home">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b>Affordable Europe Package for 15 Days Fixed Departures</p> 
									
						<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>Tour Code :</b> 84154</p>
												<p class="mb5px"><b>Duration :</b> 
						14 Nights / 15 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Paris, Venice, Florence, Engelberg, Amsterdam, Innsbruck, Rome, Zurich</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.maataratours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Affordable Europe Package for 15 Days Fixed Departures - 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="110484"/>
						</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/497806/182148.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/497806/182148.jpg"  width="150" height="150"    alt="Affordable Europe Package for 15 Days Fixed Departures" title="Affordable Europe Package for 15 Days Fixed Departures" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								2 Nights Accommodation in mentioned or similar Hotel in Rome.<br />
1 Nights Accommodation in mentioned or similar Hotel in Florence.<br />
1 Nights Accommodation in mentioned or similar Hotel in Venice.<br />
1 Nights Accommodation in mentioned or similar Hotel in Innsbruck.<br />
1 Nights Accommodation in mentioned or similar Hotel in Heidelberg.<br />
1 Nights Accommodation in mentioned or similar Hotel in Amsterdam.<br />
1 Nights Accommodation in mentioned or similar Hotel in Brussels.<br />
2 Nights Accommodation in mentioned or similar Hotel in Paris.<br />
1 Nights Accommodation in mentioned or similar Hotel in Zurich.<br />
3 Nights Accommodation in mentioned or similar Hotel in Engelberg.<br />
Accommodation in double / twin bedded rooms in hotels stated in itinerary or similar.<br />
Meals, Minivan tours, transfers, entrance fees, sightseeing and surface transportation as indicated in the<br />
itinerary<br />
Visit Glacier 3000 with Cheese and Chocolate factory in Gruyeres<br />
Visit To Disneyland Park<br />
Visit To Paris city tour with Eiffel Tower<br />
Visit the world renowned Grand Palace, the legendary Manneken Pis statue, St. Michaels Church, Palace<br />
of Justice<br />
Visit Swarovski Crystal Museum<br />
Visit to Murano Glass show room and Gondola rideAirfare not included<br />
Visa charges are additional.<br />
Any expenses of personal nature such as porterage, laundry, wines, mineral/bottled water, food and drink<br />
not in the regular menus provided by us, mini bar and telephone calls.<br />
Any other items not mentioned in the Inclusion<br />
City bed taxes if applicable as per the city of visit.<br />
Expenses which are personal in nature tips, Laundry, drinks etc.<br />
Extras in hotels, optional activities, and usually drinks during meals.<br />
Government Service tax 5.0 %								</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> Rome
										</p>
										<p class="aj">Rome, Italyâs capital is a sprawling, cosmopolitan city with nearly 3,000 years of globally influential art, architecture and culture on display. Ancient ruins such as the Roman Forum and the Colosseum evoke the power of the former Roman<br />
Package cost 3 Star Per Person(min 2 pax required) 261392<br />
Extra Adult 99914<br />
Child With Bed(5-12 yrs) 231114<br />
Child Without Bed(5-12 yrs) 160469<br />
Destination No of Nights 3 Star<br />
Rome 2 Hotel Raffaello / similar hotels<br />
Florence 1 Leopolda Hotel / similar hotels<br />
Venice 1 Hotel Aaron / similar hotels<br />
Innsbruck 1 Bon Alpina / similar hotels<br />
Heidelberg 1 ibis Heidelberg Hauptbahnhof / similar hotels<br />
Amsterdam 1 Hotel ibis Schiphol Amsterdam<br />
Airport / similar hotels<br />
Brussels 1 Best Western Hotel Expo / similar hotels<br />
Paris 2 Hotel Tilsitt Etoile / similar hotels<br />
Zurich 1 3 Star<br />
Engelberg 3 Hotel Baenklialp / similar hotels<br />
Empire. Upon arrival, enjoy some free time to unwind from your flight relaxing at the hotel followed by a comfortable overnight stay in Rome.</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> Rome: Guided city tour, Vatican City: St. Peterâs Basilica and St. Peterâs Square
										</p>
										<p class="aj">Rome, the eternal city, has a history over two and a half thousand years as one of the founding cities of Western Civilization. It has been a site of major historic events and has also been the cultural centre of Europe. Our guided city tour of Rome includes sights such as Colosseum, Arc of Constantine, Roman Forum and Caesarâs Forum. Later, we visit the Vatican City, the smallest republic in the world. We visit the St. Peterâs Basilica, the largest church in the world and the centre of Christianity. Take a walk among the massive Tuscan colonnades of the St. Peterâs square. Later, we proceed to the famous Time-Elevator that will take you back in time to the history and glory of Rome. Enjoy some free time for shopping and and enjoy a comfortable overnight stay in Rome.</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> Leaning Tower of Pisa â Florence guided city tour
										</p>
										<p class="aj">Today, we visit Pisa, and the famous Leaning Tower of Pisa â bell tower of the Duomo Cathedral, one of the most remarkable architectural structures from medieval Europe. Take some time and a short stroll before we continue our journey onto Florence, a stunning medieval city divided into two parts by the River Arno. Florence is considered one of the most beautiful cities in the world with its numerous palaces, churches and museums filled with masterful paintings and sculptures. We begin our walking tour of Florence enjoying sights such as Cathedral of Santa Maria del Fiore, Campanile and Baptistery. Add Loggia Dei Lanzi and the Fountain of Neptune plus Ponte Vecchio, the oldest and the most famous bridge in Florence and you really get a feel for this beautiful city. Enjoy a comfortable overnight stay at the hotel in Florence.</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> Ferrari Museum â Venice islands tour with Murano Glass show room and Gondola ride
										</p>
										<p class="aj">After enjoying breakfast, we proceed to visit Ferrari Museum dedicated to the Ferrari sports car marque. The museum is not purely for cars; also on view are trophies, photographs and other historical objects relating to the Italian motor racing industry. Later we head to the most romantic city in Italy, known for its famous gondola rides and its stunning architecture. Venice, the Queen of the Adriatic, also fondly called La Serenissima was built on 180 islands connected by over 400 bridges with hundreds of canals criss-crossing the town. We take a boat ride to reach Venice Island enjoying the scenic view as we pass the famous Bridge of Sighs and the Basilica di San Marco. Then head to St Markâs Square where we itness sights such as the Bridge of Sighs, the Ducale Palace, St. Markâs Basilica, the Clock tower and the Murano Glass showroom â mustsee parts of this glorious city. For a true picture of this romantic place why not take a memorable gondola ride through the smaller canals of Venice. Then round off your day with a comfortable overnight stay at the hotel in Padova/Venice.</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> Innsbruck â Swarovski Crystal Museum
										</p>
										<p class="aj">After enjoying breakfast, we proceed to Wattens, where you will visit the world-famous Swarovski Crystal Museum. Enjoy a fascinating experience into the âworld of crystalsâ. An experience that leaves you amazed at the dazzling glitter as you walk through this museum. A great opportunity to buy souvenir for family. En route Indian Lunch near Wattens. Later we head to Innsbruck city where we will take you to places that seem like right out of a fairy tale. The Goldenes Dachl or the Golden Roof an ornate Gothic balcony, a landmark built in 1500 and rightly considered symbol of the city. It was decorated with 2657 fire-gilded copper tiles for Maximilian I, Holy Roman Emperor. The reliefs on the balcony show coats of arms, symbols and other figures in his life. Enjoy a comfortable overnight stay at the hotel in Innsbruck.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Rhine Falls - Titisee Lake â Drubba â Heidelberg
										</p>
										<p class="aj">After enjoying breakfast at hotel, check out and we proceed to Schaffhausen to witness the grandeur of the magnificent Rhine Falls (Switzerland), one of the largest waterfalls of Europe. Later sit back and relax in your Minivan as we 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. Here is âDrubbaâ, the home of the worldfamous cuckoo clock.<br />
Further we move further towards Heidelberg, situated on the banks of the river Neckar. <br />
Enjoy a comfortable overnight stay at the hotel in Heidelberg.</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> Heidelberg â Cologne Cathedral â Rhine - Amsterdam
										</p>
										<p class="aj">After enjoying breakfast, we proceed for a walking tour of Heidelberg surrounded by mountains and forests. Stroll through Alstadt the old tow, full of narrow alleys and cobble-stoned streets. The famed ruins of the Heidelberg castle, high up on the Konigstuhl Mountains is a perfect photo opportunity. Later we visit scenic cruise on the River Rhine. Cruising down the Rhine, you will pass steep slopes covered with vineyards. The River Rhine is one of Europes major navigable rivers.<br />
Later, board your coach again and drive to Cologne -- While a few amongst us would knowingly nod and declare, That is where they make our favourite Eau de Cologne (Water of Cologne in French), and Cologne is more known Worldwide for the Cologne cathedral. Build over six centuries at 515 feet height the famous Cologne Cathedral can hold up-to 40,000 people and is Germanys largest visited monument. Declared a world heritage site the Cathedral is the best-known architectural monuments in Germany and Cologne's most famous landmark. The UNESCO describes it as "exceptional work of human creative genius"<br />
After Lunch, We proceed to see a demonstration on the art of making wooden shoes at Rattermans wooden shoe factory. Every year thousands of tourists from all over the world come to visit this traditional Dutch wooden shoe factory. When visiting you will have the opportunity to experience a demonstration, during which you will be explained about the history, traditions and the making of the authentic Dutch wooden shoes. RattermanÂ´s wooden shoe factory is a traditional business where this trade has been practiced for many generations. You shall also have time to shop for souvenirs. Proceed to Amsterdam and en route stop at a windmill, a common sight in Holland. Next we board a glass-topped boat as we sail through the canals for an exciting canal cruise. The citys colorful past comes alive with its 1,000 bridges & fine old houses. Enjoy a comfortable overnight stay in Utrecht/Schiphol.</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> The Netherlands - Brussels
										</p>
										<p class="aj">We start our day by visiting Keukenhof, the Tulip garden (open till Mid of May) where an overwhelming sight of the largest spring garden in the world displays beautiful flower beds of Tulips, Daffodils, Hyacinths and Narcissi amongst ancient trees. After Mid May we visit Madurodam, Holland in miniature. Madurodam is also home to the world's largest miniature railway.<br />
After Lunch, Proceed towards Brussels for an orientation tour. Visit the world renowned Grand Palace, the legendary Manneken Pis statue, St. Michaelâs Church, Palace of Justice amongst other attractions. After the tour itâs time for a perfect photo opportunity at the Atomium, a huge molecular structure, which celebrates humanity's mastery of the molecules that make up our world. At 102 metres in height, it is some 165 billion times the size of the atomic lattice of iron crystals that it represents. Enjoy a comfortable overnight stay 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 9:</b> Onto Paris - River Seine cruise â Paris city tour with Eiffel Tower
										</p>
										<p class="aj">After enjoying breakfast, we proceed towards Paris. Todayâs experience at arrival in Paris is boat cruise on the River Seine, which is an excellent and unique way to view Paris and sail past many of its historical monuments. After the cruise experience we visit the most famous landmark of Paris, the Eiffel Tower, and enjoy a panoramic view of the city from its 3rd and topmost level. Built in 1889 and designed by the young engineer, Gustav Eiffel, the tower stands 324 meters (1,063 ft) tall.<br />
Later proceed on a city tour of Paris, witnessing sights such as Arc De Triomphe, Champs Elysees, Grand Palais, Petit Palais, National Assembly, Alexander Bridge, Concorde Square, Magdalene Church, Opera Garnier, Louvre Palace, Cite Island, French Academy, Sorbonne University, Orsay Museum, Church of the Invalides, Military Academy, Trocadero Square, Palais De Chaillot and the Notre Dame Cathedral. Return to the hotel after the tour for a comfortable overnight stay in Paris.</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 10:</b> Paris â Disneyland Park
										</p>
										<p class="aj">After enjoying breakfast we begin a tour to Disneyland. You have a 1 day ticket to either Disneyland Park or Walt Disney Studios Park. Disneyland Paris is Europeâs leading tourist destination with world class attractions, shows & parades like Crushâs Coaster, Cars Race Rally, The Twilight Zone Tower of Terror, Indiana Jones and the Temple of Peril, Space Mountain: Mission 2, Big Thunder Mountain and many more. Around 6 pm you leave the park to go into Paris for your dinner at an Indian restaurant.<br />
After Dinner, enjoy your time at leisure OR embark on an exceptional optional tour, which is the best way to experience the glamour and lights of Paris. The brilliant 'Illumination Tour of Paris' includes drives past the famous monuments and buildings of Paris at night to witness their dazzling illumination. Continue on the optional tour to experience one of the most famous night shows in the world called Lido De Paris. This is the place to enjoy life like a true Parisian sipping a glass of champagne and enjoying scintillating performances. Return to the hotel after the tour for a comfortable overnight stay.</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Onto Switzerland â Zurich orientation tour
											</p>
											<p class="aj">After breakfast today, we transfer to snow-capped Alps, lush green meadows and fresh water lakes, the prosperous country âSwitzerlandâ is blessed with a distinct character and dynamism.<br />
Upon arrival in Zurich, we proceed to take an orientation tour of Zurich including sights such as Bahnhofstrasse, the Gross Munster, the Frau Munster, the Rathaus and St. Peter's Church. With a diameter of 8.7 metres (28 feet), the clock face of St. Peter's Church is the largest in all of Europe. transfer to hotel for Check in and refresh yourself. Later in the evening spend some time on your own for shopping Delicious and Tasty Swiss Chocolates and then towards Indian restaurant. Enjoy a comfortable overnight stay at the hotel in Switzerland.</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 12:</b> Switzerland - Mt. Titlis, Ice Flyer & Lucerne
											</p>
											<p class="aj">Switzerland known for its snow-capped Alps, lush green meadows and fresh water lakes, the prosperous country of Switzerland is blessed with a distinct character and dynamism. After enjoying breakfast, proceed to Lucerne, a beautiful city located at the northern tip of Lake Lucerne, where you will see the Lion Monument called Lowendenkmal built in memory of the loyal Swiss guards. Thereafter, stroll along the banks of Lake Lucerne to experience attractions like the Kapellbrucke - The Chapel Bridge and the Spreuerbrucke, the two traditional wooden bridges of Lucerne. Later Begin the adventurous journey to Mt. Titlis. On a hair-raising and unforgettable 45 minutes long ride to the top, switching three different cable cars, the ride is nothing short of aweinspiring as you'll witness the scenery change from green meadows and scenic lakes to snow clad mountains. The last leg of the ride is on the famous Rotair, which is the world's first revolving cable car that offers beautiful panoramic views of the surrounding glaciers, mountains and scenery. Once atop Mt. Titlis, what awaits visitors is breathtaking views of the Alps from either the sun terrace or from the famous "south face window" of the mountain. However, there's more,also enjoy a thrilling ride on the famous 'Ice Flyer'. Later enjoy a comfortable overnight stay in Switzerland.</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 13:</b> Glacier 3000 with Cheese and Chocolate factory in Gruyereâs
											</p>
											<p class="aj">After enjoying breakfast, we precede towards Gruyeres Cheese and Chocolate factory and travel through the Swiss countryside to the picturesque village of GruyÃ¨res. Head first to La Maison du GruyÃ¨re cheese factory, an established production center responsible for making up to 48 wheels of cheese per day, and discover the manufacturing methods behind this Swiss specialty at its beautiful best. Later head towards Maison Cailler, a traditional chocolate factory famed for its meticulous production processes.<br />
Later we proceed towards the only Mountain in Switzerland which offers activities and many more - Glacier 3000. An exhilarating glacier run on the world's highest toboggan run is sure to give you an adrenaline rush. The Alpine Coaster is one of the biggest attractions on Glacier 3000. Up to six meters above the ground and close to the sheer drop, those brave enough to try will experience the ultimate thrilling ride!<br />
Enjoy a comfortable overnight stay at the hotel in Switzerland.</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 14:</b> Optional Tour of Jungfraujoch, Interlaken with Indian Lunch
											</p>
											<p class="aj">After enjoying breakfast, make use of the free time to embark on an optional tour to visit Jungfraujoch, often referred to as the Top of Europe and the charming town of Interlaken. Jungfraujoch makes for a memorable encounter with snow and ice, and has all it takes to become the 'high point' of any tour of Europe. Tourists are often amazed at the scenic splendour they witness from 'The Cog-Wheel' train, which climbs up to a height of 11333 feet to reach Jungfraujoch, the highest railway station in the world! The Cog- Wheel train is one of the best, most incredible train journeys in the world. The views of Switzerland from atop the mountain are amazingly panoramic and breathtaking. Later on, drive to Interlaken, a world famous Swiss town located in the Bernese Oberland Mountains, between the lakes of Thun and Brienz. After enjoying some leisurely time in the town, finally, return to the hotel for a comfortable overnight stay.</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 15:</b> Zurich Airport
											</p>
											<p class="aj">After breakfast we bid adieu to Europe as we receive a transfer to the airport in time to board your flight back home.<br />
With an enriching experience of a lifetime we leave with new friends and happy memories of one of the most beautiful continents on earth.</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<br />
																<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>Airfare not included</li><li>
Visa charges are additional.</li><li>
Any expenses of personal nature such as porterage, laundry, wines, mineral/bottled water, food and drink</li><li>
not in the regular menus provided by us, mini bar and telephone calls.</li><li>
Any other items not mentioned in the Inclusion</li><li>
City bed taxes if applicable as per the city of visit.</li><li>
Expenses which are personal in nature tips, Laundry, drinks etc.</li><li>
Extras in hotels, optional activities, and usually drinks during meals.</li><li>
Government Service tax 5.0 %</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Preview of the Prices</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Package cost</td>
				<td class="data p5px">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">261392</td>
			</tr>
			<tr>
				<td class="data p5px">Extra Adult</td>
				<td class="data p5px">99914</td>
			</tr>
			<tr>
				<td class="data p5px">Child With Bed(5-12 yrs)</td>
				<td class="data p5px">231114</td>
			</tr>
			<tr>
				<td class="data p5px">Child Without Bed(5-12 yrs)</td>
				<td class="data p5px">160469</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Hotels Used / Similar</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Destination</td>
				<td class="data p5px">No of Nights</td>
				<td class="data p5px">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Rome</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Hotel Raffaello / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Florence</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Leopolda Hotel / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Venice</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Hotel Aaron / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Innsbruck</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Bon Alpina / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Heidelberg</td>
				<td class="data p5px">1</td>
				<td class="data p5px">ibis Heidelberg Hauptbahnhof / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Amsterdam</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Hotel ibis Schiphol Amsterdam Airport / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Brussels</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Best Western Hotel Expo / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Paris</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Hotel Tilsitt Etoile / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Zurich</td>
				<td class="data p5px">1</td>
				<td class="data p5px">3 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Engelberg</td>
				<td class="data p5px">3</td>
				<td class="data p5px">Hotel Baenklialp / similar hotels</td>
			</tr>
		</table></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<ul>
	<li>This is a fixed departure and in order to operate we would need minimum of 30 Pax to operate, in case the minimum no of passengers required are not formed then the company has a right to either cancel or merge the departure to the next available dates.</li>
	<li>Via will not be responsible for any cancellation charges on the airfare or visas.</li>
	<li>Any increase in the rate of exchange leading to increase in surface transportation and land arrangements which may come into effect prior to departure.</li>
	<li>Via reserves the right to change Validity dates given.</li>
	<li>For computation purpose the Rate of Exchange is as per the current prevailing rate and thus make the prices dynamic.</li>
	<li>The rates are not valid on block out dates.</li>
	<li>Surcharges wherever applicable would be advised at the time of booking.</li>
	<li>The rates are subject to availability of hotel accommodation and sightseeing tours at the time of booking.</li>
	<li>We reserve the right to use an alternate hotel accommodation of an equal or higher standard. If we source a more expensive alternative, we reserve the right to re-quote based on the higher rates.</li>
	<li>Rates are valid for Indian Passport holders only.</li>
	<li>We are not holding any Hotel blocks for this package.</li>
	<li>International Check in time is 1400 hours / Check out time is 1100 hours, early check in and checkout is subject to availability and cannot be guaranteed.</li>
	<li>Transfers wherever included are without night surcharges.</li>
	<li>No refunds either in part or in full will be made for any unutilized service.</li>
	<li>All the sightseeing tours and excursions are organized by local companies. The timings and days of operation are subject to alteration. Changes if any will be intimated at the time of booking.</li>
	<li>Sightseeings tours are strictly based on whether conditions and also local service providers have rights to cancel the sightseeing tours without prior notice.</li>
	<li>Via is not responsible for any change in the price due to factors not in the control of the organization.</li>
	<li>Prices given are indicative and the same are subject to change with availability.</li>
	<li>We are not holding any blocks for the given itinerary. Rooms and Hotels are subject to change as per availability.</li>
</ul>

<p><strong>Note:</strong>

<ul>
	<li>We are not holding any rooms or airline seats as of now and above mentioned is quote only , subject to availability at the time of confirmation .</li>
	<li>First preference will be given to mentioned hotels for reservation. In case of non-availability of these hotels we shall advise the similar or next available option with supplement cost .</li>
	<li>Itinerary provided is just suggestive and the sightseeing will be done as per availability.</li>
	<li>In case of no show or late cancellation after reconfirmation charges applicable as per the Hotels Policy and other vendors policy.</li>
</ul>

<p><strong>Cancellation Policy</strong>

<ul>
	<li>The cancellation must be intimated to us in writing and the following cancellation charges will apply.</li>
	<li>46 Days prior to departure - Non refundable deposit of INR 25000</li>
	<li>45 Days To 30 Days - 50% of the Total cost</li>
	<li>29 Days to 20 Days &amp;</li>
	<li>150; 80% of the Total cost</li>
	<li>19 or less - 100% of the total cost</li>
	<li>Same cancellation policy will apply for postponements of bookings</li>
	<li>Cancellation charges may vary during festive/ peak period.</li>
	<li>The above policy would not be applicable in case of promotional / non refundable rates</li>
	<li>The above policy would not be applicable in any customization, change of hotels etc and the cancellation policy would be advised accordingly.</li>
</ul>								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.maataratours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Affordable Europe Package for 15 Days Fixed Departures - 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="110484"/>
						</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.maataratours.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</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.maataratours.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</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.maataratours.com/packages-in-baramulla.htm" title="Packages in Baramulla">Baramulla</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.maataratours.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</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.maataratours.com/packages-in-paris.htm" title="Packages in Paris">Paris</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.maataratours.com/packages-in-rotorua.htm" title="Packages in Rotorua">Rotorua</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.maataratours.com/packages-in-auckland.htm" title="Packages in Auckland">Auckland</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.maataratours.com/packages-in-anantnag.htm" title="Packages in Anantnag">Anantnag</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.maataratours.com/packages-in-christchurch.htm" title="Packages in Christchurch">Christchurch</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.maataratours.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</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.maataratours.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.maataratours.com/packages-in-shillong.htm" title="Packages in Shillong">Shillong</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.maataratours.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</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.maataratours.com/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</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.maataratours.com/packages-in-zurich.htm" title="Packages in Zurich">Zurich</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.maataratours.com/packages-in-nainital.htm" title="Packages in Nainital">Nainital</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.maataratours.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.maataratours.com/packages-in-sydney.htm" title="Packages in Sydney">Sydney</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.maataratours.com/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</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.maataratours.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</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.maataratours.com/packages-in-pelling.htm" title="Packages in Pelling">Pelling</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.maataratours.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(22)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.maataratours.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</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.maataratours.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</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.maataratours.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</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>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for Paris, Venice, Florence, Engelberg, Amsterdam, Innsbruck, Rome, Zurich</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.maataratours.com/tour-packages/classical-spain-with-paris-package-for10-days-europamundo-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/497806/182194.jpg"  alt="Classical Spain with Paris Package for 10 Days ( Europamundo Package)" title="Classical Spain with Paris Package for 10 Days ( Europamundo Package)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.maataratours.com/tour-packages/classical-spain-with-paris-package-for10-days-europamundo-package.htm" title="Classical Spain with Paris Package for 10 Days ( Europamundo Package)"><h3>Classical Spain With Paris Package For 10 ..</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> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Barcelona, Paris, Madrid, Seville, Grana..</p>
															<div class="mt10px small">
							<form name="pkg_110503" id="pkg_110503" method="post" action="http://www.maataratours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.maataratours.com/tour-packages/classical-spain-with-paris-package-for10-days-europamundo-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Classical Spain with Paris Package for 10 Days ( Europamundo Package) - 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="110503"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.maataratours.com/tour-packages/genuine-europe-package-for12-days-europamundo-package.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/497806/182756.jpg"  alt="Genuine Europe Package for 12 Days (Europamundo Package)" title="Genuine Europe Package for 12 Days (Europamundo Package)"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.maataratours.com/tour-packages/genuine-europe-package-for12-days-europamundo-package.htm" title="Genuine Europe Package for 12 Days (Europamundo Package)"><h3>Genuine Europe Package For 12 Days (europa..</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> : 
								11 Nights / 12 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Venice, Florence, Rome, Z..</p>
															<div class="mt10px small">
							<form name="pkg_110980" id="pkg_110980" method="post" action="http://www.maataratours.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.maataratours.com/tour-packages/genuine-europe-package-for12-days-europamundo-package.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Genuine Europe Package for 12 Days (Europamundo Package) - 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="110980"/>
							</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:95:"Book Affordable Europe Package for 15 Days Fixed Departures - 14 Nights / 15 Days Tour Packages";i:2;s:205:"book affordable europe package for 15 days fixed departures - 14 nights / 15 days tour packages, heritage tour packages, paris, venice, florence, engelberg, amsterdam, innsbruck, rome, zurich tour packages";i:3;s:246:"Maa Tara Tours & Travels offers Affordable Europe Package for 15 Days Fixed Departures - 14 Nights / 15 Days tour package, budget Heritage tour packages for Paris, Venice, Florence, Engelberg, Amsterdam, Innsbruck, Rome, Zurich at exciting price.";i:4;s:2198:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Venice, Florence, Engelberg, Amsterdam, Innsbruck, Rome, Zurich"        
		                 },
		      "description": "2 Nights Accommodation in mentioned or similar Hotel in Rome.
1 Nights Accommodation in mentioned or similar Hotel in Florence.
1 Nights Accommodation in mentioned or similar Hotel in Venice.
1 Nights Accommodation in mentioned or similar Hotel in Innsbruck.
1 Nights Accommodation in mentioned or similar Hotel in Heidelberg.
1 Nights Accommodation in mentioned or similar Hotel in Amsterdam.
1 Nights Accommodation in mentioned or similar Hotel in Brussels.
2 Nights Accommodation in mentioned or similar Hotel in Paris.
1 Nights Accommodation in mentioned or similar Hotel in Zurich.
3 Nights Accommodation in mentioned or similar Hotel in Engelberg.
Accommodation in double / twin bedded rooms in hotels stated in itinerary or similar.
Meals, Minivan tours, transfers, entrance fees, sightseeing and surface transportation as indicated in the
itinerary
Visit Glacier 3000 with Cheese and Chocolate factory in Gruyeres
Visit To Disneyland Park
Visit To Paris city tour with Eiffel Tower
Visit the world renowned Grand Palace, the legendary Manneken Pis statue, St. Michaels Church, Palace
of Justice
Visit Swarovski Crystal Museum
Visit to Murano Glass show room and Gondola rideAirfare not included
Visa charges are additional.
Any expenses of personal nature such as porterage, laundry, wines, mineral/bottled water, food and drink
not in the regular menus provided by us, mini bar and telephone calls.
Any other items not mentioned in the Inclusion
City bed taxes if applicable as per the city of visit.
Expenses which are personal in nature tips, Laundry, drinks etc.
Extras in hotels, optional activities, and usually drinks during meals.
Government Service tax 5.0 %",
		      "name": "Affordable Europe Package for 15 Days Fixed Departures",
		      "telephone": "+91-7001746331"
		    }
		    </script>
			";i:5;N;}