a:6:{i:0;s:10472:"				<div class="h1"><h1>Mini Europe Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.rajastravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.rajastravels.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>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">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Paris, Zurich, Lucerne, Bern</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.rajastravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="66336"/>
						</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_13/370602/121696.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_13/370602/121696.jpg"  width="150" height="150"    alt="Mini Europe Tour" title="Mini Europe 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> Zurich - 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.[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 - Mt. Titlis - Lucerne - Obwalden
								</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. After that we 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. 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 3:</b> Obwalden - Bern - Interlaken - Obwalden
								</p>
								<p class="aj">After breakfast at the hotel, 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. 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. Later we 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 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.<br />
Day 5: Obwalden - Basel - 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 5:</b> Depart for Rhine Falls, a cascading waterfall separating Germany & Swiss, Later we proceed to orient
								</p>
								<p class="aj">After breakfast at the hotel we check out and drive via beautiful city of Basel and 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 6:</b> Paris
								</p>
								<p class="aj">After breakfast at the hotel, 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 lunch you will see the famous landmarks - Notre dame cathedral, arch de Triomphe, champs Elysées, place de Concorde, the opera house, & visit the level 02 of The Eiffel Tower. Return to the hotel, 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 7:</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 0900AM. Tour ends with lots of memories for the life and to suggest this wonderful tour to your friends and relatives.</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>
															</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.rajastravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="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="66336"/>
						</form>
						</div>
						
						";i:1;s:55:"Book Mini Europe Tour - 6 Nights / 7 Days Tour Packages";i:2;s:123:"book mini europe tour - 6 nights / 7 days tour packages, heritage tour packages, paris, zurich, lucerne, bern tour packages";i:3;s:168:"Book Mini Europe Tour - 6 Nights / 7 Days tour packages from RAJAS TRAVELS - Get attractive 6 Nights / 7 Days Heritage  tour packages for  Paris, Zurich, Lucerne, Bern.";i:4;s:416:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Zurich, Lucerne, Bern"        
		                 },
		      "description": "",
		      "name": "Mini Europe Tour",
		      "telephone": "+91-9820123553"
		    }
		    </script>
			";i:5;N;}