a:6:{i:0;s:51558:"				<div class="h1"><h1>Passionate Europe - Summer 2016 Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="https://www.grandindiatrip.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="https://www.grandindiatrip.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Passionate Europe - Summer 2016 Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Tour Code </td>
						<td class="p5px pl0px vat">Passionate Europe</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						19 Nights / 20 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">London, Paris, Amsterdam, Rome, Vienna, Bern</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 248444 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">HIGHLIGHTS-<br />
All 'must see' sights covered.<br />
Easy Traveling, Smooth Sailing - On a Cox & Kings holiday you can just relax and we'll take care of everything.<br />
First Class Service - From location, service, to ambience, every detail is looked into, to ensure that your stay is an enjoyable one.<br />
A Friend In Need - Our Tour Manager Indeed - Our Tour Manager will at once make you feel at home. He'll show you the sights, guide you and take care of any problem, small or big!<br />
Great Meals - Stimulate your palate with a wide array of Indian dishes carefully selected and flavoured with authentic ingredients and spices.<br />
Sightseeing That Takes Your Breath Away - Enjoy the scenic journey through Europe with its ever changing landscape - from bustling cosmopolitan cities to tranquil lakes and alpine mountains. We offer a terrific holiday value that's impossible to match!<br />
Fabulous Optionals, Great Prices - You can design the holidays of your choice from the plethora of options before you.<br />
Ride on the London Eye & Visit Madame Tussauds Wax Museum.<br />
Amsterdam through the Canals.<br />
Perfume shopping experience at exclusive Fragonard in Paris.<br />
Exclusive Mt. Cox and Kings with Gala dinner in Switzerland.<br />
Glacier 3000 - One of the most beautiful Alpine peaks.<br />
Be dazzled in Swarovski Crystal World.<br />
Explore Vatican City with St. Peter's Basilica.<br />
Hide..<br />
Onto Jungfrau. Reach the highest altitude railway station in Europe by a charming, red cogwheel train, amid dramatic, wonderful mountain scenery!<br />
<br />
What could be more tempting in this icy cold scenario, than a hot Indian lunch!<br />
<br />
Walk on the great Aletsch Glacier. Visit the Sphinx Observation Terrace, at 3571. The new Cinema Experience and the new Alpine sensation are attractions, enroute to the glistening Ice Palace.<br />
<br />
Descend to visit the popular holiday resort of Interlaken, cradled cosily between the beautiful Lakes of Brienz and Thun, where even today you see horse-drawn carriages.<br />
<br />
Indulge in some Swiss shopping. Next to a virtually unlimited selection of watches and jewellery, every store carries a vast array of small famous brand gifts and souvenirs, priced for every pocket.</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Passionate Europe - Summer 2016 Tour - 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="60814"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_9/257644/114353.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_9/257644/114353.jpg"  width="150" height="150"    alt="Passionate Europe - Summer 2016 Tour" title="Passionate Europe - Summer 2016 Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Paris - the City of Lights lives up to its name after dark. The treasures along your route will captivate even the most seasoned sightseer. The tunnels, lakes, bridges and visits to the summits of Swiss mountains with their Alpine views, the Majesty of the Vatican with a unique collection of artistic and architectural masterpieces, the awe aspiring visit to the Eternal city of Rome and the water scape of Venice are some of the special highlights of your Passionate Europe tourHIGHLIGHTS-<br />
All 'must see' sights covered.<br />
Easy Traveling, Smooth Sailing - On a Cox & Kings holiday you can just relax and we'll take care of everything.<br />
First Class Service - From location, service, to ambience, every detail is looked into, to ensure that your stay is an enjoyable one.<br />
A Friend In Need - Our Tour Manager Indeed - Our Tour Manager will at once make you feel at home. He'll show you the sights, guide you and take care of any problem, small or big!<br />
Great Meals - Stimulate your palate with a wide array of Indian dishes carefully selected and flavoured with authentic ingredients and spices.<br />
Sightseeing That Takes Your Breath Away - Enjoy the scenic journey through Europe with its ever changing landscape - from bustling cosmopolitan cities to tranquil lakes and alpine mountains. We offer a terrific holiday value that's impossible to match!<br />
Fabulous Optionals, Great Prices - You can design the holidays of your choice from the plethora of options before you.<br />
Ride on the London Eye & Visit Madame Tussauds Wax Museum.<br />
Amsterdam through the Canals.<br />
Perfume shopping experience at exclusive Fragonard in Paris.<br />
Exclusive Mt. Cox and Kings with Gala dinner in Switzerland.<br />
Glacier 3000 - One of the most beautiful Alpine peaks.<br />
Be dazzled in Swarovski Crystal World.<br />
Explore Vatican City with St. Peter's Basilica.<br />
Hide..<br />
Onto Jungfrau. Reach the highest altitude railway station in Europe by a charming, red cogwheel train, amid dramatic, wonderful mountain scenery!<br />
<br />
What could be more tempting in this icy cold scenario, than a hot Indian lunch!<br />
<br />
Walk on the great Aletsch Glacier. Visit the Sphinx Observation Terrace, at 3571. The new Cinema Experience and the new Alpine sensation are attractions, enroute to the glistening Ice Palace.<br />
<br />
Descend to visit the popular holiday resort of Interlaken, cradled cosily between the beautiful Lakes of Brienz and Thun, where even today you see horse-drawn carriages.<br />
<br />
Indulge in some Swiss shopping. Next to a virtually unlimited selection of watches and jewellery, every store carries a vast array of small famous brand gifts and souvenirs, priced for every pocket.An additional amount of INR 1,500 is to be compulsorily paid by way of "Secure your Booking Amount".<br />
Optional & Add-On tours unless mentioned otherwise.<br />
Cost of US $ 2,50,000 granted by the Reserve Bank of India under the Liberalised Remittance Scheme.<br />
Any increase in the airfare / taxes / routing charged by the airlines for ticket (presently calculated on 14th Aug 2015)<br />
Airline and Hotel surcharges (if applicable) during high / festive season to be paid extra per person.<br />
Cost of extension of validity or deviation of your air ticket.<br />
Any increase in Rate of Euro leading to an increase in Tour Cost coming into effect prior to departure. However, the rate prevailing on the given day of payment will apply.<br />
Porterage at hotels, apartment, airports and seaports, tips, laundry, wines, mineral water, telephone charges, all items of personal nature and also food and drinks not forming part of the touring group's menu.<br />
Medical test and Premium cost of your Overseas Travel Insurance policy valid for passengers above 70 years of age.<br />
Anything not specifically mentioned in 'What Your Tour Price Includes' box.<br />
Government Service Tax 4.35% on gross bill, effective from 1st Apr 2016.<br />
Gratuities / Administration and Service Fee. (To be paid directly on board the cruise)25-0530-09<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> Arrive London
								</p>
								<p class="aj">A warm welcome to Passionate Europe' tour. Your representative greets you at the designated 'meeting point' at the exit after immigration and customs and transfers you comfortably to your hotel (check in after 1600 hrs).<br />
Cox and Kings takes care to start your sightseeing only the next day so that you can relax after your long flight and get over your jetlag.<br />
(Please note depending on the flight availability, you may arrive in Birmingham, Manchester, Gatwick, Heathrow or similar Airports)<br />
Overnight in London.</p>					
									<p><b>Meals : </b> indian dinner at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> In London
								</p>
								<p class="aj">Live history through a guided panoramic highlight city tour of London. Get acquainted with some of London's iconic landmarks like the Tower Bridge, River Thames, London Eye, Tower of London, Hyde Park, Big Ben, Westminster Palace, Westminster Abbey, St. Paul's Cathedral, the famous Piccadilly Circus, Nelson's Column at Trafalgar Square followed by the majesty of Buckingham Palace which is the Queen's official residence. Enjoy the Changing of the Guards (on days when this takes place).<br />
Later, ride the London Eye, the world's tallest Ferris wheel and during the gradual 30-minute flight, see views of London.<br />
You have a date with over 400 celebrities at Madame Tussauds Wax Museum, the world's largest exhibition of life like wax models. Take a photograph with Amitabh Bachchan.<br />
Return to your hotel for dinner.<br />
Overnight in London.</p>					
									<p><b>Meals : </b> Breakfast at the hotel and Indian dinner at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Onto The Netherlands.
								</p>
								<p class="aj">Today, onto Folkstone to cross the English Channel through the Eurotunnel or drive to Dover to take the ferry and arrive in Calais. Then drive on to Brussels.<br />
<br />
On arrival a walking Orientation tour takes you to the magnificent Gothic St. Michel and St. Gudula Cathedral. Then via Galeries Saint Hubert - the world's first shopping mall, opened in 1847, to the Grand P lace, Europe's most beautiful square. This exquisite market square is the main tourist attraction of the city. Time permitting, shop here for world famous Belgian lace, chocolate and Belgian Waffles dusted with caramelized sugar. Mmmm!<br />
Visit the Manneken Pis, (photo stop) - the cheeky statue of a boy, representing the "irreverent spirit" of Brussels, which has drawn sightseers for centuries.<br />
Drive to your hotel in The Netherlands and check in.<br />
Overnight in the Netherlands.</p>					
									<p><b>Meals : </b> Breakfast at the hotel, Packed Lunch from an Indian restaurant and Indian dinner at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> In the Netherlands
								</p>
								<p class="aj">Today, drive through Dutch countryside where Windmills still wield their magic. There's a photo stop at one. If you come to Holland when tulips are in bloom (only from March 24th to May 16th) visit the famous Keukenhof Tulip Gardens. The rest of the year, visit Madurodam - an enchanting miniature city that features the best of the Netherlands. Onto Amsterdam - Clogs, Cheese and Holland are inseparable and a factory visit demonstrates this business.<br />
 <br />
The canals beckon as you board a glass topped boat and glide past regal mansions, houseboats and bridges. A canal cruise in Amsterdam is a rewarding experience. Spend some free time at Dam Square with the Nieuwe Kerk (New Church), the Royal Palace and the National Monument.<br />
After an eventful day return to your hotel.<br />
Overnight in the Netherlands.</p>					
									<p><b>Meals : </b> Breakfast at the hotel, Lunch at an Indian restaurant and Indian dinner at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Onto Paris
								</p>
								<p class="aj">Drive to Paris, the 'City of Lights'. Unleash the child in you and enjoy our highly recommended, fun- filled exclusive excursion to Parc Asterix. 7 adventure areas, 27 attractions and 6 shows set your heart racing. Thrilling rides and incredible shows make it a complete family attraction. (On days when we are unable to visit Parc Asterix due to it not being open to visitors we will visit the Louvre Museum).<br />
After all this fun, check into your hotel.<br />
The evening is at Leisure or You have the option to enjoy "Gala Evening in Paris" and experience the joie de vivre of 'Gaie Paris'.<br />
Overnight in Paris.</p>					
									<p><b>Meals : </b> Breakfast at the hotel and Dinner at an Indian restaurant.</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> In Paris
								</p>
								<p class="aj">Today, visit Fragonard, an exclusive from Cox & Kings. Discover Fragonard's creations on sale at factory prices. <br />
<br />
Enjoy a guided panoramic highlight city tour. Drive past monuments like the pyramid of the Louvre, Garnier's Opera, the River Seine, the Place de la Concorde, the Champs Elysees the Napoleanic Arc de Triomphe and the Hotel des Invalides.<br />
<br />
End the day with a dazzling overview of the city from the 3rd level of the Eiffel Tower!<br />
After dinner, return to your hotel.<br />
Overnight in Paris.</p>					
									<p><b>Meals : </b> Breakfast at the hotel, Lunch and Dinner at an Indian restaurant.</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> Onto Switzerland
								</p>
								<p class="aj">Today enjoy a long drive of over 6 hours part of which is along the Wine road - the sunny vineyard slopes of the Lavaux a UNESCO World Heritage Site, past Lausanne, Vevey, Montreaux along the north shores of Lake Geneva. On arrival check into your hotel.<br />
Exclusive entertainment is lined up for you this evening. A mountain that's all yours! We make sure that ultimate fantasy comes true with Mt. Cox & Kings, it's only for you!<br />
<br />
Getting there is half the fun! Wind your way uphill in a cable car (weather permitting) with a panoramic 360 degree view. That's not all! We top it with Disco Dancing and a sumptuous Dinner! With Cox & Kings you're constantly on a high!<br />
(In the event of bad weather and the cable car not operating, a gala dinner will be organised instead at an alternate location).<br />
Overnight in Switzerland.</p>					
									<p><b>Meals : </b> Breakfast at the hotel, Packed Lunch from an Indian restaurant and Gala Dinner at Mt. Cox & Kings.</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> In Switzerland
								</p>
								<p class="aj">Glacier 3000 Awaits ! An everlasting snow mountain, offering panoramic views of the most beautiful summits of the Alps. Ascent is by cable car to Scex Rouge (2971m). <br />
A special adrenaline kick with a wild ride on the Alpine Coaster (weather permitting), the world's highest bobsleigh track. You can cruise along at approx. 40 km/hour and with the brakes you determine how fast you want to go. The ultimate highlight is the 520-degree loop, followed by 10 curves, 6 waves, 3 jumps and 2 bridges.<br />
The View Point (stairs) located directly behind the Restaurant Botta 3000 has a 360-degree view that includes some of the most beautiful alpine peaks - from the Eiger, Monch and Jungfrau to the Matterhorn - take the 107 meters Peak Walk along a suspension bridge. <br />
<br />
Later take the Ice Express to ride the snow bus over the glacier. Enjoy hot buffet lunch. Return to Col de Pillon.<br />
<br />
Onto Lucerne with its picturesque mountains, the poignant Lion Monument, built to commemorate the brave Swiss soldiers killed during the French Revolution.<br />
Stroll along the covered, wooden Kappellbrucke (chapel bridge), to the ornate Jesuit Church.<br />
 <br />
You will have your first encounter with the marvels of Swiss shopping. Later, return to your hotel.<br />
Overnight in Switzerland.</p>					
									<p><b>Meals : </b> Breakfast at the hotel, Lunch at Glacier 3000 and Indian dinner at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 9:</b> In Switzerland
								</p>
								<p class="aj">The day is at leisure or chooses an Optional excursion to the Jungfrau, the 'Top of Europe', a wonderful world of glaciers and eternal ice and Interlaken City tour.<br />
Overnight in Switzerlan</p>					
									<p><b>Meals : </b> Breakfast at the hotel and Indian Dinner at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 10:</b> Onto Innsbruck
								</p>
								<p class="aj">Today your drive takes you to the principality of Liechtenstein and a stop at Vaduz - the capital, famous for postage stamps.<br />
Continue a scenic drive to Innsbruck it is one of Europe's most beautiful and lively cities.<br />
Enroute be ready to get dazzled at the 'Chambers of Wonder', the internationally renowned Swarovski Crystal World (under renovation till April 30th. 2015) in Wattens! In a wondrous blue hall dominated by a Unicum- a wall of crystal, you see the world's biggest crystal and it's smallest! Over 7 million people from all corners of the globe have already been thrilled by the Swarovski experience - now you are one of them!<br />
Continue your drive to Innsbruck for an orientation tour which introduces you to the Golden Roof or 'Goldenes Dachl', an ornate Gothic balcony erected by the Emperor Maximilian I decorated with gold painted copper shingles. Walk to the Imperial Church followed by the 'Hofburg' or Imperial Palace. This Capital of the Alps has a history of 800 years!<br />
Check into your hotel.<br />
Overnight in Innsbruck Area</p>					
									<p><b>Meals : </b> Breakfast at the hotel, Lunch at an Indian restaurant and Dinner at the hotel.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Onto Padova
									</p>
									<p class="aj">Today your journey takes you past quaint villages, medieval castles and fruit orchards to the lagoon city of Venice. Nothing prepares you for the captivating city of canals and palaces - Venice is simply unique! Built on 117 small islands, it is a pedestrian's city, so get set for a walking tour.<br />
Cruise from Tronchetto Pier and glide romantically past palaces, to the Piazza San Marco (St. Marks Square). Witness the bronze Moors striking the hour, as they have been doing for 500 years! The Doge's Palace is connected by the 'Bridge of Sighs' to its prisons from where the legendary lover Casanova made his famous escape! End this exciting tour with a brief visit to a Murano Glass showroom (When open) for a demonstration in glass blowing. Hand blown Venetian glass is world famous.<br />
Celebrate with a sumptuous dinner as you enjoy a return cruise to Tronchetto Pier.<br />
Drive and check into your hotel.<br />
Overnight in Padova.</p>					
										<p><b>Meals : </b> Breakfast at the hotel, Lunch at an Indian restaurant and Indian dinner on cruise to Tronchetto Pier .</p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 12:</b> Onto Tuscany
									</p>
									<p class="aj">Drive to Pisa - the hometown of Galileo and a city, which makes the most of its claim to fame - its Leaning Tower! At a photo stop here, note its striking beauty along with its characteristic tilt. It is the Duomo's (Cathedral), Bell Tower together with the Baptistery, these are all a part of the Field of Miracles.<br />
Continue to Florence, a shrine to the wonders of the Renaissance, with more artistic treasures per square metre than any other city in the world!<br />
Included in your Guided walking tour of Florence is a visit to the remarkable Duomo (when open for visitors), which is the fourth largest cathedral in the world. Besides it is the 'Gate to Paradise' - the heavenly gilded bronze doors of the Baptistery, originally a pagan temple and an open-air gallery in Signoria Square.<br />
Walk on the famous Ponte Vecchio, the oldest surviving bridge in the city.<br />
After an exciting tour, drive through a stretch of olive groves and vineyards to the Tuscany region where on arrival you will be checked into your hotel.<br />
Overnight in Arezzo</p>					
										<p><b>Meals : </b> Breakfast at the hotel, Lunch at an Indian restaurant and Indian dinner at the hotel.</p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 13:</b> Onto Rome - Mediterranean Cruise
									</p>
									<p class="aj">An early start today as you drive to Rome to board your cruise after a short visit to the "Eternal City". The truth of the oft quoted adage 'Rome was not built in a day'- hits you with full force, as we pack in all the 'must see' agenda into our guided panoramic highlight city tour of Rome!<br />
<br />
According to legend, Rome was founded by Romulus and Remus in 753 BC.<br />
<br />
Start your guided introduction to Rome with a visit to the famous Trevi Fountain. Legend has it, that if you make a wish and toss a coin over your left shoulder into the fountain, you are sure to return to Rome! We at Cox & Kings look forward to that!<br />
Pay tribute to the brave Gladiators of Rome, with a photo stop at the mighty Colosseum. At this amphitheatre, the notorious and gory gladiatorial games were held, where they fought one another and wild animals while the crowd roared!<br />
See the triumphal Arch of Constantine, one of the most important commemorative monuments of antiquity and then drive through Piazza Venezia, the main square in Rome, where the grandiose monument to the reunification of Italy is often referred to as the Marble wedding cake!<br />
Pass the Circus Maximus - the Hippodrome - known for its ancient chariot races, which was reconstructed by Hollywood for 'Ben Hur'!<br />
Pass the ruins of the Roman Forum and end the tour with a journey to The Vatican the smallest nation in the world! It boasts a priceless art collection and is probably per square foot the richest country in the world! <br />
<br />
The most famous square of the Vatican is St. Peter's Square on which is situated the St. Peter's Basilica (visit when open to visitors), the spiritual centre of Christendom.<br />
After an exciting tour, relax as you drive to board your FREE 7 nights cruise. Once on board your cruise liner its non-stop fun.<br />
Note: Due to Rome city regulations, certain roads may be off limits for long distance coaches. This may result in the sightseeing being done partly by foot / public transport.<br />
Overnight onboard the cruise.<br />
Full Board on the cruise.</p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 14:</b> Onboard the Cruise
									</p>
									<p class="aj">Today as your cruise docks in Livorno you can choose from the many shore excursions and book the excursions on your own at the cruise excursion desk.<br />
You also have the option of staying on Board the cruise and enjoying the onboard facilities.<br />
Overnight onboard the cruise.<br />
Full Board on the cruise.</p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 15:</b> Onto Toulon
									</p>
									<p class="aj">In Toulon today book shore excursions on your own at the cruise excursion desk<br />
Or stay and enjoy the onboard facilities.<br />
Overnight onboard the cruise.</p>					
										<p><b>Meals : </b> Breakfast, Lunch and Dinner onboard the cruise.</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 16:</b> Onto Barcelona
									</p>
									<p class="aj">Board your coach to enjoy the very best of Barcelona as you explore the Gothic Quarter and spend some free time shopping. First stop at the city's most well-known symbol, La Sagrada Familia, for a chance to take some photographs. Work began on the construction of this sanctuary of a thousand needles over 100 years ago and is still on-going today. Since the Barcelona Olympics in 1992, the temple has become an emblem of the city and an ecclesiastical tribute to its architect Antonio Gaudi. Continue on foot through the narrow streets of the medieval Gothic Quarter, with its incredible atmosphere and wealth of historic buildings. Visit the Gothic Cathedral which was built between 1298 and 1450 upon the remains of a Roman temple dedicated to Hercules and which has an interior adorned with columns and stained glass dating back to the middle ages. Admire some of the city's most important modernist buildings along Paseo de Gracia, the memorial to Christopher Columbus and the Plaza Cataluna,<br />
Your tour continues with a drive along Avenida de la Diagonal and Avenida de Josep Tarradellas. Climb to Montjuic, passing by the Stadium and Olympic Ring from the 1992 Barcelona Olympic Games.<br />
Re-board your coach to make your way back to the port.<br />
Overnight onboard the cruise.<br />
Full Board on the cruise.</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 17:</b> Onboard the cruise
									</p>
									<p class="aj">Experience an endless array of activities on board from live music, theme parties and much more at the Broadway theatre. Take risks and feel the excitement of winning in the casino!<br />
You can start with American Roulette and move on to slot machines, video poker, match play and live sports sweepstakes. Relax with a refreshing dip in the swimming pool sipping a cool drink in an unbeatable setting. To relieve tension or stress, or for pure pleasure the Spa is the perfect place to relax. A visit to the Fitness Centre or a trip to the jogging track is also an option.<br />
The shopping area on the ship is worth visiting.<br />
At the end of the day enjoy the best dishes at the Grand Buffet. Make the most of these unique opportunities.<br />
Overnight onboard the cruise.<br />
Full Board on the cruise.</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 18:</b> Onto Olbia
									</p>
									<p class="aj">our choice of a shore excursion can be booked on your own at the cruise excursion desk.<br />
In the alternative stay on the cruise and enjoy the on board facilities.<br />
Overnight on board the cruise.<br />
Full Board on the cruise.</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 19:</b> Cruise
									</p>
									<p class="aj">our choice of a shore excursion can be booked on your own at the cruise excursion desk.<br />
In the alternative stay on the cruise and enjoy the on board facilities.<br />
Overnight on board the cruise.<br />
Full Board on the cruise.</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 20:</b> Departure
									</p>
									<p class="aj">Departure.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Meals</li>
																		<li>Sightseeing</li>
																		<li>Transport</li>
																		<li>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>An additional amount of INR 1,500 is to be compulsorily paid by way of "Secure your Booking Amount".</li><li>
Optional & Add-On tours unless mentioned otherwise.</li><li>
Cost of US $ 2,50,000 granted by the Reserve Bank of India under the Liberalised Remittance Scheme.</li><li>
Any increase in the airfare / taxes / routing charged by the airlines for ticket (presently calculated on 14th Aug 2015)</li><li>
Airline and Hotel surcharges (if applicable) during high / festive season to be paid extra per person.</li><li>
Cost of extension of validity or deviation of your air ticket.</li><li>
Any increase in Rate of Euro leading to an increase in Tour Cost coming into effect prior to departure. However, the rate prevailing on the given day of payment will apply.</li><li>
Porterage at hotels, apartment, airports and seaports, tips, laundry, wines, mineral water, telephone charges, all items of personal nature and also food and drinks not forming part of the touring group's menu.</li><li>
Medical test and Premium cost of your Overseas Travel Insurance policy valid for passengers above 70 years of age.</li><li>
Anything not specifically mentioned in 'What Your Tour Price Includes' box.</li><li>
Government Service Tax 4.35% on gross bill, effective from 1st Apr 2016.</li><li>
Gratuities / Administration and Service Fee. (To be paid directly on board the cruise)</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>Mumbai<br />
Delhi<br />
Kolkata<br />
Chennai<br />
Bangalore<br />
Ahmedabad<br />
Hyderabad<br />
June 2016	-	24<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>Price

All rates are based on currents ROE EUR 1 = INR 79.6. The rate of exchange prevailing on the day of payment will apply.
Ex - Mumbai - Valid from 18th Jan, 2016 to 30th Sep, 2016
Twin	Triple	Single	Child with bed	Child without bed	Infant
Main Tour Price	INR 2,87,444
(EUR 1890 + 
INR 1,37,000)	INR 2,87,444
(EUR 1890 + 
INR 1,37,000)	INR 4,14,804
(EUR 3490 + 
INR 1,37,000)	INR 2,52,355
(EUR 1512 + 
INR 1,32,000)	INR 2,29,828
(EUR 1229 + 
INR 1,32,000)	INR 39,999
(EUR + 
INR 39,999)
Discount Offer	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 0
Total in INR After Discount	INR 2,47,444	INR 2,47,444	INR 3,74,804	INR 2,12,355	INR 1,89,828	INR 39,999

Ex - Delhi - Valid from 18th Jan, 2016 to 30th Sep, 2016
Twin	Triple	Single	Child with bed	Child without bed	Infant
Main Tour Price	INR 2,90,444
(EUR 1890 + 
INR 1,40,000)	INR 2,90,444
(EUR 1890 + 
INR 1,40,000)	INR 4,17,804
(EUR 3490 + 
INR 1,40,000)	INR 2,55,355
(EUR 1512 + 
INR 1,35,000)	INR 2,32,828
(EUR 1229 + 
INR 1,35,000)	INR 39,999
(EUR + 
INR 39,999)
Discount Offer	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 0
Total in INR After Discount	INR 2,50,444	INR 2,50,444	INR 3,77,804	INR 2,15,355	INR 1,92,828	INR 39,999

Ex - Kolkata - Valid from 18th Jan, 2016 to 30th Sep, 2016
Twin	Triple	Single	Child with bed	Child without bed	Infant
Main Tour Price	INR 2,97,444
(EUR 1890 + 
INR 1,47,000)	INR 2,97,444
(EUR 1890 + 
INR 1,47,000)	INR 4,24,804
(EUR 3490 + 
INR 1,47,000)	INR 2,62,355
(EUR 1512 + 
INR 1,42,000)	INR 2,39,828
(EUR 1229 + 
INR 1,42,000)	INR 39,999
(EUR + 
INR 39,999)
Discount Offer	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 0
Total in INR After Discount	INR 2,57,444	INR 2,57,444	INR 3,84,804	INR 2,22,355	INR 1,99,828	INR 39,999

Ex - Chennai - Valid from 18th Jan, 2016 to 30th Sep, 2016
Twin	Triple	Single	Child with bed	Child without bed	Infant
Main Tour Price	INR 2,94,444
(EUR 1890 + 
INR 1,44,000)	INR 2,94,444
(EUR 1890 + 
INR 1,44,000)	INR 4,21,804
(EUR 3490 + 
INR 1,44,000)	INR 2,59,355
(EUR 1512 + 
INR 1,39,000)	INR 2,36,828
(EUR 1229 + 
INR 1,39,000)	INR 39,999
(EUR + 
INR 39,999)
Discount Offer	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 0
Total in INR After Discount	INR 2,54,444	INR 2,54,444	INR 3,81,804	INR 2,19,355	INR 1,96,828	INR 39,999

Ex - Bangalore - Valid from 18th Jan, 2016 to 30th Sep, 2016
Twin	Triple	Single	Child with bed	Child without bed	Infant
Main Tour Price	INR 2,94,444
(EUR 1890 + 
INR 1,44,000)	INR 2,94,444
(EUR 1890 + 
INR 1,44,000)	INR 4,21,804
(EUR 3490 + 
INR 1,44,000)	INR 2,59,355
(EUR 1512 + 
INR 1,39,000)	INR 2,36,828
(EUR 1229 + 
INR 1,39,000)	INR 39,999
(EUR + 
INR 39,999)
Discount Offer	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 0
Total in INR After Discount	INR 2,54,444	INR 2,54,444	INR 3,81,804	INR 2,19,355	INR 1,96,828	INR 39,999

Ex - Ahmedabad - Valid from 18th Jan, 2016 to 30th Sep, 2016
Twin	Triple	Single	Child with bed	Child without bed	Infant
Main Tour Price	INR 2,94,444
(EUR 1890 + 
INR 1,44,000)	INR 2,94,444
(EUR 1890 + 
INR 1,44,000)	INR 4,21,804
(EUR 3490 + 
INR 1,44,000)	INR 2,59,355
(EUR 1512 + 
INR 1,39,000)	INR 2,36,828
(EUR 1229 + 
INR 1,39,000)	INR 39,999
(EUR + 
INR 39,999)
Discount Offer	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 0
Total in INR After Discount	INR 2,54,444	INR 2,54,444	INR 3,81,804	INR 2,19,355	INR 1,96,828	INR 39,999

Ex - Hyderabad - Valid from 18th Jan, 2016 to 30th Sep, 2016
Twin	Triple	Single	Child with bed	Child without bed	Infant
Main Tour Price	INR 2,94,444
(EUR 1890 + 
INR 1,44,000)	INR 2,94,444
(EUR 1890 + 
INR 1,44,000)	INR 4,21,804
(EUR 3490 + 
INR 1,44,000)	INR 2,59,355
(EUR 1512 + 
INR 1,39,000)	INR 2,36,828
(EUR 1229 + 
INR 1,39,000)	INR 39,999
(EUR + 
INR 39,999)
Discount Offer	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 40,000	INR 0
Total in INR After Discount	INR 2,54,444	INR 2,54,444	INR 3,81,804	INR 2,19,355	INR 1,96,828	INR 39,999

Package AirSurcharge Price
Adult	Child	Infant

Reservation Fee INR 3000 per person. 
Booking Amount	and Note INR 20000 per person ( Interest free and non - refundable) adjusted against the tour cost

Package Optional Excursion
 	Adult	Child	Infant
A Visit to Jungfrau with Indian Lunch and Interlaken city tour	EUR 150	EUR 90	NA
Gala Evening in Paris	EUR 125	EUR 60	NA

Package Pre Night Price
Accommodation + ABF	Twin	Triple	Single	Child with bed	Child without bed
Pre Night - London - Holiday Inn Express London Heathrow T5 Or Similar	EUR 85	EUR 85	EUR 120	EUR 75	EUR 50<br /><br />
						
    	<p class="h dif xlarge b mb5px">Passionate Europe - Ex - Mumbai and Ex - Delhi</p>
    	<div class="otherDetails aj">All rates are based on currents ROE EUR 1 = INR 79.6. The rate of exchange prevailing on the day of payment will apply.<br>
Ex - Mumbai - Valid from 18th Jan, 2016 to 30th Sep, 2016<br>
<br>
Ex - Delhi - Valid from 18th Jan, 2016 to 30th Sep, 2016</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Type</td>
				<td class="data p5px">Ex - Mumbai - Main Tour Price</td>
				<td class="data p5px">Ex - Mumbai - Discount Offer</td>
				<td class="data p5px">Ex - Mumbai - Total in INR After Discount</td>
				<td class="data p5px">Ex - Delhi - Main Tour Price</td>
				<td class="data p5px">Ex - Delhi - Discount Offer</td>
				<td class="data p5px">Ex - Delhi - Total in INR After Discount</td>
			</tr>
			<tr>
				<td class="data p5px">Twin</td>
				<td class="data p5px">INR 2,87,444(EUR 1890 + INR 1,37,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,47,444</td>
				<td class="data p5px">INR 2,90,444(EUR 1890 + INR 1,40,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,50,444</td>
			</tr>
			<tr>
				<td class="data p5px">Triple</td>
				<td class="data p5px">INR 2,87,444(EUR 1890 + INR 1,37,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,47,444</td>
				<td class="data p5px">INR 2,90,444(EUR 1890 + INR 1,40,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,50,444</td>
			</tr>
			<tr>
				<td class="data p5px">Single</td>
				<td class="data p5px">INR 4,14,804(EUR 3490 + INR 1,37,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 3,74,804</td>
				<td class="data p5px">INR 4,17,804(EUR 3490 + INR 1,40,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 3,77,804</td>
			</tr>
			<tr>
				<td class="data p5px">Child with bed</td>
				<td class="data p5px">INR 2,52,355(EUR 1512 + INR 1,32,000</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,12,355</td>
				<td class="data p5px">INR 2,55,355(EUR 1512 + INR 1,35,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,15,355</td>
			</tr>
			<tr>
				<td class="data p5px">Child without bed</td>
				<td class="data p5px">INR 2,29,828(EUR 1229 + INR 1,32,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 1,89,828</td>
				<td class="data p5px">INR 2,32,828(EUR 1229 + INR 1,35,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 1,92,828</td>
			</tr>
			<tr>
				<td class="data p5px">Infant</td>
				<td class="data p5px">INR 39,999(EUR +INR 39,999)</td>
				<td class="data p5px">INR 0</td>
				<td class="data p5px">INR 39,999</td>
				<td class="data p5px">INR 39,999(EUR + INR 39,999)</td>
				<td class="data p5px">INR 0</td>
				<td class="data p5px">INR 39,999</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Passionate Europe - Ex - Kolkata And Ex - Chennai</p>
    	<div class="otherDetails aj">Ex - Kolkata - Valid from 18th Jan, 2016 to 30th Sep, 2016<br>
Ex - Chennai - Valid from 18th Jan, 2016 to 30th Sep, 2016</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Type</td>
				<td class="data p5px">Ex - Kolkata - Main Tour Price</td>
				<td class="data p5px">Ex - Kolkata - Discount Offer</td>
				<td class="data p5px">Ex - Kolkata - Total in INR After Discount</td>
				<td class="data p5px">Ex - Chennai - Main Tour Price</td>
				<td class="data p5px">Ex - Chennai - Discount Offer</td>
				<td class="data p5px">Ex - Chennai - Total in INR After Discount</td>
			</tr>
			<tr>
				<td class="data p5px">Twin</td>
				<td class="data p5px">INR 2,97,444(EUR 1890 + INR 1,47,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,57,444</td>
				<td class="data p5px">INR 2,94,444(EUR 1890 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,54,444</td>
			</tr>
			<tr>
				<td class="data p5px">Triple</td>
				<td class="data p5px">INR 2,97,444(EUR 1890 + INR 1,47,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,57,444</td>
				<td class="data p5px">INR 2,94,444(EUR 1890 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,54,444</td>
			</tr>
			<tr>
				<td class="data p5px">Single</td>
				<td class="data p5px">INR 4,24,804(EUR 3490 + INR 1,47,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 3,84,804</td>
				<td class="data p5px">INR 4,21,804(EUR 3490 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 3,81,804</td>
			</tr>
			<tr>
				<td class="data p5px">Child with bed</td>
				<td class="data p5px">INR 2,62,355(EUR 1512 + INR 1,42,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,22,355</td>
				<td class="data p5px">INR 2,59,355(EUR 1512 + INR 1,39,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,19,355</td>
			</tr>
			<tr>
				<td class="data p5px">Child without bed</td>
				<td class="data p5px">INR 2,39,828(EUR 1229 + INR 1,42,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 1,99,828</td>
				<td class="data p5px">INR 2,36,828(EUR 1229 + INR 1,39,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 1,96,828</td>
			</tr>
			<tr>
				<td class="data p5px">Infant</td>
				<td class="data p5px">INR 39,999(EUR + INR 39,999)</td>
				<td class="data p5px">INR 0</td>
				<td class="data p5px">INR 39,999</td>
				<td class="data p5px">INR 39,999(EUR + INR 39,999)</td>
				<td class="data p5px">INR 0</td>
				<td class="data p5px">INR 39,999</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Passionate Europe - Ex - Bangalore,Ex - Ahmedabad And Ex - Hyderabad</p>
    	<div class="otherDetails aj">Package Air Surcharge Price<br>
Adult Child Infant<br>
<br>
Reservation Fee INR 3000 per person. <br>
Booking Amount and Note INR 20000 per person ( Interest free and non - refundable) adjusted against the tour cost<br>
<br>
Package Optional Excursion<br>
 Adult Child Infant<br>
A Visit to Jungfrau with Indian Lunch and Interlaken city tour EUR 150EUR 90NA<br>
Gala Evening in Paris EUR 125EUR 60NA<br>
<br>
Package Pre Night Price<br>
Accommodation + ABF Twin Triple Single Child with bed Child without bed<br>
Pre Night - London - Holiday Inn Express London Heathrow T5 Or Similar EUR 85EUR 85EUR 120EUR 75EUR 50</div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Type</td>
				<td class="data p5px">Ex - Bangalore - Main Tour Price</td>
				<td class="data p5px">Ex - Bangalore - Discount Offer</td>
				<td class="data p5px">Ex - Bangalore - Total in INR After Discount</td>
				<td class="data p5px">Ex - Ahmedabad - Main Tour Price</td>
				<td class="data p5px">Ex - Ahmedabad - Discount Offer</td>
				<td class="data p5px">Ex - Ahmedabad - Total in INR After Discount</td>
				<td class="data p5px">Ex - Hyderabad - Main Tour Price</td>
				<td class="data p5px">Ex - Hyderabad - Discount Offer</td>
				<td class="data p5px">Ex - Hyderabad - Total in INR After Discount</td>
			</tr>
			<tr>
				<td class="data p5px">Twin</td>
				<td class="data p5px">INR 2,94,444(EUR 1890 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,54,444</td>
				<td class="data p5px">INR 2,94,444(EUR 1890 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,54,444</td>
				<td class="data p5px">INR 2,94,444(EUR 1890 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,54,444</td>
			</tr>
			<tr>
				<td class="data p5px">Triple</td>
				<td class="data p5px">INR 2,94,444(EUR 1890 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,54,444</td>
				<td class="data p5px">INR 2,94,444(EUR 1890 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,54,444</td>
				<td class="data p5px">INR 2,94,444(EUR 1890 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,54,444</td>
			</tr>
			<tr>
				<td class="data p5px">Single</td>
				<td class="data p5px">INR 4,21,804(EUR 3490 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 3,81,804</td>
				<td class="data p5px">INR 4,21,804(EUR 3490 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 3,81,804</td>
				<td class="data p5px">INR 4,21,804(EUR 3490 + INR 1,44,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 3,81,804</td>
			</tr>
			<tr>
				<td class="data p5px">Child with bed</td>
				<td class="data p5px">INR 2,59,355(EUR 1512 + INR 1,39,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,19,355</td>
				<td class="data p5px">INR 2,59,355(EUR 1512 + INR 1,39,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,19,355</td>
				<td class="data p5px">INR 2,59,355(EUR 1512 + INR 1,39,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 2,19,355</td>
			</tr>
			<tr>
				<td class="data p5px">Child without bed</td>
				<td class="data p5px">INR 2,36,828(EUR 1229 + INR 1,39,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 1,96,828</td>
				<td class="data p5px">INR 2,36,828(EUR 1229 + INR 1,39,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 1,96,828</td>
				<td class="data p5px">INR 2,36,828(EUR 1229 + INR 1,39,000)</td>
				<td class="data p5px">INR 40,000</td>
				<td class="data p5px">INR 1,96,828</td>
			</tr>
			<tr>
				<td class="data p5px">Infant</td>
				<td class="data p5px">INR 39,999(EUR + INR 39,999)</td>
				<td class="data p5px">INR 0</td>
				<td class="data p5px">INR 39,999</td>
				<td class="data p5px">INR 39,999(EUR + INR 39,999)</td>
				<td class="data p5px">INR 0</td>
				<td class="data p5px">INR 39,999</td>
				<td class="data p5px">INR 39,999(EUR + INR 39,999)</td>
				<td class="data p5px">INR 0</td>
				<td class="data p5px">INR 39,999</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.grandindiatrip.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Passionate Europe - Summer 2016 Tour - 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="60814"/>
						</form>
						</div>
						
						";i:1;s:77:"Book Passionate Europe - Summer 2016 Tour - 19 Nights / 20 Days Tour Packages";i:2;s:161:"book passionate europe - summer 2016 tour - 19 nights / 20 days tour packages, heritage tour packages, london, paris, amsterdam, rome, vienna, bern tour packages";i:3;s:222:"Book Passionate Europe - Summer 2016 Tour - 19 Nights / 20 Days tour packages from Grand India Tours & Travels - Get attractive 19 Nights / 20 Days Heritage  tour packages for  London, Paris, Amsterdam, Rome, Vienna, Bern.";i:4;s:4384:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Paris, Amsterdam, Rome, Vienna, Bern"        
		                 },
		      "description": "Paris - the City of Lights lives up to its name after dark. The treasures along your route will captivate even the most seasoned sightseer. The tunnels, lakes, bridges and visits to the summits of Swiss mountains with their Alpine views, the Majesty of the Vatican with a unique collection of artistic and architectural masterpieces, the awe aspiring visit to the Eternal city of Rome and the water scape of Venice are some of the special highlights of your Passionate Europe tourHIGHLIGHTS-
All 'must see' sights covered.
Easy Traveling, Smooth Sailing - On a Cox & Kings holiday you can just relax and we'll take care of everything.
First Class Service - From location, service, to ambience, every detail is looked into, to ensure that your stay is an enjoyable one.
A Friend In Need - Our Tour Manager Indeed - Our Tour Manager will at once make you feel at home. He'll show you the sights, guide you and take care of any problem, small or big!
Great Meals - Stimulate your palate with a wide array of Indian dishes carefully selected and flavoured with authentic ingredients and spices.
Sightseeing That Takes Your Breath Away - Enjoy the scenic journey through Europe with its ever changing landscape - from bustling cosmopolitan cities to tranquil lakes and alpine mountains. We offer a terrific holiday value that's impossible to match!
Fabulous Optionals, Great Prices - You can design the holidays of your choice from the plethora of options before you.
Ride on the London Eye & Visit Madame Tussauds Wax Museum.
Amsterdam through the Canals.
Perfume shopping experience at exclusive Fragonard in Paris.
Exclusive Mt. Cox and Kings with Gala dinner in Switzerland.
Glacier 3000 - One of the most beautiful Alpine peaks.
Be dazzled in Swarovski Crystal World.
Explore Vatican City with St. Peter's Basilica.
Hide..
Onto Jungfrau. Reach the highest altitude railway station in Europe by a charming, red cogwheel train, amid dramatic, wonderful mountain scenery!

What could be more tempting in this icy cold scenario, than a hot Indian lunch!

Walk on the great Aletsch Glacier. Visit the Sphinx Observation Terrace, at 3571. The new Cinema Experience and the new Alpine sensation are attractions, enroute to the glistening Ice Palace.

Descend to visit the popular holiday resort of Interlaken, cradled cosily between the beautiful Lakes of Brienz and Thun, where even today you see horse-drawn carriages.

Indulge in some Swiss shopping. Next to a virtually unlimited selection of watches and jewellery, every store carries a vast array of small famous brand gifts and souvenirs, priced for every pocket.An additional amount of INR 1,500 is to be compulsorily paid by way of "Secure your Booking Amount".
Optional & Add-On tours unless mentioned otherwise.
Cost of US $ 2,50,000 granted by the Reserve Bank of India under the Liberalised Remittance Scheme.
Any increase in the airfare / taxes / routing charged by the airlines for ticket (presently calculated on 14th Aug 2015)
Airline and Hotel surcharges (if applicable) during high / festive season to be paid extra per person.
Cost of extension of validity or deviation of your air ticket.
Any increase in Rate of Euro leading to an increase in Tour Cost coming into effect prior to departure. However, the rate prevailing on the given day of payment will apply.
Porterage at hotels, apartment, airports and seaports, tips, laundry, wines, mineral water, telephone charges, all items of personal nature and also food and drinks not forming part of the touring group's menu.
Medical test and Premium cost of your Overseas Travel Insurance policy valid for passengers above 70 years of age.
Anything not specifically mentioned in 'What Your Tour Price Includes' box.
Government Service Tax 4.35% on gross bill, effective from 1st Apr 2016.
Gratuities / Administration and Service Fee. (To be paid directly on board the cruise)25-0530-09",
		      "name": "Passionate Europe - Summer 2016 Tour",
		      "telephone": "+91-9415285186"
		    }
		    </script>
			";i:5;N;}