a:6:{i:0;s:47061:"				<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="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.maataratours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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-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-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 "><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-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-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="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.maataratours.com/packages-in-punakha.htm" title="Packages in Punakha">Punakha</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;}