a:6:{i:0;s:46591:"				<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>Classical Spain with Paris Package for 10 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>Classical Spain with Paris Package for 10 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>Duration :</b> 
						9 Nights / 10 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Barcelona, Paris, Madrid, Seville, Granada</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="Classical Spain with Paris Package for 10 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="110503"/>
						</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/182194.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/497806/182194.jpg"  width="150" height="150"    alt="Classical Spain with Paris Package for 10 Days ( Europamundo Package)" title="Classical Spain with Paris Package for 10 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>
													
								Terms of Europamundo: Travel by bus with English speaking guide, basic travel insurance, and breakfast buffet.<br />
Includes arrival transfer<br />
City tour in: MADRID, GRANADA, SEVILLE, BARCELONA, PARIS<br />
Boat: Boat Trip along River Seine in PARIS<br />
Evening transfer: Debod Temple and Plaza de Espana/Gran Via in MADRID, Plaza de Oriente in MADRID, Plaza de Gracia in GRANADA, Ramblas and Plaza de Cataluna in BARCELONA, Latin Quartier in PARIS<br />
Ticket admission: Plaza de Toros de las Ventas in MADRID, Alhambra in Granada in GRANADA, Poblet Monastery in Poblet, Poble Espanyol in BARCELONA, 2nd Floor Eiffel Tower in PARIS<br />
Train: Montserrat in Montserrat<br />
High speed train: Seville - Madrid Transfers included) in MADRID<br />
<br />
Cancellation Policy<br />
Booking Policy are as follows<br />
A non-refundable, non- transferable deposit of EUR 100 per person is required to guarantee the booking.<br />
Final payment for your vacation is due 30 days prior to the departure<br />
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.<br />
Before departure, Cancellation fee per person<br />
31 days or more- Euro 100 will be charged<br />
less than 30 days- Euro 100 + 10% of the total tour cost<br />
Less than 10 days- Euro 100 + 25% of the total tour cost<br />
Less than 3 days- Euro 100 + 35% of the total tour cost<br />
Less than 1 day- 100% of the total tour cost<br />
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).Airfare 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 />
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> Madrid
										</p>
										<p class="aj">TODAYS HIGHLIGHTS: Evening transport to the Gran Vaa district. Welcome to Madrid! Upon arrival at the airport,<br />
we shall be waiting to transfer you to your hotel. Our guide will be ready to welcome you and will provide the necessary information. Towards the end of the day, we provide transfers to the Egyptian Debod temple, Plaza de Espaa and Gran Via; a vibrant district where you can dine at your preferred restaurant: Indian, Chinese, Spanish and Middle<br />
Eastern are some of the option</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> Madrid
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Madrid city tour. Visit to the Plaza de Toros de las Ventas bullring. Stroll through the Retiro Park. This morning, experience the city on a guided tour, which showcases the cityas vibrant centre, the beautiful Plaza Mayor (Main Square), its broad and magnificent avenues and its many fountains. Our tour includes a visit to see inside the Plaza de Toros de las Ventas, a fine-looking building. Here we learn about the tradition of acorridasa in the Package cost 4 Star<br />
1 Person 155029<br />
Per Person(min 2 pax required) 117744<br />
Destination No of Nights 4 Star<br />
Madrid 1 Praga / similar hotels<br />
Granada 1 Alixares Hotel / similar hotels<br />
Seville 1 TRH Alcora / similar hotels<br />
Barcelona 2 Hotel FrontAir Congress<br />
Barcelona / similar hotels<br />
Paris 2 Courtyard by Marriott Paris<br />
Saint Denis / similar hotels<br />
Bullfighting Museum. Also the day includes a walking tour of the beautiful Retiro Park, enhanced by the lake and Crystal Palace. Enjoy the rest of the afternoon. At sunset we provide transfer to the Plaza de Oriente in the historic centre of Madrid, opposite the Royal Palace. In this area there are many restaurants serving different exquisite cuisines (Indian, Middle Eastern, Muslim, Spanish, InterÂnational).<br />
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> Granada
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Entrance and local guide in the Alhambra. Evening transfer. Leaving Madrid by bus in the early morning (if the group of English-speaking travellers is fewer than 10, they will share the trip to Granada with Spanish-speaking passengers). We travel to the south across La Mancha, stopping in PUERTO LAPICE, a amanchegoa village evoking the figure of Don Quixote. We will enter Andalusia via DespeA±aperros. GRANADA, arrival. In the afternoon we will visit the immense Alhambra Palace, with entrance and local guide included, and its beautiful Generalife gardens, built in Arab times. Later, enjoy an evening transfer to the Plaza de Gracia in Granadaas city centre, where restaurants mix with local cultural flavour to create an unforgettable night. Choose between Spanish, international, Chinese, Latin cuisines, etc. Tonight you have the option to attend a flamenco dance show and the traditional neighbourhood of SacAramonte.<br />
Note: in the Alhambra complex, the Nazari palaces allow a limited number of people in at a time. In the highly improbable case of not being able to visit this area of the Alhambra, a visit to the AlcA¡zares will be included in Seville (which have similar architecture and features).</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> Seville
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: we will see the beautiful Andalusian village of Ronda. We leave Granada and travel towards the Costa del Sol. MALAGA, arrival and time for a stroll in the historic centre with its cathedral and the Picasso Museum. After this we will continue along the coastal motorway with beautiful views of the Mediterranean. PUERTO BANUS, in Marbella, a pretty high level recreational port. Time for lunch. In the afternoon we will continue through the hills and their stories of bandoliers until we come to RONDA, a very beautiful white town with its large gorge that divides it in two. Continuation to SEVILLE. Arrival at the end of the afternoon.</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> Madrid
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Guided visit with local expert in Seville. High Speed train from Seville to Madrid. After breakfast, a local expert guides you through a scenic visit of Seville featuring the Cathedral and its famous Giralda, the banks of the Guadalquivir river, popular neighborhoods of Santa Cruz and Triana and the beautiful Plaza de EspaAa (note: if the group has fewer than fifteen travelers, it can be arranged in both Spanish and English). In the afternoon, you will be transferred to the train station. We travel for 2 Â½ h on a high-speed train to Madrid. The train is quite comfortable and it is an enjoyable trip through Andalusian and Castilian landscapes. Possibility for the train to reach speeds of around 300 km/h (186 m/h). Arrival to Madrid and transfer to 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 6:</b> Barcelona
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: BasAlica del Pilar, visit to medieval monastery. Ride on a rack train. We depart early in the morning from Madrid. Heading towards AragA³n, we pause our journey in ZARAGOZA. Our guide will join the group to BasAlica del PiÂlar.<br />
Directly afterwards, the group will have free time to visit this impressive sanctuary and enjoy free time in the city centre. Later, we make our way to CataluA±a to the Monastery of Poblet, surrounded by walls in a beautiful setting, this is one of the best preserved medieval monasteries in the world (entrance and guided tour included). We then go on to the Monastery of Montserrat where we include a ride on the rack train for the fantastic views this gives. Continuation to BARCELONA, arrival in the late afternoon. Important note: in the winter months, from November to March (included), due to the shorter days, the Monastery of Poblet will not be visited (so that we can reach Montserrat in the daylight).</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> Barcelona
										</p>
										<p class="aj">TODAYaS HIGHLIGHTS: Barcelona city tour. aSpanish Villagea visit and evening transfer to Las Ramblas district.<br />
Today we will get to know Barcelona, an impressive city right on the MediAterranean Sea. Our visit includes an informative city tour with a local expert (note: If the group has fewer than fifteen people, explanations can be given by our guide.) We also visit the cityas historic central area with its Gothic neighAbourhood dating back to the Middle Ages.<br />
We will visit the area where the Olympic Games took place. It will be possible to see and photograph La Sagrada FaAmilia basilica; the masterpiece designed by the architect GaudA.<br />
Subsequently, we include the entry ticket to aPoble Espanyola (meaning aSpanish Villagea). This open air architectural museum is situated in one of the most emblematic areas of Barcelona. Be delighted by the best Spanish craftsmanship and discover the architectural styles, traditions and folklore of the different communities in Spain. Free time to explore the city on your own. In the evening we provide transfer to Las Ramblas and Plaza CataAlunya area, where you can select from a great variety of restaurants (including Indian, Chinese, Halal, International and regional Spanish cuisine). 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 8:</b> Paris
										</p>
										<p class="aj">TODAYA´S HIGHLIGHTS: We will travel on a high-speed train.After breakfast we arrange a transfer (included) to the train station. We travel on a high-speed train. (Note: A guide will only travel on the train ride if the group is over 15 passengers.) The train is quite comfortable and it is an enjoyable trip through wonderful landscapes. On several occasions our train will reach speeds of around 300 km/h (186 m/h). The train journey takes 6A½ hours. Arrival in Paris and transfer to the hotel. At the end of the evening, we provide transfer to the Montmartre disAtrict.<br />
This neighbourhood is known for its painters, artists, and its cabAaretsa ¦ Sit down to dinner and enjoy a magical night. You can choose between Indian, Chinese, French and American cuisines. We will ascend by cable car to the hill and admire the spectacular view of Paris from the top. 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
										</p>
										<p class="aj">TODAYaS 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 aQuartier Latina, 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 10:</b> Paris
										</p>
										<p class="aj">After breakfast, end of our services.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Transport</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 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">4 Star</td>
			</tr>
			<tr>
				<td class="data p5px">1 Person</td>
				<td class="data p5px">155029</td>
			</tr>
			<tr>
				<td class="data p5px">Per Person(min 2 pax required)</td>
				<td class="data p5px">117744</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">Madrid</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Praga / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Granada</td>
				<td class="data p5px">1</td>
				<td class="data p5px">Alixares Hotel / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Seville</td>
				<td class="data p5px">1</td>
				<td class="data p5px">TRH Alcora / similar hotels</td>
			</tr>
			<tr>
				<td class="data p5px">Barcelona</td>
				<td class="data p5px">2</td>
				<td class="data p5px">Hotel FrontAir Congress Barcelona / 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>
		</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>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</li>
	<li>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 agents 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</li>
	<li>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="Classical Spain with Paris Package for 10 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="110503"/>
						</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-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-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-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-anantnag.htm" title="Packages in Anantnag">Anantnag</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-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-agra.htm" title="Packages in Agra">Agra</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-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-kufri.htm" title="Packages in Kufri">Kufri</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-florence.htm" title="Packages in Florence">Florence</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-queenstown.htm" title="Packages in Queenstown">Queenstown</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-mussoorie.htm" title="Packages in Mussoorie">Mussoorie</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-venice.htm" title="Packages in Venice">Venice</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-paro.htm" title="Packages in Paro">Paro</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-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="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 Barcelona, Paris, Madrid, Seville, Granada</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/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>
												
							<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:109:"Book Classical Spain with Paris Package for 10 Days ( Europamundo Package) - 9 Nights / 10 Days Tour Packages";i:2;s:191:"book classical spain with paris package for 10 days ( europamundo package) - 9 nights / 10 days tour packages, heritage tour packages, barcelona, paris, madrid, seville, granada tour packages";i:3;s:248:"Book Classical Spain with Paris Package for 10 Days ( Europamundo Package) - 9 Nights / 10 Days tour packages from Maa Tara Tours & Travels - Get attractive 9 Nights / 10 Days Heritage  tour packages for  Barcelona, Paris, Madrid, Seville, Granada.";i:4;s:2808:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Barcelona, Paris, Madrid, Seville, Granada"        
		                 },
		      "description": "Terms of Europamundo: Travel by bus with English speaking guide, basic travel insurance, and breakfast buffet.
Includes arrival transfer
City tour in: MADRID, GRANADA, SEVILLE, BARCELONA, PARIS
Boat: Boat Trip along River Seine in PARIS
Evening transfer: Debod Temple and Plaza de Espana/Gran Via in MADRID, Plaza de Oriente in MADRID, Plaza de Gracia in GRANADA, Ramblas and Plaza de Cataluna in BARCELONA, Latin Quartier in PARIS
Ticket admission: Plaza de Toros de las Ventas in MADRID, Alhambra in Granada in GRANADA, Poblet Monastery in Poblet, Poble Espanyol in BARCELONA, 2nd Floor Eiffel Tower in PARIS
Train: Montserrat in Montserrat
High speed train: Seville - Madrid Transfers included) in MADRID

Cancellation Policy
Booking Policy are as follows
A non-refundable, non- transferable deposit of EUR 100 per person is required to guarantee the booking.
Final payment for your vacation is due 30 days prior to the departure
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.
Before departure, Cancellation fee per person
31 days or more- Euro 100 will be charged
less than 30 days- Euro 100 + 10% of the total tour cost
Less than 10 days- Euro 100 + 25% of the total tour cost
Less than 3 days- Euro 100 + 35% of the total tour cost
Less than 1 day- 100% of the total tour cost
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).Airfare 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": "Classical Spain with Paris Package for 10 Days ( Europamundo Package)",
		      "telephone": "+91-7001746331"
		    }
		    </script>
			";i:5;N;}