a:6:{i:0;s:30558:"					<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"  height="150"  width="150"    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-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-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-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</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-dwarka.htm" title="Packages in Dwarka">Dwarka</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-dubai.htm" title="Packages in Dubai">Dubai</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-bangalore.htm" title="Packages in Bangalore">Bangalore</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-old-goa.htm" title="Packages in Old Goa">Old Goa</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-pekanbaru.htm" title="Packages in Pekanbaru">Pekanbaru</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-amritsar.htm" title="Packages in Amritsar">Amritsar</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-ooty.htm" title="Packages in Ooty">Ooty</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-amsterdam.htm" title="Packages in Amsterdam">Amsterdam</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-yamunotri.htm" title="Packages in Yamunotri">Yamunotri</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-padang.htm" title="Packages in Padang">Padang</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-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="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"  height="100"  width="100"    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;}