a:6:{i:0;s:28344:"				<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">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-kathmandu.htm" title="Packages in Kathmandu">Kathmandu</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-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 spanlist dn"><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="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;}