a:6:{i:0;s:49372:"				<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>Genuine Europe Package for 12 Days (Europamundo Package)</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.maataratours.com/" title="Home">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b>Genuine Europe Package for 12 Days (Europamundo Package)</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> 84128</p>
												<p class="mb5px"><b>Duration :</b> 
						11 Nights / 12 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> London, Paris, Venice, Florence, Rome, Zurich, Amiens</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="Genuine Europe Package for 12 Days (Europamundo Package) - 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="110980"/>
						</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/182756.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/497806/182756.jpg"  width="150" height="150"    alt="Genuine Europe Package for 12 Days (Europamundo Package)" title="Genuine Europe Package for 12 Days (Europamundo Package)" /></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 Accomodation in mentioned or similar Hotel in Rome.<br />
1 Nights Accomodation in mentioned or similar Hotel in Florence.<br />
1 Nights Accomodation in mentioned or similar Hotel in Venice.<br />
2 Nights Accomodation in mentioned or similar Hotel in Zurich.<br />
2 Nights Accomodation in mentioned or similar Hotel in Paris.<br />
1 Nights Accomodation in mentioned or similar Hotel in Amiens<br />
2 Nights Accomodation in mentioned or similar Hotel in London.<br />
Terms of Europamundo: Travel by bus with English speaking guide, basic travel insurance, and breakfast buffet.<br />
Includes arrival transfer<br />
City tour in: ROME, , VENICE, PARIS, LONDON<br />
Boat: Vaporetto along the canals in Venice in VENICE, Boat Trip along River Seine in PARIS<br />
Evening transfer: Trastevere in ROME, Via Cavour in Rome in ROME, Quartier Latin in Paris in PARIS, Soho District in LONDON, Camden Area in LONDON<br />
Ticket admission: Coliseum in ROME, Saint Mark´s Basilica, Murano Glass Factory in Venice in VENICE, Cable Car to Grindelwald First in Interlaken, 2nd Floor Eiffel Tower in PARIS, Bunker Eperlecques in EPERLECQUES, Traditional Afternoon Tea in LONDON<br />
Ferry: Ferry France to UK in CANTERBURYAirfare not included<br />
Visa charges are additional.<br />
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.<br />
Any other items not mentioned in the Inclusion<br />
Airport taxes, visas, taxes to enter or leave a country, tips which, as specified on the travel pass, for some destinations like the USA are obligatory and must be paid directly on arrival to the driver and/or guide).<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">TODAYâS HIGHLIGHTS: Evening transfer to the Trastevere district. Welcome to Rome! Upon airport arrival, we shall be waiting to transport you to your hotel. Our guide will greet you at the hotel and will provide all the necessary <br />
Package cost 4 Star<br />
1 Person 194278<br />
Per Person(min 2 pax required) 145708<br />
Child With Bed(5-12 yrs) 131186<br />
Child Without Bed(5-12 yrs) 87425<br />
Infant (0-1 yrs) 29142<br />
Destination No of Nights 4 Star<br />
Rome 2 Cristoforo Colombo / similar hotels<br />
Florence 1 Hotel Delta Florence / similar hotels<br />
Venice 1 Michelangelo Hotel / similar hotels<br />
Zurich 2 ibis Zurich Messe-Airport / similar hotels<br />
Paris 2 Courtyard by Marriott Paris<br />
Saint Denis / similar hotels<br />
Amiens 1 Campanile Amiens Centre- Gare / similar hotels<br />
London 2 HOLIDAY INN EXPRESS<br />
LONDON - S / similar hotels information.<br />
At the end of the evening we arrange a transfer to Trastevere area. This neighbourhood will be a great introduction to Rome, a stroll in the narrow cobbled streets of the Trastevere district reveals hidden treasures to us, such as some modest medieval churches, small shops with the most peculiar of objects or scenes of daily life. Many trattorias (informal Italian eating establishments) and osterias (inns) imbued with the Italian spirit will be ready to serve you local dishes. Other restaurants serving Indian, Chinese and international food can be found in this area. Return to 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> Rome
										</p>
										<p class="aj">TODAYâS HIGHLIGHTS: City tour of Rome. Roman Coliseum (admission price included) and visit to the Vatican City.In the morning, we have a scenic tour of the city, which will be a great introduction to âThe Eternal cityâ. We visit the tiny state of the Vatican. The Vatican City is a principal centre of Christianity in the world. You will be able to visit St. Peterâs Basilica. And we have also included admission to the Roman Coliseum, the principal symbol of Rome. This impressive construction dates back 2,000 years and will transport us in time so that we can learn about ancient society in the Roman Empire. In the evening we provide transport to the Via Cavour area, were you will find restaurants serving Italian, Indian, Chinese and international food. Return to 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> Rome-Florence
										</p>
										<p class="aj">TODAYS HIGLIGHTS: Tour with a local expert from Florence. View from Piazzale Michelangelo. We will leave Rome, heading north. This route is graced with beautiful landscapes. Upon arrival in FLORENCE, we head straight to Piazzale Michelangelo, an impressive site in the city. In the evening we provide a tour with a local expert, and walk through the historic centre, taking in places such as the Ponte Vecchio, the Duomo, and Piazza della Signoria. This city is truly an outdoor museum. Free time to explore. In the evening, you can dine at your favourite restaurant. In this district you can find restaurants serving Italian, Indian, Chinese and international food.</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> Florence-Venice
										</p>
										<p class="aj">TODAYâS HIGHLIGHTS: Vaporetto boat on Veniceâs Grand Canal. Visit and admission to the San Marcos Basilica, where we can admire the technique of crafting Murano Glass. Today we enjoy stunning mountain landscapes while crossing the Apennine Mountains. Arriving in VENICE, we will board a Vapporetto to travel around on the canals in the historic centre. With a local guide, we will visit the marvellous Plaza de San Marcos and enter the marvellous basilica (entry cost included). Afterwards, we shall be able to visit the Murano glass factory city. It is marvellous to see the technique of crystal blowing. Free time. At the end of the afternoon, you will have the chance to eat dinner in the Mestre area, where you can choose the type of restaurant that you prefer (Indian, Oriental, Italian, etc.).</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> Venice-Verona-Zurich
										</p>
										<p class="aj">TODAYâS HIGHLIGHTS: We visit the city of Romeo y Juliet. Beautiful countryside while crossing the Alps (lakes and snowy mountains). We will depart from Venice, travelling to VERONA. Our guide will instruct us on the places where you will be able to walk in Romeo and Julietâs city - the city of lovers! Afterwards we continue the journey to Switzerland. Very beautiful lakes and mountains with snow-capped peaks line our route. Arrival in ZURICH. Free time in the historic centre next to the lake, where you will be able to dine in your chosen restaurant serving Italian, Indian, Chinese, international or Swiss food.</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> Zurich-Interlaken-Louver-Zurich
										</p>
										<p class="aj">TODAYÂ´S HIGHLIGHTS: Admire the fantastic landscapes. Cable car included to Grindelwald first. Lunch included.TodayÂ´s stage has beautiful landscapes with high mountains and lakes. Take a stroll through INTERLAKEN and follow to GRINDELWALD where we will have time for a coffee before taking the cable car (ticket included) up to Grindelwald first. We will walk along the path (30 minutes) in which we shall be able to take the "footbridge over the empty" among the fantastic scenery enjoying glaciers around us. Lunch included (vegetarian option available). After that we continue to LUCERNE, one of the most beautiful cities in Switzerland. Returning to the heart of Zurich, enjoy an evening at the cityâs most popular restaurants (Indian, Oriental, Middle Eastern, Swiss, etc.).</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> Zurich-Berne-Paris
										</p>
										<p class="aj">TODAYâS HIGHLIGHTS: Explore Bern, the capital city of Switzerland. Embark on a scenic trip to BERN, capital city of the confederation built around a bend in the Aare River, with its medieval architecture preserved in the Old Town. Time to take a stroll and breathe in the fresh air. Next, we journey to France. Enjoy beautiful lake views on our trip to Paris. <br />
We arrive in the evening. Tour ends (or journey continues depending on rotating schedule of departures).<br />
Recommendation: If you start or end your trip in Paris, we advise you to book an extra day or two in this city. In this way, you will be able to get to see Euro Disney, Versailles and other places of interest</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> Paris
										</p>
										<p class="aj">TODAYâS HIGHLIGHTS: City tour in Paris. Boat ride along the Seine. Climb to the second floor of the Eiffel Tower.<br />
Evening transfer. A scenic guided tour to discover the history, main boulevards and the breath-taking monuments of Paris. We end the visit at the Eiffel Tower area. You will have the opportunity to climb up to the second floor of this remarkable metal monument. End your visit with a boat cruise along the River Seine, which divides the north of Paris from the south. Enjoy a free afternoon to explore as you choose. At sunset enjoy dinner in âQuartier Latinâ, a very picturesque area of the historic centre where a wide variety of international cuisines await you. Return to 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> Paris-Amiens
										</p>
										<p class="aj">TODAYâS HIGHLIGHTS: Amiens Historic Centre. We go to the centre of Paris, to the area of the Louvre Museum. Free time. If you wish we can accompany you to Benlux, one of the most complete and best-known perfumeries in Paris. At around 5:30 PM we will leave Paris for AMIENS, with the highest Cathedral and beautiful historic centre alongside the river. Accommodation in the city.</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> Amiens-Eperlecques-Canterbury-London
										</p>
										<p class="aj">TODAYâS HIGHLIGHTS: World War II bunker. Ferry crossing to United Kingdom.<br />
Evening transfer to Soho. We set off to the north of France. In Eperlecques we visit a huge bunker in the middle of the forest (admission included).<br />
From this point, V1 and V2 missiles were fired to the UK. Next, we leave on a ferry across the English Channel to reach CANTERBURY, the religious capital of England with a very attractive historic centre. Continuation to London. Tonight sit down for dinner at your preferred restaurant (Indian, Chinese, Thai, International, and so on) in the lively Soho district.</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> London
											</p>
											<p class="aj">TODAYS HIGHLIGHTS: Visit London. Changing of the guard. British Museum. English Teatime. Transfer to Camden Town. Get to know LONDON on a locally guided tour featuring style, culture and history. See the Houses of Parliament, the River Thames, the Tower of London and Buckingham Palace, where we shall be able to watch the famous Changing of the Guard (depending on the season). Afterwards, we go to the British Museum, one of the main and oldest museums in the world, where we can see relics from cultures all around the globe. If you wish, later on, you can go on an optional excursion to the London Eye ferries wheel. In the afternoon, at 5pm, after a period of free time, we invite all our travellers to a traditional Afternoon Tea. Afterwards, we provide transfer to Camden, a district famous for having one of the most varied and extravagant street markets in London. Time for dinner in this area with numerous ethnic restaurants (Indian, Thai, Chinese, International, and so on).</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> London
											</p>
											<p class="aj">After breakfast, end of our services.</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>Transport</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 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>
Airport taxes, visas, taxes to enter or leave a country, tips which, as specified on the travel pass, for some destinations like the USA are obligatory and must be paid directly on arrival to the driver and/or guide).</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">4 Star</td>
			</tr>
			<tr>
				<td class="data p5px">1 Person</td>
				<td class="data p5px">194278</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">145708</td>
			</tr>
			<tr>
				<td class="data p5px">Child With Bed(5-12 yrs)</td>
				<td class="data p5px">131186</td>
			</tr>
			<tr>
				<td class="data p5px">Child Without Bed(5-12 yrs)</td>
				<td class="data p5px">87425</td>
			</tr>
			<tr>
				<td class="data p5px">Infant (0-1 yrs)</td>
				<td class="data p5px">29142</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">4 Star</td>
			</tr>
			<tr>
				<td class="data p5px">Rome</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Cristoforo Colombo / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Florence</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Hotel Delta Florence / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Venice</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Michelangelo Hotel / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Zurich</td>
				<td class="data p5px">2</td>
				<td class="data p5px">ibis Zurich Messe-Airport / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Paris</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Courtyard by Marriott Paris Saint Denis / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Amiens</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Campanile Amiens Centre- Gare / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">London</td>
				<td class="data p5px">2</td>
				<td class="data p5px">HOLIDAY INN EXPRESS LONDON - S / 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>				
								<p><strong>Cancellation Policy</strong>

<ul>
	<li>Booking Policy are as follows</li>
	<li>A non-refundable, non- transferable deposit of EUR 100 per person is required to guarantee the booking.</li>
	<li>Final payment for your vacation is due 30 days prior to the departure</li>
	<li>The customer may cancel the services requested or booked at any time, whereby they are entitled to a refund for the amounts paid, but must compensate the agency Via.com a sum of INR 2500 per person, except in cases of force majeure, The processing costs plus the cost of cancellation, if these have been incurred, once the journey has been confirmed by Europa Mundo and regardless of the departure date.</li>
</ul>

<p><strong>Cancellation Policy</strong>

<ul>
	<li>Before departure, Cancellation fee per person</li>
	<li>31 days or more- Euro 100 will be charged</li>
	<li>less than 30 days- Euro 100 + 10% of the total tour cost</li>
	<li>Less than 10 days- Euro 100 + 25% of the total tour cost</li>
	<li>Less than 3 days- Euro 100 + 35% of the total tour cost</li>
	<li>Less than 1 day- 100% of the total tour cost</li>
	<li>No shows at the start, without prior cancellation, will not be entitled to any refund except through force majeure, which will be examined on a case by case basis.</li>
</ul>

<p><strong>Terms and Conditions</strong>

<ul>
	<li>Passport Copies for all the bookings made is mandatory and requires to send us the first page and last page.</li>
	<li>Payment for all bookings must reach our office prior to commencement date of cancellation as applicable.</li>
	<li>The services provided by Europamundo Vacaciones S.L. are overland.</li>
	<li>Europamundo Vacaciones S.L.is not responsible for the consequences or circumstances arising from services that are not provided by our company flight problems,loss of or damage to luggage on flights, problems at borders/customs or those relating to documentation,etc..</li>
	<li>Non Admittance of Passengers-A moderate degree of physical health and physical ability is required to participate in our tours.In the event of any passenger with special physical or mental needs,or in cases where a passenger is over 75 years of age is travelling alone,Europamundo must be informed in writing at the time of booking, which will be analysed on a case by case basis,and it is possible that Europamundo may request a medical report.In cases in which the customer accepts the tour,Europamundo cannot assume any responsibility in relation to the difficulty or impossibility that the said passenger may encounter in undertaking the activities planned for the tour package, nor can they assume any responsibility for providing assistance for their adaptation to, or continuation of, the trip. No reservations will be accepted and Europamundo reserves the right to suspend any tour for passengers whose physical and/or mental conditions make their participation in it very difficult or dangerous to themselves or others.Europamundo likewise reserves the right to exclude passengers who significantly disrupt the smooth-running of the trip.</li>
	<li>Documentation- All passengers must bring their valid documentation passport, visas, health certificates, etc., with the problems and disadvantages that may arise from non-compliance with this norm being their full responsibility.The interruption of the services taken out is not considered Cancellation for force majeure where the passenger is not carrying the required documentation or in instances where the traveller is denied passage through any border for this reason.It should be pointed out that we often note that the European border authorities often deny transit to passengers who they believe have acquired the trip for purposes other than tourism immigrants.</li>
	<li>Europamundo cannot undertake any arrangements or make any reimbursement for services that cannot be used in such cases.Cancelling a tour before it starts due to a rejected visa application is, however, considered to be through force majeure provided that this is documented or noted in the passport, and that we are notified within 72 hours following the refusal.</li>
	<li>Guaranteed Departures- All our tours have guaranteed departures, although in extremely limited cases, it could transpire that Europamundo is unable to operate a given departure.In this case, and by way of compensation, Europamundo will provide the same trip on an earlier or later date than the one chosen or another trip with similar features vis-a-vis duration and route, and offer, by way of compensation, a reduction of 50% on the value of the aforementioned journey.</li>
	<li>Cancellations of guaranteed departures may arise without compensation or liability on behalf of Europamundo in cases of exceptional unforeseen circumstances - among others - wartime conflicts, terrorist attacks, natural disasters, epidemics and economic circumstances that generate a very significant drop in the expected sales.</li>
	<li>Meeting Point or Departure Point- Unless otherwise stated, the starting point for the beginning of a tour is the hotel, if this was booked as an additional night or as a stop-over or end-point for another Europamundo itinerary.It is very important that travellers check the place of departure on their travel pass.No shows at that place on the date and time confirmed can involve losing the purchased services without any right to a refund of the same, with a lack of punctuality incurring the same consequences,both at the beginning of a tour and during the course of the same.</li>
	<li>Additional Nights- The prices listed for Additional Nights are only valid for travellers who purchase tours with Europamundo,provided that these nights immediately precede or are a direct extension of our tour.Given that Europamundo has no places reserved in hotels for these additional nights, we cannot guarantee either the rate which in periods of high hotel occupancy or difficulty may vary, or the hotel that is booked, which in many cases will be confirmed at the last minute.</li>
</ul>

<p><strong>Transfer Policy-</strong>

<ul>
	<li>They transfers included for the trip are specified on a tour by tour basis. In the event that transfers are included, which could be private or shared with other passengers, these may be provided from hotel to hotel or from the airport in the city where the passenger will join the tour to the hotel or vice versa at the beginning or end of the trip, with the right to the aforementioned transfer being lost where the passenger has arranged nights in between through a different travel company or where the airport / port is located at a distance of over 40 km. In the event that the traveller themselves request a change to this service, responsibility for this transfer is linked to the correct information on the number of the flight / train / hotel, with it being the passenger or travel agent&amp; 146;s responsibility, in this case, to pass on this information.</li>
	<li>Shared Bookings- Europamundo will accept shared bookings for individual travellers on all our tours at an additional cost of 35 Euros. No reservations will be accepted for sharing on nights that are added on to the tours. In cases where a section of the trip is taken, shared reservations are accepted only if the length of the section includes at least 7 nights in hotels.</li>
	<li>Double Bedrooms and Triple Bedrooms- Europamundo cannot guarantee that all the rooms in the hotels will have double beds and it is possible that, in some hotels, the room will be a twin two single beds. In many hotels there are no triple rooms, with these actually being a double room of one or two beds with an additional bed which in some cases might be a folding one. The conditions and comfort are lower than in the doubles. We do not recommend booking triple rooms for three adults; we would only suggest this for families travelling with a child.</li>
	<li>Children under 3 years of age go Free they do not have the right to a seat in the coach or to a bed in the hotel</li>
	<li>Children from 3 to 8 years of age are entitled to a discount of 40% with a minimum of one adult per child</li>
	<li>Children from 9 to 15 years of age are entitled to a 10% discount on the value of the trip.</li>
	<li>Europamundo will not accept any liability for the loss or theft of luggage occurring at the hotels or where bags are left in the hold of the coaches overnight. Europamundo cannot accept responsibility for the loss or theft of baggage, money, jewellery, electronic items or valuables, even when this occurs in the rooms of the hotels or if the items have been deposited in the safe-deposit box. In the event that passengers travel with luggage that has a higher value than is covered in the included policy, we recommend making a declaration for these items before commencing a tour and taking out additional insurance.</li>
	<li>Changes in Prices- In countries where our catalogues publish the prices for European tours in dollars, the published prices have been calculated at the rates of exchange prevailing at the time that the catalogue was created November 2015 and these will not be modified if the average monthly comparison in the month before that in which the booking was made, for the dollar against the Euro, was not less than 1.12 USD / Euro and not more than 1.28 USD / Euro.In the event of variations above or below the specified values, the prices of this manual will be altered increased or decreased by the same proportion.</li>
	<li>Prices in 2017- In the event that customers wish to take a trip during 2017 which start after the dates specified in this catalogue,Europamundo will uphold the price indicated in this brochure if passengers make a firm booking with the deposit being received before the 15th of January 2017.This booking does not allow changes to the itinerary, alterations to the departure date or name changes.</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>								</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="Genuine Europe Package for 12 Days (Europamundo Package) - 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="110980"/>
						</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 London, Paris, Venice, Florence, 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/affordable-europe-package-for15-days-fixed-departures.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_17/497806/182148.jpg"  alt="Affordable Europe Package for 15 Days Fixed Departures" title="Affordable Europe Package for 15 Days Fixed Departures"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.maataratours.com/tour-packages/affordable-europe-package-for15-days-fixed-departures.htm" title="Affordable Europe Package for 15 Days Fixed Departures"><h3>Affordable Europe Package For 15 Days Fixe..</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> :  Paris, Venice, Florence, Engelberg, Amst..</p>
															<div class="mt10px small">
							<form name="pkg_110484" id="pkg_110484" 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/affordable-europe-package-for15-days-fixed-departures.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Affordable Europe Package for 15 Days Fixed Departures - 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="110484"/>
							</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:97:"Book Genuine Europe Package for 12 Days (Europamundo Package) - 11 Nights / 12 Days Tour Packages";i:2;s:190:"book genuine europe package for 12 days (europamundo package) - 11 nights / 12 days tour packages, heritage tour packages, london, paris, venice, florence, rome, zurich, amiens tour packages";i:3;s:231:"Maa Tara Tours & Travels offers Genuine Europe Package for 12 Days (Europamundo Package) - 11 Nights / 12 Days tour package, budget Heritage tour packages for London, Paris, Venice, Florence, Rome, Zurich, Amiens at exciting price.";i:4;s:2240:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Paris, Venice, Florence, Rome, Zurich, Amiens"        
		                 },
		      "description": "2 Nights Accomodation in mentioned or similar Hotel in Rome.
1 Nights Accomodation in mentioned or similar Hotel in Florence.
1 Nights Accomodation in mentioned or similar Hotel in Venice.
2 Nights Accomodation in mentioned or similar Hotel in Zurich.
2 Nights Accomodation in mentioned or similar Hotel in Paris.
1 Nights Accomodation in mentioned or similar Hotel in Amiens
2 Nights Accomodation in mentioned or similar Hotel in London.
Terms of Europamundo: Travel by bus with English speaking guide, basic travel insurance, and breakfast buffet.
Includes arrival transfer
City tour in: ROME, , VENICE, PARIS, LONDON
Boat: Vaporetto along the canals in Venice in VENICE, Boat Trip along River Seine in PARIS
Evening transfer: Trastevere in ROME, Via Cavour in Rome in ROME, Quartier Latin in Paris in PARIS, Soho District in LONDON, Camden Area in LONDON
Ticket admission: Coliseum in ROME, Saint Mark´s Basilica, Murano Glass Factory in Venice in VENICE, Cable Car to Grindelwald First in Interlaken, 2nd Floor Eiffel Tower in PARIS, Bunker Eperlecques in EPERLECQUES, Traditional Afternoon Tea in LONDON
Ferry: Ferry France to UK in CANTERBURYAirfare 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
Airport taxes, visas, taxes to enter or leave a country, tips which, as specified on the travel pass, for some destinations like the USA are obligatory and must be paid directly on arrival to the driver and/or guide).
Extras in hotels, optional activities, and usually drinks during meals.
Government Service tax 5.0 %",
		      "name": "Genuine Europe Package for 12 Days (Europamundo Package)",
		      "telephone": "+91-7001746331"
		    }
		    </script>
			";i:5;N;}