a:6:{i:0;s:14272:"				<div class="h1"><h1>Swiss With Paris Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Swiss With Paris 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">
						10 Nights / 11 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Paris, Zurich, Lucerne, Basel, Bern, Lugano, Sarnen</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Swiss With Paris 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="52371"/>
						</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_14/393874/102685.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/102685.jpg"  width="150" height="150"    alt="Swiss With Paris Tour" title="Swiss With Paris Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Porterage<br />
Any items not specifically mentioned in "Tour cost includes".<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> Destination - Obwalden
								</p>
								<p class="aj">Assemble at your nearest international airport to board flight for Zurich. Arrive and proceed to Giswil, which is heart of Switzerland and from where access to any part of Swiss is most conveniently reachable. Obwalden is a German word which means: FOREST, place is surrounded by lush green forest mountains in Spring & Summer, white snow in the winter. Town of Giswil is just located at the entrance of Northern Alps and that gives location a fabulous advantage of mild winter compare to the deep interiors and provides year round tourists facilities. Just to share few of the distances: Zurich 80 Kms, Lucern 20Kms, Engelberg 50Kms,Bern 95Kms, Lugano 180Kms, Interlaken 45 Kms, Rhine Falls 139Kms, this saves a tourists most valuable time of changing hotels across Swiss and enjoy every moment of the holiday, overnight at Obwalden. Zurich pick up time for all passengers will be 1900 Hours.</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> Obwalden - Lugano - Obwalden
								</p>
								<p class="aj">After breakfast proceed to Lugano. Arrive in Lugano and Enjoy the Mediterranean atmosphere in this southern town of Switzerland. Stroll along the lakeside promenade. Enjoy visit to Swiss Miniature. This special attraction of Switzerland covers an area of 14,000 sqmts, houses replicas of the famous buildings, castles and cathedrals. Then, visit The Chocolate factory enabling you to see the processes that go in the chocolate production. Return back to Hotel, overnight at Obwalden.</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> Obwalden - Jungfrau (Optional) - Interlaken - Obwalden (50 Kms - 1 Hr. one way)
								</p>
								<p class="aj">Proceed to Mt. Jungfrau (optional). A beautiful scenic drive takes you to Grindelwald. Ascend to Jungfrau. We board the rack rail (the only rail to reach the height of 11000 feet!) to ascend at Jungfrau - the top of Europe. Here you will be visiting the ice palace, the sphinx, and all the activities at the top.<br />
<br />
  OR<br />
<br />
Proceed to Interlaken. Visit small town of Interlaken where you can enjoy various Optional adventure sports like Bungee Jumping, Sky Dive, Paragliding, and Helicopter Ride, Rafting etc. We will do an orientation tour of the small town.</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> Obwalden - Rhine Falls - Zurich - Obwalden (2.5hrs / 135Kms one way)
								</p>
								<p class="aj">Depart for Rhine Falls, a cascading waterfall separating Germany & Swiss, Later we proceed to orientation tour of Zurich including St. Peter’s Church with Europe’s largest clock face and Lake Zürich (photo opportunity). Also visit the world-famous Bahnh of strasse for shopping. Later return back to Hotel, overnight at Obwalden.</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> Obwalden - Mt. Titlis - Sarnen - Hergiswil - Obwalden (50 Kms - 45 min one way)
								</p>
								<p class="aj">After Breakfast, proceed to Engelberg, the base of Central Switzerland’s highest mountain. Enjoy 3 cable car rides on the way up to Titlis. Later descend & on the way back enjoy the visit to Hergiswil Glass factory, Later, proceed for visit town of Sarnen. Also enjoy shopping in Pilatus market. Later Return back to Hotel, overnight at Obwalden.</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> Obwalden - Bern - Interlaken - Obwalden
								</p>
								<p class="aj">After Breakfast proceed to Swiss capital: Bern, travel over the old stone bridges past Bear Pit and straight through the medieval Old Town. We’ll follow the 6 kilometers of arcades and the historical fountains dotting the streets and passing by the Clock Tower (Zytglogge). The Parliament building with “its” Parliament Square (Bundesplatz) is another landmark that can’t be missed on this tour. After completing orientation tour, enjoy the walk on the walking flag street in Bern. Time is free for shopping to buy Swiss Jewellery, watches, Chocolates, souvenirs etc. After Lunch at the picnic spot later proceed to Interlaken. Visit small town of Interlaken where you can enjoy various Optional adventure sports like Bungee Jumping, Sky Dive, Paragliding, and Helicopter Ride, Rafting etc. We will do an orientation tour of the small town.</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> Obwalden - Lucerne - Obwalden (30 kms - 30 mins)
								</p>
								<p class="aj">Proceed for the city tour of Lucerne visiting the famous Lion Monument, Chapel Bridge and beautiful Lake of Lucerne. Free time is given for shopping/walking tour near the Lake. Take a Boat Ride at Lake Lucerne. And visit to Transport museum.  Later Return back to Hotel, overnight at Obwalden.</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> Obwalden - Basel - Paris (7hrs. 35 min - 700 Kms)
								</p>
								<p class="aj">After breakfast check out from the hotel and drive to Paris via beautiful city of Basel and then proceed to the French Landmark City of Paris. This city is considered as one of the most advanced and yet cultured city in France. Enjoy lunch Enroute. On arrival after a scenic drive, check in to your hotel. And at night you can go to world famous Lido Show at 1130PM (Optional). Later time is free to feel the city on your own, overnight at 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 9:</b> Paris
								</p>
								<p class="aj">Morning is free for shopping and leisure. After lunch panoramic tour of Paris. You will see the famous landmarks – Notre dame cathedral, arch de Triomphe, champs Elysées, place de Concorde, the opera house, & visit the Eiffel Tower. In the evening you will ride the Seine River Cruise. See the beautiful city from the water and take memory of the city in mind, heart and camera. After dinner we will be doing optional tour of Evening in Paris where you will see this romantic city in the evening. Return to the hotel after the show, overnight at 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 10:</b> Paris
								</p>
								<p class="aj">After breakfast at the hotel we will enjoy full day at the Europe’s first Disney Theme Park: Disneyland. Return to the hotel after the long day visit to the memorable theme park. In the evening return back to hotel, overnight at Paris.</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> Paris - Homebound flight
									</p>
									<p class="aj">Morning one time coach drop facility at Charles De Gaulle Airport for your home bound flight at 0800AM. Tour ends with lots of memories for the life and to suggest this wonderful tour to your friends and relatives. (Meals: 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>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Porterage</li><li>
Any items not specifically mentioned in "Tour cost includes".</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Swiss With Paris 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="52371"/>
						</form>
						</div>
						
						";i:1;s:51:"Book Swiss With Paris Tour - 111 Days Tour Packages";i:2;s:142:"book swiss with paris tour - 111 days tour packages, heritage tour packages, paris, zurich, lucerne, basel, bern, lugano, sarnen tour packages";i:3;s:178:"Sanskruti Vacations offers Swiss With Paris Tour - 111 Days tour package, budget Heritage tour packages for Paris, Zurich, Lucerne, Basel, Bern, Lugano, Sarnen at exciting price.";i:4;s:516:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Zurich, Lucerne, Basel, Bern, Lugano, Sarnen"        
		                 },
		      "description": "Porterage
Any items not specifically mentioned in "Tour cost includes".",
		      "name": "Swiss With Paris Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}