a:6:{i:0;s:10951:"				<div class="h1"><h1>JH 003 Only Swiss 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>JH 003 Only Swiss 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">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Zurich</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 145000 Per Person						</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="JH 003 Only 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="84371"/>
						</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/148807.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/148807.jpg"  width="150" height="150"    alt="JH 003 Only Swiss Tour" title="JH 003 Only Swiss Tour" /></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> 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. Arrive and Check in Hotel.Overnight at Obwalden.</p>					
									<p><b>Meals : </b> (Meals: Dinner)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> 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>					
									<p><b>Meals : </b> (Meals: Breakfast, Lunch at the picnic spot, Dinner)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Obwalden - Jungfrau - Obwalden (50 Kms – 1 Hr. one way) (Optional)
								</p>
								<p class="aj">After breakfast proceed to Mt. Jungfrau. 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.</p>					
									<p><b>Meals : </b> (Meals: Breakfast, Lunch at the picnic spot, 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> Obwalden – Rhine Falls – Zurich – Obwalden (2.5hrs–135Kmsoneway)
								</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 Bahnhofstrasse for shopping. Later return back to Hotel, overnight at Obwalden.</p>					
									<p><b>Meals : </b> (Meals: Breakfast, Lunch, Dinner)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Obwalden – Bern – Montreux – Obwalden
								</p>
								<p class="aj">After breakfast proceed to Swiss capital: Bern, travel over the old stone bridges past Bear Pitand 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. After Lunch at the picnic spot later <br />
proceed to Montreux. It is located on Lake Geneva at the foot of the Alps. the sunny slopes of the lake from Lavaux to Montreux became an important wine-growing region. Later will take a Golden Pass train Ride from Montreux to Gstaad. Evening return back to your hotel.Overnight at Obwalden.</p>					
									<p><b>Meals : </b> (Meals: Breakfast, Lunch at the picnic spot, 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> 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>					
									<p><b>Meals : </b> (Meals: Breakfast, Lunch at the picnic spot, Dinner)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> Obwalden – Mt. Titlis – Sarnen– 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, proceed for visit Lake ofSarnen. Later Return back to Hotel, overnight at Obwalden.</p>					
									<p><b>Meals : </b> (Meals: Breakfast, Lunch at the picnic spot, Dinner)</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 8:</b> Obwalden – Zurich Airport
								</p>
								<p class="aj">After breakfast check out from the hotel and Proceed to Airport to board flight for Home Bound Destination.</p>					
									<p><b>Meals : </b> (Meals: Breakfast)</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>
																		<li>Transport</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="JH 003 Only 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="84371"/>
						</form>
						</div>
						
						";i:1;s:61:"Book JH 003 Only Swiss Tour - 7 Nights / 8 Days Tour Packages";i:2;s:105:"book jh 003 only swiss tour - 7 nights / 8 days tour packages, valley tour packages, zurich tour packages";i:3;s:156:"Book JH 003 Only Swiss Tour - 7 Nights / 8 Days tour packages from Sanskruti Vacations - Get attractive 7 Nights / 8 Days Valley  tour packages for  Zurich.";i:4;s:400:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Zurich"        
		                 },
		      "description": "",
		      "name": "JH 003 Only Swiss Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}