a:6:{i:0;s:13705:"				<div class="h1"><h1>Grand Switzerland with Brussels and Amsterdam Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.planjourneysindia.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.planjourneysindia.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Grand Switzerland with Brussels and Amsterdam 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">
						12 Nights / 13 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Brussels, Amsterdam, 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.planjourneysindia.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Grand Switzerland with Brussels and Amsterdam 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="95078"/>
						</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_15/425396/161788.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/425396/161788.jpg"  width="150" height="150"    alt="Grand Switzerland with Brussels and Amsterdam Tour" title="Grand Switzerland with Brussels and Amsterdam Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Arrival transfer from airport to hotel by private vehicle.<br />
Sightseeing tours in Amsterdam and Brussels.<br />
Entrance to Museums and unlimited train travel and local transport in Switzerland with Swiss pass.<br />
Visit the best peaks of Switzerland - Mt.Titlis, Mt. Pilatus and Jungfraujoch.<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> Arrival
								</p>
								<p class="aj">On arrival at Brussels Airport, transfer to your hotel by private vehicle.  Check in and relax. Later go for “Mini Europe” and witness the major European cities with its world-class monuments and tourist spots at one place in the form of miniature.  Overnight in Brussels.</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> Brussels
								</p>
								<p class="aj">After breakfast, we will take you to a half-day tour of Brussels including walking guided tour of Grande Place and outside view of European Community building with access to 53 meters tower of the National Basilica of Koekelberg. Overnight in Brussels.</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> Amsterdam
								</p>
								<p class="aj">Morning breakfast in your hotel, check out and proceed to board your train to Amsterdam. The journey takes 3 hrs 10 min from Brussels to Amsterdam. On arrival check in to your hotel in Amsterdam. Start using your 24 hours hop on hop off Canal bus pass to go to various tourist attractions in Amsterdam. Overnight accommodation in Amsterdam. (Train timings, subject to availability: 1055 hrs – 1404 hrs).</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> Amsterdam
								</p>
								<p class="aj">After breakfast in your hotel, go for relaxed hop on hop off canal tour along with a fast track visit to Van Gogh Museum in Amsterdam. The Amsterdam canal bus tour takes you around Amsterdam with comfort and style. Later in the evening come back to your hotel in Amsterdam.</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> Amsterdam
								</p>
								<p class="aj">Today after breakfast get ready for the full day tour of Amsterdam; Delft and The Hague including a picture stop at one of the Amsterdam’s windmills and a visit to the diamond factory.  We will also visit the Delft Blue Pottery and have a short walk over the houses of Parliament in The Hague. Later in the evening come back to your hotel in Amsterdam.</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
								</p>
								<p class="aj">Breakfast in your hotel, later check out and board your private vehicle to the airport and proceed to Switzerland. On arrival at Zurich Airport, collect your luggage and board your train to Lucerne. On arrival in Lucerne, proceed to Engelberg to check in your home for next one week – your apartment in Switzerland. Overnight in your apartment.</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> Zurich
								</p>
								<p class="aj">Today after breakfast, get ready for a fun filled day on Mount Titlis. Board on Titlis Rotair – world’s first rotating cable car, will give you an incredible 360-degree panoramic view of snow-capped mountains all around. On the peak, get on to the Ice Flyer chair lift for the most amazing view of Mount Titlis. After full day of excitement, come back to your apartment in the evening. Overnight in Engelberg.</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> Engelberg
								</p>
								<p class="aj">Free day to relax in Engelberg. You can go to Lucerne and visit different museums or go for some lake cruises available in the resort town or can try some activity near your apartment in Engelberg. Use your Swiss pass for train, tram or ferry journeys and is also an entrance pass for you to more than 100 museums in Switzerland. Overnight in your apartment in Switzerland.</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> Engelberg
								</p>
								<p class="aj">Today in the morning get ready and board your train to Interlaken, you can roam around this resort town today or go for the tour to Jungfraujoch – Top of Europe with its amazing attractions like Ice Palace, Ski and Snowboard Park, the Sphinx observation terrace and the “Top of Europe”Glacier restaurant. You can also have the famous indian cuisines at Bollywood restaurant here. Overnight in your apartment.</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> Engelberg
								</p>
								<p class="aj">Free day for you to relax or you can go for the local sightseeing nearby your apartment like city sightseeing of Lucerne, Interlaken, Zermatt, etc. Overnight at your apartment in Engelberg.</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> Engelberg
									</p>
									<p class="aj">Today go for full day tour of Mount Pilatus, offers world’s steepest railway with spectacular cable cars and modern gondolas. Visiting Piluland here is not just for the kids but is fun for the whole family. Other not to miss places here are Dragon Moor and Barbaque spots – a fun place for family get –together. In the evening come back to your apartment inEngelberg.</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 12:</b> Zurich
									</p>
									<p class="aj">The day is free for you to relax or you can go for any leisure activities available in Switzerland, like Swiss Museum of Transport in Lucerne, you can go to Geneva to have a look of beautiful Chillon Castle, Alpamare Water Park on Lake Zurich, etc. Overnight at your apartment in Engelberg.</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 13:</b> Departure
									</p>
									<p class="aj">Check out and proceed to board your train to the airport, at Zurich airport you can do last minute shopping of world famous Swiss chocolates, watches or Swiss Army knifes. Come back with happy memories of your tour with Plan Journeys.</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>Sightseeing</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.planjourneysindia.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Grand Switzerland with Brussels and Amsterdam 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="95078"/>
						</form>
						</div>
						
						";i:1;s:91:"Book Grand Switzerland with Brussels and Amsterdam Tour - 12 Nights / 13 Days Tour Packages";i:2;s:156:"book grand switzerland with brussels and amsterdam tour - 12 nights / 13 days tour packages, heritage tour packages, brussels, amsterdam, bern tour packages";i:3;s:203:"Plan Journeys Private Limited. offers Grand Switzerland with Brussels and Amsterdam Tour - 12 Nights / 13 Days tour package, budget Heritage tour packages for Brussels, Amsterdam, Bern at exciting price.";i:4;s:730:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Brussels, Amsterdam, Bern"        
		                 },
		      "description": "Arrival transfer from airport to hotel by private vehicle.
Sightseeing tours in Amsterdam and Brussels.
Entrance to Museums and unlimited train travel and local transport in Switzerland with Swiss pass.
Visit the best peaks of Switzerland - Mt.Titlis, Mt. Pilatus and Jungfraujoch.",
		      "name": "Grand Switzerland with Brussels and Amsterdam Tour",
		      "telephone": "91-9899892292"
		    }
		    </script>
			";i:5;N;}