a:6:{i:0;s:30551:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Paris To Swiss Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.adiyogitourism.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.adiyogitourism.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
																
					<b class="ffv p2px">&rsaquo;</b> Paris To Swiss Tour</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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-->				
								
						<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> 
						5 Nights / 6 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Paris, Zurich</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.adiyogitourism.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Paris to Swiss Tour - 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="186771"/>
						</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_19/568903/290430.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_19/568903/290430.jpg"  width="150" height="84"    alt="Paris to Swiss Tour" title="Paris to Swiss Tour" /></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>
													
								Paris , France's capital, is a major European city and a global center for art, fashion, gastronomy and culture. Its 19th-century cityscape is crisscrossed by wide boulevards and the River Seine. Beyond such landmarks as the Eiﬀel Tower and the 12th-century, Gothic Notre-Dame cathedral, the city is known for its cafe culture and designer boutiques along the Rue du Faubourg Saint-Honoré. Zurich One of the richest and most sophisticated cities in the world, Zurich is not only a global financial center, but also one of Europe's most important crossroads when it comes to transportation and travel. Its historical center has been preserved almost to the millimeter, although a trendy, avant-garde feel to the place makes Zurich one of the most a1ractive cities in the world to live and play. Lucerne, Lucerne,the gateway to central Switzerland, sited on Lake Lucerne, is embedded within an impressive mountainous panorama. Complete with gable paintings, the covered, medieval Chapel Bridge forms the centrepiece of Lucerne's townscape and is considered to be one of the oldest, covered wooden bridges in Europe. The figure of a dying lion which was hewn from the face of rock in remembrance of the heroic death of Swiss guards killed during an a1ack on the Tuileries in 1792 is one of the best-known monuments in Switzerland. Interlaken It's not unusual for a town to be on a River, Lake or An Ocean. But for It sit between two lakes may will be unique. Interlaken-between lake thin and lake brienz-can boast such a privileged position and there's more. Interlaken is also in the heart of the mangnifient Jungfrau region mountain World and aﬀords views of the World famous Icy Icons, The Eiger, Monch & Jungfrau.								</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> Paris (france)
										</p>
										<p class="aj">Arrive At Airport & Transfer to Hotel By Your Own Arrangement. the Rest of Day is At Leisure So that You Can Relax Ager Your Long Haul Flight.<br />
<br />
please Note: the Tour Manager Will Meet You Once You Reached the Hotel. the Standard Check-in Time is 1500 Hrs.<br />
<br />
meals: (packed Indian Vegetarian Dinner Delivered 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 2:</b> Paris –guided City Orientation Tour-eiﬀel Tower Visit 2nd Level-river Seine
										</p>
										<p class="aj">This Morning Enjoy a Guided Orientation Day Introductory Tour of Paris. as the The Capital of France, You Will Be Treated to a Superb Panoramic View of the Most Famous Monuments. the City Can also Be More Intimate, Revealing the Charm of Its Medieval Districts and Its Former Villages to the Casual Stroller. See Popular Sites like Place De La Concorde, Arc De Triomphe. Notre Dame De Paris, Louvre Pyramid, Musée D'orsay, Palais Garnier Opera, Champs Elysees Street, Alexander Bridge, Montmatre, Concords Square, a Journey to the 2nd Floor of the Eiﬀel Tower for Breathtaking View and Many other Historic Buildings. a Glimpse of the Eiﬀel Tower, Outlined Romantically Against the Paris Skyline — That's What You Remember Ager Visiting France. Later Enjoy a Cruise On River Seine. You'll Be Able to See the Best of Paris, the City of Love. Ager the Tour, Having the Dinner At 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 3:</b> Paris–Rhine Falls- Zurich (Switzerland)
										</p>
										<p class="aj">Check out and board your coach to drive to Switzerland. On your way you will make a stop at Scha hausen which is prevalently known as Rhine Falls - Mini Niagara falls of Europe. This is a record - there is no other waterfall in Europe bigger than the Rheinfall. This is experienced in a most impressive way on a boat trip through the Rheinfall. Later proceed to Zurich. On arrival in Zurich, enjoy dinner at Indian restaurant.<br />
<br />
Meals: Continental Breakfast and 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> Zurich- Mt. Titlis, Ice Flyer, snow park and Lucerne Orientation - Zurich
										</p>
										<p class="aj">AGer breakfast, proceed to Engelberg town- a base cable car station of Mt.Titlis. The TITLIS ROTAIR revolving gondola transports you easily to the mountain station. Take your time and visit the Swiss Lion shop, the world's highest watch shop. You can even have your photo taken in traditional Swiss costume in our photo studio.<br />
<br />
The glacier cave is only a snowball's throw from the mountain station. The glistening, blue ice tunnel leads deep down into the fascinating world inside the glacier. In the summer months, the Ice Flyer chair liG will take you to the glacier park where all kinds of fun snow activities await. Grab a snowtube or a speedy sled and whiz down the piste, whipping up plenty of snow as you go.<br />
<br />
Later, in the aGernoon, proceed to the city of Lucerne for Orientation tour and see the Chapel Bridge-The Chapel Bridge is a covered wooden footbridge spanning diagonally across the Reuss River in the city of Lucerne. Named aGer the nearby St. Peter's Chapel, the bridge is unique since it contains a number of interior paintings dating back to the 17th century, Jesuit Church- This beautiful church is considered to be the first large baroque style church ever built in Switzerland.Lion Monument-The Lion Monument, or the Lion of Lucerne, is a rock relief in Lucerne, Switzerland, designed by Bertel Thorvaldsen and hewn in 1820–21 by Lukas Ahorn. We will proceed back to Zurich<br />
<br />
Meals: Continental Breakfast and 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 5:</b> Zurich- OPTIONAL Excursion to Jungfrau-Top of Europe/Interlaken- Zurich
										</p>
										<p class="aj">Breakfast. Choose an optional excursion to Mt. Jungfrau - Top of Europe. Those who don't want to go Jungfrau, have free time to explore the Interlaken by own. Our Coach will drop at Interlaken. The Jungfraujoch - Top of Europe is the highlight of any Swiss holiday. The highest railway station in Europe is located 3,454 metres above sea level. You have access to a high-alpine wonderland of ice, snow and rock, which can be admired from the viewing plaVorms, on the Aletsch Glacier or in the Ice Palace - experience the magic. Visit the Sohinx observation tower. AGer the tour we will proceed for orientation tour of Interlaken. We will start from Höheweg is the main street in Interlaken, which stretches from the city's central square to the east. Roman Catholic church- Situated on Schlossstrasse, this Swiss religious building houses a Roman Catholic parish church, which oﬀers worship masses, religious education, and other. Group members not opting for Mt. Jungfrau will have an opportunity to proceed to the city of Interlaken for an orientation tour. Later back to Zurich Hotel aGer having a 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> Zurich Airport
										</p>
										<p class="aj">Meals: Continental Breakfast and Indian Dinner</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>EP (No Meal)</li>
																						<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>EP (No Meal) </li><li>
Hotel</li><li>
Meals</li><li>
Sightseeing </li><li>
Accommodation for 02 nights in Paris</li><li>
Accommodation for 03 nights in Switzerland</li><li>
Orientation Guided Tour of Paris</li><li>
Orientation tour of Interlaken, Lucerne</li><li>
Paris Eiﬀel Tower level 2</li><li>
Paris Seine River Cruise</li><li>
Visit to Rhine Falls- No Boat ride Included</li><li>
Mountain Excursion to Mt. Titlis with Ice Flyer</li><li>
05 Breakfast as per provided by the hotel</li><li>
05 Veg / Non Veg / Jain Dinners at Indian </li><li>
Restaurant</li><li>
Hindi / English speaking Tour Leader / Manager </li><li>
throughout the tour</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Air Tickets</li><li>
Visa and Insurance</li><li>
Extra charges/expenses of personal nature like laundry, mineral water/drinks, telephone or any other charges/ expenses not mentioned in Inclusions Optional Tours</li><li>
Mandatory tips of Euro 2 per person per day for Coach Drivers, Guides etc.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>Payment Terms & Methods :</li><li>
Cost for Ticket + Visa + Insurance, No Porterage included, Any increase</li><li>
in the rate of exchange leading to an increase in surface transportation and land arrangements, which may come into effect prior to departure. The tour price is subject to increase without notice if this rate changes substantially prior to the departure of your tour. Any expenses of personal nature such as laundry, wines, mineral water, food and drink not in the regular menu provided by us pay TV, mini-bar, telephone calls, etc. Meals other than what is mentioned in your Itinerary. Cost of excursions, city sightseeing, entrance fees and local guides other than that mentioned in “Tour Cost Includes”, Overseas Mediclaim, Tips to Driver: EURO 2 per pax per day (Compulsory)</li><li>
Vouchers are not transferable and valid only for the services mentioned therein. Any services not specifically requested, confirmed and noted on vouchers will not be rendered. All extras to be paid directly to the hotels / the service providers.</li><li>
Passenger Comments / Complaints:</li><li>
It is imperative that any complaints be made known to the respective handling agents or its representatives without any delay so that appropriate action can be taken.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>Cancellation charges will be levied for bookings cancelled after confirmations are done. Requests for refund should be made in writing within 14 days after the scheduled completion of the services. Refund requests for curtailed stays cannot be processed unless provided with documentary evidence from hotel / the service provider. All refund requests are subject to obtaining a refund approval from the hotel / the service provider and no refund can be given without this approval. Holiday Kingdom Of Heaven reserves the right to process and whether or not to approve the refund request and if necessary charge an administrative fee. For packages, no refunds can be processed for partially utilized services and no-Shows. In the event of no show Holiday Kingdom Of Heaven reserves the right to release the complete booking and levy 100% cancellation charges.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.adiyogitourism.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Paris to Swiss 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="186771"/>
						</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.adiyogitourism.com/packages-in-ahmedabad.htm" title="Packages in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/packages-in-dehradun.htm" title="Packages in Dehradun">Dehradun</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.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 "><a class="dif" href="http://www.adiyogitourism.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/packages-in-yamunotri.htm" title="Packages in Yamunotri">Yamunotri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/packages-in-padang.htm" title="Packages in Padang">Padang</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</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.adiyogitourism.com/packages-in-somnath.htm" title="Packages in Somnath">Somnath</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.adiyogitourism.com/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</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.adiyogitourism.com/packages-in-kedarnath.htm" title="Packages in Kedarnath">Kedarnath</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.adiyogitourism.com/packages-in-frankfurt.htm" title="Packages in Frankfurt">Frankfurt</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.adiyogitourism.com/packages-in-kufri.htm" title="Packages in Kufri">Kufri</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.adiyogitourism.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam</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.adiyogitourism.com/packages-in-leh-ladakh.htm" title="Packages in Leh Ladakh">Leh Ladakh</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.adiyogitourism.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</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.adiyogitourism.com/packages-in-washington.htm" title="Packages in Washington">Washington</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.adiyogitourism.com/packages-in-corbett.htm" title="Packages in Corbett">Corbett</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.adiyogitourism.com/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</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.adiyogitourism.com/packages-in-mysore.htm" title="Packages in Mysore">Mysore</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.adiyogitourism.com/packages-in-pontianak.htm" title="Packages in Pontianak">Pontianak</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.adiyogitourism.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</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.adiyogitourism.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</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.adiyogitourism.com/packages-in-gangotri.htm" title="Packages in Gangotri">Gangotri</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.adiyogitourism.com/packages-in-palu.htm" title="Packages in Palu">Palu</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.adiyogitourism.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</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.adiyogitourism.com/packages-in-trivandrum.htm" title="Packages in Trivandrum">Trivandrum</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.adiyogitourism.com/packages-in-brussels.htm" title="Packages in Brussels">Brussels</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 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.adiyogitourism.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.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 "><a class="dif" href="http://www.adiyogitourism.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.adiyogitourism.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</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.adiyogitourism.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</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.adiyogitourism.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 Paris, Zurich</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.adiyogitourism.com/holiday-packages/10-days-paristo-swiss-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_19/568903/290469.jpg"  alt="10 Days Paris to Swiss Tour" title="10 Days Paris to Swiss Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.adiyogitourism.com/holiday-packages/10-days-paristo-swiss-tour.htm" title="10 Days Paris to Swiss Tour"><h3>10 Days Paris To Swiss Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 185000</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Brussels, Amsterdam, Zurich, Fran..</p>
															<div class="mt10px small">
							<form name="pkg_186772" id="pkg_186772" method="post" action="http://www.adiyogitourism.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.adiyogitourism.com/holiday-packages/10-days-paristo-swiss-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="10 Days Paris to Swiss Tour - 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="186772"/>
							</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:58:"Book Paris to Swiss Tour - 5 Nights / 6 Days Tour Packages";i:2;s:112:"book paris to swiss tour - 5 nights / 6 days tour packages, adventure tour packages, paris, zurich tour packages";i:3;s:159:"Book Paris to Swiss Tour - 5 Nights / 6 Days tour packages from Adiyogi Tourism - Get attractive 5 Nights / 6 Days Adventure  tour packages for  Paris, Zurich.";i:4;s:2123:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Zurich"        
		                 },
		      "description": "Paris , France's capital, is a major European city and a global center for art, fashion, gastronomy and culture. Its 19th-century cityscape is crisscrossed by wide boulevards and the River Seine. Beyond such landmarks as the Eiﬀel Tower and the 12th-century, Gothic Notre-Dame cathedral, the city is known for its cafe culture and designer boutiques along the Rue du Faubourg Saint-Honoré. Zurich One of the richest and most sophisticated cities in the world, Zurich is not only a global financial center, but also one of Europe's most important crossroads when it comes to transportation and travel. Its historical center has been preserved almost to the millimeter, although a trendy, avant-garde feel to the place makes Zurich one of the most a1ractive cities in the world to live and play. Lucerne, Lucerne,the gateway to central Switzerland, sited on Lake Lucerne, is embedded within an impressive mountainous panorama. Complete with gable paintings, the covered, medieval Chapel Bridge forms the centrepiece of Lucerne's townscape and is considered to be one of the oldest, covered wooden bridges in Europe. The figure of a dying lion which was hewn from the face of rock in remembrance of the heroic death of Swiss guards killed during an a1ack on the Tuileries in 1792 is one of the best-known monuments in Switzerland. Interlaken It's not unusual for a town to be on a River, Lake or An Ocean. But for It sit between two lakes may will be unique. Interlaken-between lake thin and lake brienz-can boast such a privileged position and there's more. Interlaken is also in the heart of the mangnifient Jungfrau region mountain World and aﬀords views of the World famous Icy Icons, The Eiger, Monch & Jungfrau.",
		      "name": "Paris to Swiss Tour",
		      "telephone": "+91-9510847518"
		    }
		    </script>
			";i:5;N;}