a:6:{i:0;s:11001:"				<div class="h1"><h1>Paris, Switzerland 6N/7D Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.emplanetourandtravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.emplanetourandtravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Paris, Switzerland 6N/7D Package</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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Paris, Interlaken, Lucerne</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.emplanetourandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Paris, Switzerland 6N/7D 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="120383"/>
						</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_17/508950/194999.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_17/508950/194999.jpg"  width="150" height="150"    alt="Paris, Switzerland 6N/7D Package" title="Paris, Switzerland 6N/7D Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</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> Arrive Paris
								</p>
								<p class="aj">On arrival at the airport meet your Tour Manager in the Arrival Area outside Custom Hall. Transfer to hotel and check in. Evening at leisure to explore the city on your own. End day with Sumptuous Indian Dinner .<br />
Overnight stay in Paris</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> Paris City Tour - Eiffel Tower And River Seine Cruise
								</p>
								<p class="aj">After breakfast, leave on half day city tour seeing Notre Dame Cathedral, L`Arc de Triomphe, Louvre, Champs Elysees one of the most fashionable street in the world, Eiffel Tower 2nd level and the beautiful shopping arcades of Paris. Also enjoy Seine river cruise. Evening is free for leisure activities and shopping. End the day with Sumptuous Indian Dinner.<br />
Overnight stay in Paris.</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> Paris Full Day Disneyland
								</p>
								<p class="aj">After breakfast transfer for Full Day Disneyland Paris Tour .Disneyland Paris, originally Euro Disney Resort, is an entertainment resort in Marne-la-Vallée, a new town located 32 km east of the centre of Paris, and is the most visited attraction in all of France and Europe.<br />
In the Evening see Illumination tour, enjoy the brightly lit up all the landmarks of Paris with the highlight being Eiffel Tower lit up in the night . End the day with Sumptuous Indian 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> Paris Interlaken By Coach
								</p>
								<p class="aj">After Breakfast at hotel check out and depart for the beautiful city of Interlaken in Switzerland. Interlaken lies in the Bernese Oberland on an alluvial plain, between Lake Thun and Lake Brienz. The vacation destination, which is presided over by the three mighty mountains, Eiger, Monch and Jungfrau, is the starting point for numerous activities. By the beginning of the 19th century Interlaken in the Bernese Oberland had already become renowned for its impressive mountain scenery. Famous contemporaries such as Johann Wolfgang von Goethe and Felix Mendelssohn traveled in these mountains. Interlaken’s success as a tourist destination was further enhanced by the completion of the Bernese Oberland Railway in 1890 and the Jungfrau Railway in 1912.<br />
 <br />
<br />
Interlaken is an ideal starting point for countless excursions. Over 45 mountain railways, cable cars, chair lifts and ski lifts lead to 200 kilometers of pistes and a dense network of hiking trails. Excursion ships, including historic paddle steamers, ply the waters of Lake Thun and Lake Brienz. End the day with Sumptuous Indian Dinner.<br />
Overnight stay in Interlaken/Zurich</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> Interlaken Engelberg Lucerne Interlaken - Mt. Titlis
								</p>
								<p class="aj">After breakfast we will drive to Engelberg and visit Mt. Titlis by Rotair Cable car for a life time experience. The Titlis is the highest glacier excursion destination and biggest ski and snowboard paradise in Central Switzerland. The Titlis and its glacier park are accessible by revolving Rotair Cableway. At an altitude of 3020 meters above sea level visitors are treated to a fabulous view of the central Alps. The Titlis Glacier Park and the "Ice Flyer" chairlift are a paradise for visitors looking for gliding fun. Mt. Titlis also offers a glacier grotto in eternal ice and Europe`s highest suspension bridge.<br />
After Mount Titlis we proceed to visit Lucerne and visit Lion Monument, Chapel Bridge and shopping mall. End the day with Sumptuous Indian Dinner.<br />
Overnight stay in Interlaken/Zurich</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> Interlaken Day Free - Optional Jungfraujoch Excursion
								</p>
								<p class="aj">Day At Leisure With An Optional Choice Of Joining The Famous Jungfraujoch Excursion<br />
<br />
After breakfast , day is free at leisure to explore Interlaken/Zurich with an optional choice of joining the FAMOUS JUNGFRAUJOCH EXCURSION . The train trip takes you via Kleine Scheidegg & through the Eigar North wall up to the scenic splendors of the Jungfraujoch in the heart of the wonder world of Glaciers & eternal ice. Experience some of the world’s most splendid scenic beauties & waterfalls during the train journey to Jungfraujoch. After visiting Ice caves, Terrace & Ice Sphinx , you will return back to your hotel . End the day with Sumptuous Indian Dinner<br />
<br />
Overnight stay in Interlaken/Zurich</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> Departure From Switzerland to India.
								</p>
								<p class="aj">Depart : Fly Back Home Depart to a Swiss border or airport or continue your stay in Switzerland on your own.</p>
								</td>
								</tr>
								</table>					
								</div>						<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>
															</ul>
						<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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.emplanetourandtravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Paris, Switzerland 6N/7D 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="120383"/>
						</form>
						</div>
						
						";i:1;s:71:"Book Paris, Switzerland 6N/7D Package - 6 Nights / 7 Days Tour Packages";i:2;s:137:"book paris, switzerland 6n/7d package - 6 nights / 7 days tour packages, heritage tour packages, paris, interlaken, lucerne tour packages";i:3;s:194:"Book Paris, Switzerland 6N/7D Package - 6 Nights / 7 Days tour packages from Emplane Tours and Travels - Get attractive 6 Nights / 7 Days Heritage  tour packages for  Paris, Interlaken, Lucerne.";i:4;s:430:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Interlaken, Lucerne"        
		                 },
		      "description": "",
		      "name": "Paris, Switzerland 6N/7D Package",
		      "telephone": "+91-8005957779"
		    }
		    </script>
			";i:5;N;}