a:6:{i:0;s:19883:"				<div class="h1"><h1>Europe Dil Se Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.oppexholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.oppexholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Europe Dil Se 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">Duration </td>
						<td class="p5px pl0px vat">
						14 Nights / 15 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">London, Paris, Venice, Florence, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne, Padova, Vatican City, Switzerland</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Europe Dil Se 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="18855"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_2/37817/32523.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/32523.jpg"  width="150" height="150"    alt="Europe Dil Se Tour" title="Europe Dil Se Tour" /></a></p></div></li>
																		<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_2/37817/61458.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/61458.jpg"  width="150" height="150"    alt="Europe Dil Se Tour" title="Europe Dil Se Tour" /></a></p></div></li>
																		<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_2/37817/61460.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/61460.jpg"  width="150" height="150"    alt="Europe Dil Se Tour" title="Europe Dil Se Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Cost Of Any Individual Airport / Seaport / Railway Station Transfer To Joining And Leaving Guests.<br />
Any Increase In The Airfare / Rail Fare / Cruise Charges.<br />
Any Increase In The Fuel Surcharge Or Any Kind Of Taxes Levied By The Respective Government Or Statutory Bodies.<br />
Any Increase In The Rate Of Exchange Leading To An Increase In All Land Arrangements Which May Come In To Effect Prior To Departure.<br />
Cost Of Extension Of The Validity Of The Tour Or Deviation From The Route Of The Tour<br />
Porterage, Laundry, Wines & Alcoholic Beverages, Mineral Water (Unless Specified), Telephone Charges, Shopping, All Items Of Personal Nature And Also Food And Drinks Not Forming The Part Of The Group Menus.<br />
Cost Of Insurance For Any Extra Stay Pre/Post Tour.<br />
Any Extra Expenses Incurred For Changing The Route Due To Any Unforeseen Circumstances, Natural Calamities, Political Disturbances, Strikes Etc.<br />
Extra Cost Incurred Due To Illness, Accident, Hospitalization Or Any Individual Unforeseen Cost Incurring Incidence.<br />
Any Private Transfers Taken To Move From One Place To Another Instead Of Coach For Any Activity/Sightseeing Done Twice<br />
Any Add-On Sightseeing/Activities Along With Transfers If Done Other Than Mentioned In The Tour Program.<br />
Fur Coats/Jackets To Visit Snow Point Or Any Special Attire Required To Visit Any Particular Sightseeing Place.<br />
Any Up-Gradation In The Room Category Or Air Line Class<br />
Extra Water Bottle Charges Other Than Specified In The Itinerary<br />
Premium Seat Charges<br />
Medicines Required If Any<br />
Service Or Government Taxes As Applicable From Time To Time<br />
Anything Not Specifically Mentioned In Your Inclusion Column<br />						<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Rome
								</p>
								<p class="aj">On arrival Rome , you will be meeting our representative at the airport who will assist you to board the coach and proceed for hotel check in as per the standard check In time of the hotel. Rest day relax and recover from Jet lag (Dinner)overnight stay in Rome.</p>					
									<p><b>Meals : </b> Dinner</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Rome City Tour , Vatican City, Arrival Pisa
								</p>
								<p class="aj">After having breakfast at the hotel we then proceed to Rome city tour which includes at Arch of Constantine, Circus Maximus, the legendary Trevi Fountain and photostop at the Colosseum. Later Proceed to Vatican City-the smallest nation in the world! This includes Vatican Museum, one of the largest museum complexes in the world, the sistine Chapel and St. Peter's Square with St. Peter's Basilica - one of the largest churches in the world. witness the enchanting city of Pisa to witness photostop at the wonder of the world-the Leaning Tower! We also have photostops at the other famous sites located on the same Field of Miracles. Overnight stay in Pisa</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Birds Eye View from Pizzale Michaelangelo Point, Arrival in Venice
								</p>
								<p class="aj">Today after having breakfast at the hotel head towards Florence and have photostops at Piazzale Michelangelo Point and Statue of David. Later proceed to Venice for city tour via canal cruise Tronchetto Pier past incredible miniature canals to the Piazza San Marco. Today also includes a tour with a brief visit to a Murano Glass Showroom for a demonstration in glass blowing.  Also enjoy a romantic optional Gondola ride. overnight stay in Padova/Venice.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Innsbruck City Tour, Swarovski Crystal Worlds
								</p>
								<p class="aj">After having breakfast at the hotel proceed to Wattens to visit internationally renowned Swarovski Crystal Worlds where we get to see the world's biggest crystal and it's smallest! Later proceed for an orientation tour of the city which includes Golden Roof or 'Goldenes Dachl'the Imperial Church and the 'Hofburg' or Imperial Palace. Overnight in Innsbruck.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Visits Rhine Falls & Arrive in Switzerland
								</p>
								<p class="aj">Today after having breakfast at the hotel, we drive through Vaduz, the capital of the principality of Liechtenstein. Enjoy the sights and surroundings of Vaduz. Enroute visit Rhine Falls, photostop at Zurich lake and arrival in Lucerne</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Mount Titlis with Ice Flyer
								</p>
								<p class="aj">Lucerne city tour - Lion Monument, Kappelbrucke Wooden Bridge, Lake Lucerne cruise. Overnight in Switzerland.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Drive through Black Forest, visit to Lake Titisee -
								</p>
								<p class="aj">Cuckoo Clocks OR enjoy optional Jungfraujoch Exursion, cogwheel train trip via Kleine Scheidegg - Ice Palace, Sphinx terrace, Interlaken City Tour, Overnight in Switzerland</p>					
									<p><b>Meals : </b> Breakfast & Dinner</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> Scenic Drive to Paris
								</p>
								<p class="aj">Enjoy Optional Lido show in evening. Overnight in Paris</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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 city tour
								</p>
								<p class="aj">Louvre Glass Pyramid, Garnier's Opera, Place de la Concorde, Champs Elysees, Napoleanic Arc de Triomphe, Hotel des Invalides, Eiffel Tower 3rd Level & Siene River Cruise. Overnight in Paris.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Full Day excitement at Disneyland
								</p>
								<p class="aj">Overnight in Paris.</p>					
									<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Mini Europe (post 20 May), Brussels
									</p>
									<p class="aj">Atomium, Tower, Bridge, Leaning Tower & more iconic miniatures, Brussels City tour - St. Michel, St. Gudula Cathedral, Galeries Saint Hubert, Grand Place & the Mannekin Pis. Overnight in Amsterdam.</p>					
										<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Amsterdam City tour
									</p>
									<p class="aj">Royal Palace, the National Monument, Skinny Bridge, the Albert Cuyp Market & windmill on river Amstel, Canal Cruise - to Keukenhof (till 20 to London May). Overnight in Cruise</p>					
										<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> London city tour
									</p>
									<p class="aj">Tower Bridge, River Thames, Hyde Park, Big Ben, Westminster Abbey, St. Paul's Cathedral, Piccadilly Circus, Nelson's Column at Trafalgar Square, Buckingham Palace, Oxford Street, Tower of London. Overnight in London.</p>					
										<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> London Eye. Visit to Madam Tussauds
									</p>
									<p class="aj">wax museum. Overnight in London.</p>					
										<p><b>Meals : </b> Breakfast, Lunch, Dinner</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> Return Home Town
									</p>
									<p class="aj">Return flight to India.</p>					
										<p><b>Meals : </b> Breakfast</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>Transfers</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Cost Of Any Individual Airport / Seaport / Railway Station Transfer To Joining And Leaving Guests.</li><li>
Any Increase In The Airfare / Rail Fare / Cruise Charges.</li><li>
Any Increase In The Fuel Surcharge Or Any Kind Of Taxes Levied By The Respective Government Or Statutory Bodies.</li><li>
Any Increase In The Rate Of Exchange Leading To An Increase In All Land Arrangements Which May Come In To Effect Prior To Departure.</li><li>
Cost Of Extension Of The Validity Of The Tour Or Deviation From The Route Of The Tour</li><li>
Porterage, Laundry, Wines & Alcoholic Beverages, Mineral Water (Unless Specified), Telephone Charges, Shopping, All Items Of Personal Nature And Also Food And Drinks Not Forming The Part Of The Group Menus.</li><li>
Cost Of Insurance For Any Extra Stay Pre/Post Tour.</li><li>
Any Extra Expenses Incurred For Changing The Route Due To Any Unforeseen Circumstances, Natural Calamities, Political Disturbances, Strikes Etc.</li><li>
Extra Cost Incurred Due To Illness, Accident, Hospitalization Or Any Individual Unforeseen Cost Incurring Incidence.</li><li>
Any Private Transfers Taken To Move From One Place To Another Instead Of Coach For Any Activity/Sightseeing Done Twice</li><li>
Any Add-On Sightseeing/Activities Along With Transfers If Done Other Than Mentioned In The Tour Program.</li><li>
Fur Coats/Jackets To Visit Snow Point Or Any Special Attire Required To Visit Any Particular Sightseeing Place.</li><li>
Any Up-Gradation In The Room Category Or Air Line Class</li><li>
Extra Water Bottle Charges Other Than Specified In The Itinerary</li><li>
Premium Seat Charges</li><li>
Medicines Required If Any</li><li>
Service Or Government Taxes As Applicable From Time To Time</li><li>
Anything Not Specifically Mentioned In Your Inclusion Column</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>Departure Dates For 2015:-<br />
May: 11th & 25th<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p> <br /><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date. ~^#^~						
    	<p class="h dif xlarge b mb5px">Rate Card</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Component</td>
				<td class="headHr p5px b">Single</td>
				<td class="headHr p5px b">Double</td>
				<td class="headHr p5px b">Triple</td>
				<td class="headHr p5px b">Child with Bed</td>
				<td class="headHr p5px b">Child No Bed</td>
				<td class="headHr p5px b">Infant</td>
			</tr>
			<tr>
				<td class="headVr p5px">Rupees(INR)</td>
				<td class="data p5px">113450</td>
				<td class="data p5px">113450</td>
				<td class="data p5px">113450</td>
				<td class="data p5px">113450</td>
				<td class="data p5px">113450</td>
				<td class="data p5px">35000</td>
			</tr>
			<tr>
				<td class="headVr p5px">Euro</td>
				<td class="data p5px">2370</td>
				<td class="data p5px">1690</td>
				<td class="data p5px">1670</td>
				<td class="data p5px">1355</td>
				<td class="data p5px">1100</td>
				<td class="data p5px">0</td>
			</tr>
		</table></div><br>						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Europe Dil Se 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="18855"/>
						</form>
						</div>
						
						";i:1;s:59:"Book Europe Dil Se Tour - 14 Nights / 15 Days Tour Packages";i:2;s:218:"book europe dil se tour - 14 nights / 15 days tour packages, heritage tour packages, london, paris, venice, florence, brussels, amsterdam, innsbruck, rome, pisa, lucerne, padova, vatican city, switzerland tour packages";i:3;s:311:"Book Europe Dil Se Tour - 14 Nights / 15 Days tour packages from Oppex Travels & Tours ( a Division of Oppex Freight Systems - Get attractive 14 Nights / 15 Days Heritage  tour packages for  London, Paris, Venice, Florence, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne, Padova, Vatican City, Switzerland.";i:4;s:2160:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Paris, Venice, Florence, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne, Padova, Vatican City, Switzerland"        
		                 },
		      "description": "Cost Of Any Individual Airport / Seaport / Railway Station Transfer To Joining And Leaving Guests.
Any Increase In The Airfare / Rail Fare / Cruise Charges.
Any Increase In The Fuel Surcharge Or Any Kind Of Taxes Levied By The Respective Government Or Statutory Bodies.
Any Increase In The Rate Of Exchange Leading To An Increase In All Land Arrangements Which May Come In To Effect Prior To Departure.
Cost Of Extension Of The Validity Of The Tour Or Deviation From The Route Of The Tour
Porterage, Laundry, Wines & Alcoholic Beverages, Mineral Water (Unless Specified), Telephone Charges, Shopping, All Items Of Personal Nature And Also Food And Drinks Not Forming The Part Of The Group Menus.
Cost Of Insurance For Any Extra Stay Pre/Post Tour.
Any Extra Expenses Incurred For Changing The Route Due To Any Unforeseen Circumstances, Natural Calamities, Political Disturbances, Strikes Etc.
Extra Cost Incurred Due To Illness, Accident, Hospitalization Or Any Individual Unforeseen Cost Incurring Incidence.
Any Private Transfers Taken To Move From One Place To Another Instead Of Coach For Any Activity/Sightseeing Done Twice
Any Add-On Sightseeing/Activities Along With Transfers If Done Other Than Mentioned In The Tour Program.
Fur Coats/Jackets To Visit Snow Point Or Any Special Attire Required To Visit Any Particular Sightseeing Place.
Any Up-Gradation In The Room Category Or Air Line Class
Extra Water Bottle Charges Other Than Specified In The Itinerary
Premium Seat Charges
Medicines Required If Any
Service Or Government Taxes As Applicable From Time To Time
Anything Not Specifically Mentioned In Your Inclusion Column",
		      "name": "Europe Dil Se Tour",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}