a:6:{i:0;s:21042:"				<div class="h1"><h1>Great Mini Europe 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>Great Mini Europe 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="Great Mini Europe 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="52375"/>
						</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/102689.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/102689.jpg"  width="150" height="150"    alt="Great Mini Europe Tour" title="Great Mini Europe Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Only Indian Tour covering seven nights in depth extensive stay in one of the most beautiful Country: Switzerland.<br />
Enjoy entire tour from door to door by luxury vehicle, no need to stand for train schedules, train<br />
Connections, train changes, train to bus or bus to train transfers with baggage in rain or snow or sun shine, saving of lots of travel time every day, most convenient especially for families with children and baggage.<br />
Enjoy all beautiful towns, cities and places of Swiss: Bern & Montreux, Zurich, Mt.Titlis & Lucerne, Engelberg, Interlaken, Rhine Falls, Lake Sarnen, Art Town of Swiss: Hergiswil,<br />
Enjoy 3 cable cars to Mt. Titlis with world’s first rotating gondola.<br />
Visit Bern - Capital of Switzerland. Enjoy the old town, flag-street, Bear Pit, Swiss National Bank, Federation Palace and enjoy the shopping whatever is the weather.<br />
Explore city of Zurich - located in the heart of Europe.<br />
Zurich city tour includes St. Peters Church, Lake Zurich, etc.<br />
Visit to Lake Sarnen.<br />
Visit Lugano : Swiss Miniature & Chocolate Factory<br />
Visit Interlaken - Center for numerous adventure activities.<br />
Enjoy trip to Rhine Falls, Spectacular Falling water(Europe’s Widest waterfalls)<br />
Visit to Lake Lucerne - the gateway to central Switzerland. Enjoy Chapel Bridge, Lion Monument, Lake Lucerne, Transport museum, Boat ride on Lake Lucerne.<br />
High inclusions with low pricing.<br />
Paris 3 nights: City tour, Seine River Cruise & Eiffel Tower.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 - Zurich - Obwalden
								</p>
								<p class="aj">Arrive Zurich International Airport and proceed for 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 19:00 Hours.</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 - Interlaken - Jungfrau (Optional) - Obwalden (50 Kms - 1 Hr. one way)
								</p>
								<p class="aj">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.<br />
<br />
OR<br />
<br />
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.</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 - 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 5:</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 6:</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 Lake of Sarnen. 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 7:</b> Obwalden - Bern - Montreux - Obwalden
								</p>
								<p class="aj">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 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. 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 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>					
									<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 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>					
									<p><b>Meals : </b> (Meals: Breakfast, Pack 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 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>					
									<p><b>Meals : </b> (Meals: Breakfast, Pack Lunch, Dinner)</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 to board home bound flight at 1700 hours. Tour ends with lots of memories for the life and to suggest this wonderful tour to your friends and relatives.</p>					
										<p><b>Meals : </b> (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>
																		<li>Transport</li>
																		<li>Transfers</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>~^#^~~^#^~<p><strong>Optional:-</strong>

<p>Mt Jungfrau: CHF 165 per person

<p>Lido show: 120 Euro per person

<p>&nbsp;<strong>Itinerary can be Shuffle by Tour Leader according to Weather Conditions</strong>

<p><strong>&nbsp;</strong><strong>IMPORTANT FAQ&rsquo;s</strong>

<p>&nbsp;PLEASE NOTE THAT ONLY 1 BAG OF 20 KG PER PERSON AS CHECK IN LUGGAGE AND 1 HAND BAG UP TO 7 KG PER PERSON IS ALLOWED IN EUROPE, NO EXTRA BAGS WOULD BE ALLOWED UNDER ANY CIRCUMSTANCES.

<ul>
	<li>WEATHER IN EUROPE WOULD BE MIX OF SHORT RAIN, COLD AND SUMMER</li>
	<li>SPORTS SHOES RECOMMENDED FOR THE JOURNEY</li>
	<li>SUN GLASSES RECOMMENDED FOR SNOW ENCOUNTER IN SWISS</li>
	<li>YOU CAN BUY A EURO CURRENCY DEBIT CARD INSTEAD OF CARRYING CASH - FOR SAFETY</li>
	<li>UNIVERSAL ADAPTER IS ADVISABLE TO CARRY FOR CHARGING OF MOBILES &amp; CAMERAS</li>
	<li>EUROPE IS KNOWN FOR THEFT, SO PLEASE CARRY LEAST POSSIBLE VALUABLES</li>
	<li>EIFFEL TOWER, JUNGFRAU, GLACIER 3000 ARE THE PLACES IN TOUR WHICH WOULD BE EXTREMELY COLD</li>
	<li>TAP-WATER IS SAFE AND HYGENIC IN ENTIRE EUROPE, WE ADVISE TO CARRY EMPTY WATER BOTTLE FROM</li>
</ul>

<p>INDIA

<ul>
	<li>SHOPPING CAN BE DONE AS BELOW:</li>
	<li>CHOCLATES &amp; WATCHES IN SWISS,&nbsp; , PERFUMES IN PARIS</li>
</ul>

<p>&nbsp;<strong><em>Visa requirement:</em></strong>

<ul>
	<li>4 recent photographs ( 35mm*45 mm white background matt finishing; 80% face focus)</li>
	<li>Original passport with minimum validity of six months. ( please provide all old passports if any) (Validity of Passport should be 10 year from the date of issue)</li>
	<li>Last three year&rsquo;s income tax&nbsp;- Saral form (photocopies) Company &amp; Personal.</li>
	<li>Recent 6 months personal bank statements of all the passengers travelling. (photocopies) Company &amp; Personal.</li>
	<li>3 Letterheads individual / company.</li>
	<li>Pan card copy</li>
	<li>Insurance copy</li>
	<li>Student id proof</li>
	<li>Business Proof (Partnership Deed / MOU of Proprietor / MOU of shop &amp; establishment)</li>
	<li>If salaried person, we need leave letter on company&rsquo;s letter head and 3 months&rsquo; salary slip</li>
</ul>

<p><strong>&nbsp;</strong><strong>Payment Policy:&nbsp;Rs 50,000 at the time of booking (Non- Refundable)</strong>

<p><strong>Balance Payment 30 Days Prior to Departure.</strong>

<p>&nbsp;<strong>Cancellation Policy</strong>

<p>35 Days or more prior to the date of departure &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Deposit Amount

<p>34 &ndash; 25 Days &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25 % of Tour Cost

<p>24 &ndash; 15 Days&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50 % of Tour Cost

<p>14 &ndash; 10 Days&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75 % of Tour Cost

<p>10 days of less prior to the date of departure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 100 % of Tour Cost

<p>&nbsp;Note: In case of Cancellation you would be provided Credit note after cancellation charges which can be utilized in any International Tour within the period of 1 year.												</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="Great Mini Europe 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="52375"/>
						</form>
						</div>
						
						";i:1;s:52:"Book Great Mini Europe Tour - 111 Days Tour Packages";i:2;s:152:"book great mini europe tour - 111 days tour packages, forts and palaces tour packages, paris, zurich, lucerne, basel, bern, lugano, sarnen tour packages";i:3;s:188:"Sanskruti Vacations offers Great Mini Europe Tour - 111 Days tour package, budget Forts and Palaces tour packages for Paris, Zurich, Lucerne, Basel, Bern, Lugano, Sarnen at exciting price.";i:4;s:1967:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Zurich, Lucerne, Basel, Bern, Lugano, Sarnen"        
		                 },
		      "description": "Only Indian Tour covering seven nights in depth extensive stay in one of the most beautiful Country: Switzerland.
Enjoy entire tour from door to door by luxury vehicle, no need to stand for train schedules, train
Connections, train changes, train to bus or bus to train transfers with baggage in rain or snow or sun shine, saving of lots of travel time every day, most convenient especially for families with children and baggage.
Enjoy all beautiful towns, cities and places of Swiss: Bern & Montreux, Zurich, Mt.Titlis & Lucerne, Engelberg, Interlaken, Rhine Falls, Lake Sarnen, Art Town of Swiss: Hergiswil,
Enjoy 3 cable cars to Mt. Titlis with world’s first rotating gondola.
Visit Bern - Capital of Switzerland. Enjoy the old town, flag-street, Bear Pit, Swiss National Bank, Federation Palace and enjoy the shopping whatever is the weather.
Explore city of Zurich - located in the heart of Europe.
Zurich city tour includes St. Peters Church, Lake Zurich, etc.
Visit to Lake Sarnen.
Visit Lugano : Swiss Miniature & Chocolate Factory
Visit Interlaken - Center for numerous adventure activities.
Enjoy trip to Rhine Falls, Spectacular Falling water(Europe’s Widest waterfalls)
Visit to Lake Lucerne - the gateway to central Switzerland. Enjoy Chapel Bridge, Lion Monument, Lake Lucerne, Transport museum, Boat ride on Lake Lucerne.
High inclusions with low pricing.
Paris 3 nights: City tour, Seine River Cruise & Eiffel Tower.Porterage
Any items not specifically mentioned in "Tour cost includes"",
		      "name": "Great Mini Europe Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}