a:6:{i:0;s:41418:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>Grand Europe London - Swiss & Paris Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.uniquetourtravel.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.uniquetourtravel.com/packages.htm" title="Packages">Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Grand Europe London - Swiss & Paris Tour</p> 
										<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_16/471411/219172.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_16/471411/219172.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_16/471411/219172.jpg"  alt="Grand Europe London - Swiss & Paris Tour" title="Grand Europe London - Swiss & Paris Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
												
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Grand Europe London - Swiss & Paris Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						9 Nights / 10 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> London, Paris, Zurich, Interlaken, Jungfraujoch</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px"><i class="fa fa-inr"></i> 241000						</p>
						<p class="xxsmall alpha50">Per Person</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.uniquetourtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Grand Europe London - Swiss & Paris Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="139361"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div>
												<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj"><b>Sightseeing Includes:</b><br />
Switzerland<br />
Schaffhausen - Rhine Falls (Mini Niagara Falls Of Europe)<br />
Zurich - 	Orientation Tour - <br />
Lucerne - Lion Monument, Chapel Bridge, Lake Lucerne City & Old Town <br />
Interlaken - Orientation tour, Jungfrau Train & Visit to Mt. Jungfraujoch<br />
Engel berg - Mount Titlis Cable Car with Ice Flyer & Cliff Walk<br />
Germany	 Lake Titsee and Druba Cuckoo Clock<br />
<br />
France<br />
Paris Eiffel Tower (3rd Level), Arc de Triomphe, The Notre Dame Cathedral, <br />
Tuileries Gardens, Concorde Square, The Invalides, The Opera Garnier, Champs Elysees, Galleries Lafayette,Illuminating Paris Tour By Romantic River Seine Cruise ((Cruise Boarding Time 8 PM Arrival time 9 PM)<br />
UNITED KINGDOM<br />
London - Piccadilly Circus Big Ben, Buckingham Palace, Trafalgar Square, Tower <br />
Bridge, Oxford Street, West Minister Abbey, St. Paul’s Church, <br />
Parliament House, River Thames, London Bridge, London Monument, <br />
Change of Guards Ceremony, London Eye & Madame Tussauds Wax <br />
Museum <br />
<br />
<b>Tour Manager:</b><br />
Hindi/English speaking Tour Managers throughout the tour<br />
<br />
<b>Meals:</b><br />
Continental Breakfast (CBF), Indian Lunch (L) & Indian Dinner (D) as per the itinerary.Courier Charges if any to be paid for delivering the documents.<br />
Any other expenses of personal nature<br />
Porterage at hotels, Airport and Sea Ports<br />
Anything not mentioned in Cost includes box</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> India – Zurich (Switzerland) – Rhine Falls										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Upon arrival, after immigration & customs check, meet our Tour Manager / Local Representative outside of custom area, time for freshen up & we board our coach & drive to Rhine Falls at the border of Germany & Switzerland. The Rhine Falls is the largest plain waterfall in Europe. The falls are located near the town of Schaffausen in Northern Switzerland, Later transfer to the commercial capital of Switzerland Zurich. Free time to visit Zurich Lake or Bahnhof Strasse followed by transfer to Indian restaurant for delicious Indian Dinner followed by transfer to hotel. (D) Night is free to explore Nightlife of Zurich on your own.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Zurich – Jungfraujoch – Interlaken										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after breakfast, transfer to Europe's highest altitude railway station Jungfraujoch (11,333ft.)  The highlight of every visit to Switzerland is a trip to Jungfraujoch - Top of Europe. From Lauterbrunnen / Grund (Grindalwald) to catch your train. The train trip takes you via Kleine Scheidegg & through the Eigar North wall up to the scenic splendours of the Jungfraujoch in the heart of the wonder world of Glaciers & eternal ice. Experience some of the world’s most splendid scenic beauties & waterfalls during the train journey to Jungfraujoch. Views from this unique vantage point extend as far as summits of the Vosges range in France, the Black Forest in Germany and also directly at the Jungfraujoch, the Aletsch Glacier- the longest ice stream in Alps. After visiting Ice caves, Terrace & Ice Sphinx, we start descending from the Alps & reach Interlaken. Interlaken lies in the Bernese Oberland on an alluvial plain, between Lake Thun and Lake Brienz. We drive through & enjoy city Orientation Tour of Interlaken city followed by transfer to Indian Restaurant. Overnight in Zurich. (CBF, Lunch at Bollywood Restaurant, D) Indian Lunch at Mt. Jungfraujoch			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Zurich – Mt. Titlis with Ice Flyer and Cliff Walk – Lake Lucerne city  -Zurich										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after breakfast, tour to visit peak of The Alps - The Mount Titlis & experience world's first revolving cable car known as 'Rotair'. We arrive top of the mountain & visit Ice Cave.  Later we visit 'Glacier Park' by 'Ice Flyer chair Lift' with new attraction ‘Cliff Walk’. Glacier Park- a unique rollick on snow tubes (inner tubes for the snow) or a variety of fun & unusual sledges designed to whisk you down the snow covered slopes, an unforgettable experience. Enjoy hot Indian Lunch at Titlis restaurant.  Late afternoon we start descent & drive to Lucerne. We visit Lion Monument, Lake Lucerne & Old Town, free time for shopping till your transfer to the <br />
Lake Lucerne Followed by transfer to Indian Dinner & hotel in Zurich & overnight stay.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Zurich – Germany – Lake Titsee and Druba  Cuckoo Clock										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after breakfast, tour to visit Germany – Lake Titsee and Druba  Cuckoo Clock<br />
 After Lunch  transfer Germany City Tour  to Indian Dinner & hotel in Zurich & overnight stay.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Zurich – Paris (FRANCE) ( KM 689 approx 10 HRS)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after breakfast, Sit back and relax, We drive you to Paris, via Lyon Dijon & Cross the border from Basel. We arrive Paris late evening. The glamour capital of the world – Paris known for fashion, art museums, world famous romantic avenues, beautiful monuments and exciting cabarets. Transfer to enjoy hot Indian Dinner in an Indian Restaurant.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Paris – Eiffel Tower 3rd Level – Paris Tour - Romantic River Seine Cruise										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after breakfast, transfer to visit the main landmark of Europe “Eiffel Tower” (3rd Level). The grand view of Paris from the Eiffel Tower - Top Level is really marvellous & worth capturing in the camera. After coming down from the Eiffel tower, transfer to Indian restaurant for Indian Lunch. After lunch we start panoramic city tour of fashion capital of the world ”Paris” with English Speaking Guide who will show you Louvre Museum (outside) & Glass Pyramid, Notre Dame, Opera Garnier, Arc de Triomphe, Champ Elysees, Alexander Bridge, Concords Square, Tuileries Gardens, Invalides and much more Followed by transfer to the Champ Elysees Avenue world most Romantic Avenue, famous for Shopping, Night Clubs, Bar, Restaurants & if <br />
you are lucky you will also see street dancing followed by transfer to your Indian restaurant for dinner. After dinner, we will take you to Bateaux Mouches to discover more of an Illuminating Paris by Romantic River Seine Cruise (Cruise Boarding Time 9 PM  Arrival time 10 PM) followed by transfer to hotel & Overnight in Paris.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Paris - Lodon (P & O ferry)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after continental breakfast, transfer to  Port to board the ferry. The shortest sea (English Channel) crossing 90 minute’s journey. Arrive London  transfer you to your hotel. Once check into the hotel, time free to enjoy facilities available in the hotel. Late evening transfer to Indian restaurant for delicious Indian dinner. Overnight is free to explore night life of your own.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 8											
											:</b> London – City Tour - Madame Tussauds – London Eye (Tallest Ferris wheel of EUROPE)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After continental breakfast, we start with guided city tour of London; visit the Buckingham Palace to see the change of guards ceremony followed by panoramic tour of London & see Big Ben, Trafalgar Square where you can see the hustle & bustle of the visitors from all over the world, The Icon of London - Tower Bridge is famous as the Landmark of London. Driving through the famous Piccadilly Circus we pass River Thames, which is known as the heart of London, St. Paul’s Cathedral that is another landmark of London. After London sightseeing, transfer to Madame Tussauds Wax Museum. It’s time to have photographs with the wax statues of the great celebrities of the world including famous Bollywood stars. Besides those displays there are also several themed sections in the museum including the Chamber of Horrors, 4D Marvel Heroes show and taxi ride for a journey through history. Later transfer to the tallest ferries wheel in Europe - London Eye. By the end of the day you will be transferred to an Indian restaurant for the Dinner. Overnight at London & you are free to explore night life of your own. Meals: Continental Breakfast  & Indian Lunch /  Dinner.			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 9											
											:</b> London Shopping Tour										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after early morning breakfast, Day Free for Shopping , Indian  Lunch / Dinner			
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 10											
											:</b> London –  Return Flight										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after early morning breakfast, transfer to Airport to your flight back to INDIA  with beautiful memories of your tour. It’s time to share your experience of Europe tour with your friends. We look forward to serve you again for your next holiday’s tour. (CBF)			
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Accommodation at the Hotel mentioned or similar on twin sharing basis</li><li>
Daily Continental Breakfast, Indian Lunches & Dinners as mentioned in the itinerary</li><li>
Swiss - Schaffhausen - Rhine Falls (Mini Niagara Falls of Europe)</li><li>
Swiss - Visit Zurich Lake</li><li>
Swiss - Mt. Titlis with Ice Flyer & Cliff Walk </li><li>
Swiss - Hot Indian Lunch at Mt. Trubsee (Mt. Titlis)</li><li>
Swiss - Mt. Jungfraujoch with Indian Lunch at Bollywood Indian Restaurant</li><li>
Swiss - Lake Lucerne Cruise with Indian Dinner (Duration 0130 Hrs) </li><li>
Switzerland - Zurich Orientation Tour, Interlaken Orientation Tour, Lucerne Orientation Tour</li><li>
Swiss to Paris Scenic drive by Deluxe Coach </li><li>
Paris - Guided City Tour</li><li>
Paris - Eiffel Tower 3rd Level (Top Level)</li><li>
Paris - Illuminating Paris By Romantic River Seine Cruise (Cruise Timings: 9 PM to 10 PM)</li><li>
Tips to Coach Driver Euro 14 per person</li><li>
Services of Tour escort from our office </li><li>
Lake Lucerne City Tour</li><li>
All transfers by Deluxe coach as per mentioned in the itinerary</li><li>
Services of UNIQUE TOURS& TRAVELS Tour Manager or Local Representative</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Courier Charges if any to be paid for delivering the documents.</li><li>
Any other expenses of personal nature</li><li>
Porterage at hotels, Airport and Sea Ports</li><li>
Anything not mentioned in Cost includes box</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Suggested Hotels Or Similar:</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">City  </td>
				<td class="data p5px">Nights</td>
				<td class="data p5px">Hotel</td>
			</tr>
			<tr>
				<td class="data p5px">Zurich</td>
				<td class="data p5px">4 Nights </td>
				<td class="data p5px">Swissotel / Renaissance /Movenpick/Novotel/ Radisson Blue </td>
			</tr>
			<tr>
				<td class="data p5px">Paris          </td>
				<td class="data p5px">2 Nights</td>
				<td class="data p5px">Mercure Cergy / Novotel Cergy /Renaissance/</td>
			</tr>
			<tr>
				<td class="data p5px">Londan</td>
				<td class="data p5px">2 Nights</td>
				<td class="data p5px">Renaissance / Crown Plaza / Radisson Blue/ Jury Inn </td>
			</tr>
		</table></div><br>								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li><p><strong>Payments:</strong></li><li>
	Booking will be accepted only with a non refundable deposit cheque of Rs 45,000/- per passenger with booking form duly filled along with Copy of Passport.</li><li></li><li>
	Final balance payment to be paid 45 days before departure or when visa is granted. (Whichever is earlier)</li></ul>						
								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<p><strong>Remarks</strong>

<ul>
	<li>No refund for unutilized service</li>
	<li>Package available to passengers eligible for BTQ only</li>
	<li>Subject to GOI/RBI approval</li>
	<li>Visa must be processed 90 days before departure. Any cancellation of tour because of delay / rejection of Visa because of any reason/s, the customer will be responsible for the tour amendment / cancellation charges.</li>
	<li>In Europe all shops opens around 09 AM till 07 PM &amp; all markets remain closed on Sunday&rsquo;s.</li>
	<li>All the motor coaches used by Unique Tours for the tours are with time bound services, as per European Law . For any further / Extra service asked by clients will be charged separately on the spot, only if it is possible. Motor coaches listed for this tour are independently owned and operated by various companies through Europe and not by Unique Tours &amp; Travels Airport transfers will be provided only if pax travel with the group. All other passengers arriving/departing separately will have to arrange their own airport transfers. All Hotels, Restaurants, flight, itinerary subject to change without notice</li>
	<li>The Overseas Mediclaim for the passengers over the age of 59 will attract a supplement. The cost of Euro component will be collected in Indian Rupees as per forex card rate as on date of payment from the proceed of Foreign Exchange purchased from an authorized dealer under BTQ. If a particular group does not have minimum numbers of passengers, the company reserves the right either to cancel the group or post upon the departure. All Tours subject to Unique Tours &amp; Travels Tour condition Airlines Reservation</li>
</ul>

<p><strong>Cancellation:</strong>

<ul>
	<li>If, as a result of cancellation, number of persons in a group is reduced below 41 persons per coach, then cost of cancellations of any services shall be worked out and charged extra.</li>
	<li>Withdrawing from tour at any stage (Before or After commencement of the tour) would be treated as no show and no refunds shall be allowed; any further fresh arrangement shall be borne by the passenger.</li>
	<li>Cancellation after issue of visa and / or after payment is received shall attract a cancellation charge as per Airline and Hotels Cancellation policy and Visa fees will be non refundable&hellip;.</li>
</ul>

<p><strong>Cancellation Policy</strong>

<ul>
	<li>45 days prior to the departure date only 25% of the total cost</li>
	<li>46 - 35 days prior to the departure date 35% of the total cost</li>
	<li>34 - 15 days prior to the departure date 65% of the total cost</li>
	<li>14 - 00 days prior to the departure date 100% of the total cost</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.uniquetourtravel.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Grand Europe London - Swiss & 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="139361"/>
						</form>
						</div>
						
										</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-rudraprayag.htm" title="Packages in Rudraprayag">Rudraprayag</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-bentota.htm" title="Packages in Bentota">Bentota</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/packages-in-colombo.htm" title="Packages in Colombo">Colombo</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-chamoli.htm" title="Packages in Chamoli">Chamoli</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-bali.htm" title="Packages in Bali">Bali</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-joshimath.htm" title="Packages in Joshimath">Joshimath</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-kandy.htm" title="Packages in Kandy">Kandy</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-mandla.htm" title="Packages in Mandla">Mandla</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-macau.htm" title="Packages in Macau">Macau</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-uttarkashi.htm" title="Packages in Uttarkashi">Uttarkashi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-auli.htm" title="Packages in Auli">Auli</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-hong-kong.htm" title="Packages in Hong Kong">Hong Kong</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-auckland.htm" title="Packages in Auckland">Auckland</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-bhubaneswar.htm" title="Packages in Bhubaneswar">Bhubaneswar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-nuwara-eliya.htm" title="Packages in Nuwara Eliya">Nuwara Eliya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-queenstown.htm" title="Packages in Queenstown">Queenstown</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-sydney.htm" title="Packages in Sydney">Sydney</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(19)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(26)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(29)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/desert-holidays-catid.htm" title="Deserts Packages">Deserts</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.uniquetourtravel.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(34)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(19)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.uniquetourtravel.com/group-holidays-catid.htm" title="Group Packages">Group</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for London, Paris, Zurich, Interlaken</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.uniquetourtravel.com/tour-packages/bestof-swiss-paris-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_16/471411/219557.jpg"  alt="Best of Swiss & Paris Tour" title="Best of Swiss & Paris Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.uniquetourtravel.com/tour-packages/bestof-swiss-paris-tour.htm" title="Best of Swiss & Paris Tour"><h3>Best Of Swiss & Paris Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 159700</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Zurich, Interlaken</p>
															<div class="mt10px small">
							<form name="pkg_139357" id="pkg_139357" method="post" action="http://www.uniquetourtravel.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.uniquetourtravel.com/tour-packages/bestof-swiss-paris-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Best of Swiss & Paris Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="139357"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</div>
				</section>
				
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				";i:1;s:80:"Book Grand Europe London - Swiss & Paris Tour - 9 Nights / 10 Days Tour Packages";i:2;s:164:"book grand europe london - swiss & paris tour - 9 nights / 10 days tour packages, group tour packages, london, paris, zurich, interlaken, jungfraujoch tour packages";i:3;s:203:"Unique Tours & Travels offers Grand Europe London - Swiss & Paris Tour - 9 Nights / 10 Days tour package, budget Group tour packages for London, Paris, Zurich, Interlaken, Jungfraujoch at exciting price.";i:4;s:1822:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Paris, Zurich, Interlaken, Jungfraujoch"        
		                 },
		      "description": "<b>Sightseeing Includes:</b>
Switzerland
Schaffhausen - Rhine Falls (Mini Niagara Falls Of Europe)
Zurich - 	Orientation Tour - 
Lucerne - Lion Monument, Chapel Bridge, Lake Lucerne City & Old Town 
Interlaken - Orientation tour, Jungfrau Train & Visit to Mt. Jungfraujoch
Engel berg - Mount Titlis Cable Car with Ice Flyer & Cliff Walk
Germany	 Lake Titsee and Druba Cuckoo Clock

France
Paris Eiffel Tower (3rd Level), Arc de Triomphe, The Notre Dame Cathedral, 
Tuileries Gardens, Concorde Square, The Invalides, The Opera Garnier, Champs Elysees, Galleries Lafayette,Illuminating Paris Tour By Romantic River Seine Cruise ((Cruise Boarding Time 8 PM Arrival time 9 PM)
UNITED KINGDOM
London - Piccadilly Circus Big Ben, Buckingham Palace, Trafalgar Square, Tower 
Bridge, Oxford Street, West Minister Abbey, St. Paul’s Church, 
Parliament House, River Thames, London Bridge, London Monument, 
Change of Guards Ceremony, London Eye & Madame Tussauds Wax 
Museum 

<b>Tour Manager:</b>
Hindi/English speaking Tour Managers throughout the tour

<b>Meals:</b>
Continental Breakfast (CBF), Indian Lunch (L) & Indian Dinner (D) as per the itinerary.Courier Charges if any to be paid for delivering the documents.
Any other expenses of personal nature
Porterage at hotels, Airport and Sea Ports
Anything not mentioned in Cost includes box",
		      "name": "Grand Europe London - Swiss & Paris Tour",
		      "telephone": "+91-9420237006"
		    }
		    </script>
			";i:5;N;}