a:6:{i:0;s:28805:"				<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>Best of Switzerland and Paris Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.phoenixtandt.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.phoenixtandt.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Best of Switzerland and Paris Tour</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Paris</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.phoenixtandt.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of Switzerland and Paris Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="146702"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/510229/227931.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_18/510229/227931.jpg"  width="150" height="100"    alt="Best of Switzerland and Paris Tour" title="Best of Switzerland and Paris Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Welcome to Europe, the land of promise, of glamour, of beauty, of fun and of history! Europe has always been at the top of a world traveller’s list. We bring to you a vacation curated lovingly, to ensure that you enjoy the very best of Europe in a short trip. Have a perfectly romantic holiday to the most famous places in Europe, to be able to gather all the jewels it has to offer, an experience that you will cherish for the rest of your life!<br />
<br />
Tentative Itinerary<br />
<br />
Note: Above Itinerary is just indicative. Do not consider it as a Final Schedule. Date & Time of Tours can be changed by Local Agent / Tour Operator.Any increase in the Air fare, Fuel surcharge and Taxes charged by the Airlines on your Air Ticket<br />
Any increase in the Rate of Exchange leading to an increase in all Land Arrangement which may come into effect prior to Departure<br />
Cost of extension of the Validity or Deviation from route of your Air Ticket<br />
Cost of the Additional Suggested Excursions<br />
Porterage, Laundry, Wines, Mineral water, Telephone <br />
charges, <br />
All items of personal nature and also Food & Drinks not forming part of the Group Menus<br />
Any Service not mentioned in Inclusions<br />
Surcharge (if Any)								</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> Welcome to Paris
										</p>
										<p class="aj">Welcome to the most romantic city in the world! On arrival, you will be met with our local representative at the airport, outside the customs area. After your pick up from the airport, you will proceed to a carefully chosen Indian restaurant for dinner. After the dinner, you will check in to the hotel.<br />
<br />
Overnight stay at the hotel in Paris.</p>					
											<p><b>Meals : </b> 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> Sightseeing Tour & Optional Lido Show
										</p>
										<p class="aj">Sightseeing tour includes- City tour of Paris + Seine River Cruise + Tour of Eiffel Tower<br />
<br />
After a sumptuous breakfast at the hotel, we will proceed to visit the most famous landmark of Paris - the magnificent Eiffel Tower. We will get a bird’s eye view of the beautiful Paris from an impressive height of 377 feet, from the second level of Eiffel Tower. After this, we will go for a magical river cruise of the Seine River. After this invigorating cruise, we will begin our city tour of this historic city, exploring Paris and all its iconic and glorious sights! We will visit Champs Elysees, one of the most famous and glamorous boulevards in the whole world, with iconic stores and impossibly beautiful cafes lining the street. We will visit the wonderful opera, the gorgeous Town Hall and the National Assembly, we will see the famous Louvre museum (from the outside), the legendary Notre Dam cathedral and the Arc De Triomphe.<br />
<br />
After a lavish dinner, we will proceed back to the hotel, or you can choose to watch the Lido show- one of the most famous and long running shows in Paris (at an extra cost). With exotic, glamorous dancers, beautiful setting, foot tapping music, scintillating costumes and a beautifully racy atmosphere, this promises to be the quintessential night out in the most dazzling city in the world! You will be taken to the hotel after the show.<br />
<br />
Overnight stay at the hotel in Paris.</p>					
											<p><b>Meals : </b> Breakfast, 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> Paris (Day Free for Leisure)
										</p>
										<p class="aj">Optional Sightseeing: Visit to Disneyland (at an extra cost)<br />
<br />
After an amazing spread of continental breakfast, you have the day free, to relax, to revel in the amazing Paris. You can explore the dainty cafes, go back to sights you saw the previous day and want to explore further, visit the absolutely brilliant Louvre and gaze at the world’s most precious art pieces, like Mona Lisa and Venus De Milo. Get acquainted with Paris like a friend, discovering it at your own pace!<br />
<br />
OR<br />
<br />
You can spend the day in the Disneyland (at an extra cost). The delights of Disneyland charm adults and children alike! There are themed parks with famous Hollywood Disney movie themes, roller coasters and adventure rides, cartoon characters to play with, and such a festive, happy atmosphere that it feels impossible to leave. Disneyland guarantees to make your day filled with fun and laughter. Later return to hotel after having Dinner at Indian restaurant.<br />
<br />
Overnight stay at the hotel in Paris.</p>					
											<p><b>Meals : </b> Breakfast, 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> Paris to Zurich
										</p>
										<p class="aj">After a hearty continental breakfast, we will check out from our hotel and proceed to Zurich in a coach. The scintillating beauty of the Swizz Alps, the pristine lakes, quaint farms with cows dotting the greenery and breathtaking scenery giving us company, this journey promises to be a soul stirring experience. We will have dinner in a brilliant Indian restaurant in Zurich before checking into our hotel.<br />
<br />
Overnight stay at the hotel in Switzerland.</p>					
											<p><b>Meals : </b> Breakfast, 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> Day Free At Leisure or Optional Tour
										</p>
										<p class="aj">Free Day for Exploration OR Optional Excursion to Mt Jungfraujoch with Tour of Interlaken City (at an extra cost)<br />
<br />
After a sumptuous and hearty breakfast, you are free to spend the day as you deem fit. You can laze around in the bed, or just marinate in the beauty if arguably the most beautiful city in the world!<br />
<br />
OR<br />
<br />
We can immerse ourselves in the beauty of the Alps, and visit Jungfraujoch and the Interlaken (at an extra cost). We will drive through the exquisitely picturesque views to Grund/Lauterbrunnen, from where we will board a train to take us to Jungfraujoch. The train ride in itself is uniquely pleasing, as it takes us from twists and turns and tunnels and mountain passes in the great Alps, to the Jungfraujoch station, the highest altitude station in all of Europe at 11,333 feet. Get enchanted with the magic of the Alps at the Sphinx Terrace, see the stunning views from Jungfrau Peak, and watch the remarkable Aletsch Glacier. We will also visit the spectacular Ice Palace, where we can see incredible ice sculptures, while incased in ice ourselves! The whole experience of ice and snow on the plateau is unforgettable and quite surreal. We can send postcards to our friends and family from here, the highest altitude post office in all of Europe. You can enjoy a brilliant lunch at an Indian restaurant in Jungfraujoch on your own. We will return via the Interlaken City. You will have free time at your disposal here, to roam, shop for the famous Swiss chocolates, Swiss watches and other memorabilia, or simply explore the beautiful cafes here. From here, we will proceed to the hotel after having Dinner at Indian Restaurant.<br />
<br />
Overnight stay at the hotel in Switzerland.</p>					
											<p><b>Meals : </b> Breakfast, 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> Switzerland ( Day Free for Leisure)
										</p>
										<p class="aj">Optional Daytrip: Mount Titlis Tour & Lucerne (at an Extra cost)<br />
<br />
After a continental breakfast, the day will be for a full day excursion to Mt. Titlis and Lucerne city (at an extra cost). We will begin the outing with a visit to Mt. Titlis, which at 10,000 ft is the highest peak in central Switzerland. We will travel to Mt. Titlis through a series of cable cars. The last leg of the rise will be in our planet’s first revolving cable car called the ‘Titlis Rotair’. At Mount Titlis we will have free time to relish and have fun in the snow. We can travel to the Ice Cave or just relax at the restaurant and enjoy the scenery.<br />
<br />
In the afternoon, post lunch (by own), we will move towards one more striking city of the Swiss region of Lucerne. Here we can revel in our city tour which includes the famed Lion monuments - Mark Twain praised the sculpture of a mortally-wounded lion at the Lion Monument as "the most mournful and moving piece of stone in the world."<br />
<br />
Next we will visit the Kappelbruck Bridge which is the oldest surviving wooden bridge in Europe. This bridge also houses a lot of interior paintings from the 17th century. This is another ideal place to purchase branded Swiss watches, Swiss chocolates, Swiss army knives. Dinner will be at the Indian restaurant and will conclude extraordinary trip.<br />
<br />
Overnight stay at the hotel in Switzerland.</p>					
											<p><b>Meals : </b> Breakfast, 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> Bid Adieu to the Magic of Europe
										</p>
										<p class="aj">This is a day of goodbyes! After a brilliant breakfast at the hotel, we will check out from the hotel. Taking in the reverberating beauty of the beautiful Switzerland for the last time, we will drive to the airport. With the memories, experiences and photographs of a lifetime, this Euro trip will draw to an end. We would love to hear your stories, and your feedback. Please write to us with anything you would want to share with us, as this keeps us motivated in our effort to provide beautiful holiday experiences to our guests.<br />
 </p>					
											<p><b>Meals : </b> Breakfast</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<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>Cost of your Round trip Economy class Airfare valid for the duration of the Tour</li><li>
Airport taxes as per the routing of the Tour</li><li>
3 Nights accommodation in Paris</li><li>
(BEST WESTERN / Ibis Paris CDG Airport / Park Inn by Radisson Paris CDG Airport Hotel / Hotel Novotel Noisy le Grand / OnlySuites / Similar*)</li><li>
Guided Paris City Tour</li><li>
Eiffel Tower 2nd Level / Montparnasse</li><li>
Seine River Cruise</li><li>
3 Nights accommodation in Switzerland</li><li>
(Hotel ibis Styles / NH Zurich Airport / Novotel Zurich Airport Messe / Hotel Terrace / Hotel Central / Park Inn by Radisson Zurich Airport / Similar*)</li><li>
Cost of the Visa</li><li>
Services of Tour Manager or Local Representatives</li><li>
Meals (Breakfast & Dinner), Coach Tours, Transfers, </li><li>
Entrance fees, Sightseeing and Surface Transportation as </li><li>
mentioned in the Itinerary</li><li>
Cost of Overseas Travel Insurance policy valid for the tour (Passengers above 59 years of age will have to pay the actual difference of the Insurance premium along with the Medical Reports)</li><li>
All Tours & Transfers on Seat In Coach (shared) Basis</li><li>
All Hotel & Airlines Taxes</li><li>
Tip</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Any increase in the Air fare, Fuel surcharge and Taxes charged by the Airlines on your Air Ticket</li><li>
Any increase in the Rate of Exchange leading to an increase in all Land Arrangement which may come into effect prior to Departure</li><li>
Cost of extension of the Validity or Deviation from route of your Air Ticket</li><li>
Cost of the Additional Suggested Excursions</li><li>
Porterage, Laundry, Wines, Mineral water, Telephone </li><li>
charges, </li><li>
All items of personal nature and also Food & Drinks not forming part of the Group Menus</li><li>
Any Service not mentioned in Inclusions</li><li>
Surcharge (if Any)</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
												
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</div>
												<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* 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.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.phoenixtandt.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of Switzerland and 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="146702"/>
						</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.phoenixtandt.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.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 "><a class="dif" href="http://www.phoenixtandt.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-tashkent-travel.htm" title="Packages in Tashkent">Tashkent</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</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.phoenixtandt.com/packages-in-havelock.htm" title="Packages in Havelock">Havelock</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.phoenixtandt.com/packages-in-pokhara.htm" title="Packages in Pokhara">Pokhara</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.phoenixtandt.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</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.phoenixtandt.com/packages-in-moscow.htm" title="Packages in Moscow">Moscow</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.phoenixtandt.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</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.phoenixtandt.com/packages-in-dubai.htm" title="Packages in Dubai">Dubai</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.phoenixtandt.com/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</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.phoenixtandt.com/packages-in-bagdogra.htm" title="Packages in Bagdogra">Bagdogra</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.phoenixtandt.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</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.phoenixtandt.com/packages-in-namchi.htm" title="Packages in Namchi">Namchi</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.phoenixtandt.com/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</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.phoenixtandt.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi</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.phoenixtandt.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</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.phoenixtandt.com/packages-in-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</a> <b class="alpha50 bn small">(1)</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.phoenixtandt.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.phoenixtandt.com/valley-holidays-catid.htm" title="Valley Packages">Valley</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.phoenixtandt.com/luxury-holidays-catid.htm" title="Luxury Packages">Luxury</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.phoenixtandt.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</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>
				
								
				</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:74:"Book Best of Switzerland and Paris Tour - 6 Nights / 7 Days Tour Packages";i:2;s:120:"book best of switzerland and paris tour - 6 nights / 7 days tour packages, adventure tour packages, paris tour packages";i:3;s:163:"Phoenix Travel and Tourism offers Best of Switzerland and Paris Tour - 6 Nights / 7 Days tour package, budget Adventure tour packages for Paris at exciting price.";i:4;s:1602:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris"        
		                 },
		      "description": "Welcome to Europe, the land of promise, of glamour, of beauty, of fun and of history! Europe has always been at the top of a world traveller’s list. We bring to you a vacation curated lovingly, to ensure that you enjoy the very best of Europe in a short trip. Have a perfectly romantic holiday to the most famous places in Europe, to be able to gather all the jewels it has to offer, an experience that you will cherish for the rest of your life!

Tentative Itinerary

Note: Above Itinerary is just indicative. Do not consider it as a Final Schedule. Date & Time of Tours can be changed by Local Agent / Tour Operator.Any increase in the Air fare, Fuel surcharge and Taxes charged by the Airlines on your Air Ticket
Any increase in the Rate of Exchange leading to an increase in all Land Arrangement which may come into effect prior to Departure
Cost of extension of the Validity or Deviation from route of your Air Ticket
Cost of the Additional Suggested Excursions
Porterage, Laundry, Wines, Mineral water, Telephone 
charges, 
All items of personal nature and also Food & Drinks not forming part of the Group Menus
Any Service not mentioned in Inclusions
Surcharge (if Any)",
		      "name": "Best of Switzerland and Paris Tour",
		      "telephone": "+91-8192997664"
		    }
		    </script>
			";i:5;N;}