a:6:{i:0;s:28861:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Rome Zurich Paris Florence Ven Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.thecrazypartner.in/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.thecrazypartner.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Rome Zurich Paris Florence Ven Tour</p>
						</div>
						</div>
						</section>
										<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-->				
								
						<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> 
						9 Nights / 10 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Paris, Florence, Rome, Zurich</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 84000 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.thecrazypartner.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rome Zurich Paris Florence Ven 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="192422"/>
						</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_22/651419/303539.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/651419/303539.jpg"  width="150" height="93"    alt="Rome Zurich Paris Florence Ven Tour" title="Rome Zurich Paris Florence Ven Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</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> Arrive Rome
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Evening transfer to the Trastevere district. Welcome to Rome! Upon arriving at the airport, we will be waiting to transfer you to your hotel. Check the information boards in the hotel reception area for details of the welcome meeting with your guide and fellow travellers. In the evening we will transfer you to the Trastevere area (this neighbourhood will be a great introduction to Rome). Take a stroll in the narrow cobbled streets of the Trastevere district and find its hidden treasures, such as some modest medieval churches and small shops with interesting souvenirs. Many trattorias (informal Italian eating establishments) and osterias (inns) filled with the Italian spirit, will be ready to serve you local dishes. Other restaurants serving international cuisines can be found in this area. After dinner, we return to the hotel.</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> City Tour of Rome
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: City tour of Rome. Roman Coliseum and Vatican City. Evening transfer. In the morning, we will have a tour of the city, which will be a great introduction to The Eternal city. We enter the tiny state of the Vatican. The Vatican City is a principal centre of Christianity in the world. You will be able to visit St. Peter's Basilica. We will also enter the Roman Colosseum (admission price included), the principal symbol of Rome. This impressive construction dates back 2,000 years and will transport us in time so that we can learn about ancient society in the Roman Empire. In the evening we will transfer you to the Via Cavour area, where you will find many international restaurants to enjoy your dinner at. After dinner return to the hotel.</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> Rome - Florence
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Tour with a local expert from Florence. View from Piazzale Michelangelo. Today we will leave Rome, heading north. This route has beautiful landscapes. Arriving in FLORENCE, we head straight to the impressive Piazzale Michelangelo. In the evening we take a tour with a local expert, walking through the historic centre, taking in places such as the Ponte Vecchio, the Duomo, and Plaza Della Signoria. This city is truly an outdoor museum. Enjoy some leisure time to explore. In the evening you will have time for dinner, as, in this district, you can find many restaurants serving international cuisine.</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> Florence - Venice
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Vaporetto boat on Venice Grand Canal. Visit and admission to Sat. Marks Basilica. Admire the technique of crafting Murano Glass. Today we enjoy stunning mountain landscapes while crossing the Apennine Mountains. We will arrive in VENICE and board a Vaporetto to travel around on the canals in the historic centre. With a local guide, we will visit the marvellous St. Marks Square and enter the Basilica (entrance included). Afterwards, we will visit the Murano Glass Factory. It is fascinating to see the technique of how this ancient glass is made. Enjoy some time at leisure to explore. In the late afternoon, you will have the chance to get dinner in the Mestre area, where you can choose from many restaurants.</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> Venice - Verona - Zurich
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: We visit the city of Romeo and Juliet. Beautiful countryside while crossing the Alps (lakes and snowy mountains). We will depart from Venice, travelling to VERONA. When we arrive in Verona we will take a shuttle to the historic centre. Our guide will instruct you on the places where you will be able to walk in Romeo and Juliet's city - the city of lovers! Afterwards, we continue our journey to LUGANO, the cosmopolitan capital of Italian Switzerland with its beautiful lake. Time to stroll and have some lunch. Journey on to Zurich, beautiful lakes and mountains with snow-capped peaks line our route. Arriving in ZURICH enjoy some free time in the historic centre next to the lake. Here you will be able to dine in one of the many restaurants serving a variety of international cuisine.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Zurich - Lucerne - Zurich
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Admire the fantastic landscapes. Cable car included to Grindelwald first. Lunch included. Today's journey has beautiful landscapes with high mountains and lakes. Breathtaking scenery in the region of Interlaken. We will stop in GRINDELWALD where we will have time for a coffee before taking the cable car up to the mountain. We will walk along the winding path which will lead us to the "footbridge over the empty". Dare to walk along the bridge amongst the fantastic scenery enjoying glaciers all around us. We will take lunch up the mountain (included) before heading back down. We continue to LUCERNE, one of the most beautiful cities in Switzerland. In the evening we have time to stroll around, enjoying the city and taking dinner before we return to the hotel in Zurich.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 7:</b> Zurich - Bern - Paris
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Explore Bern, the capital city of Switzerland. We will embark on a scenic journey to BERN, the capital city of the confederation built around a bend in the Aare River, with its medieval architecture well preserved in the Old Town. Time to take a stroll. Next, we journey back to France. Enjoy beautiful lake views on our trip to PARIS. We will arrive in the evening.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 8:</b> Paris City Tour
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: City tour in Paris. Climb to the second floor of the Eiffel Tower. Boat ride along the Seine. Evening transfer. Today we take a guided tour to discover the history, main boulevards and the breathtaking monuments of Paris. We end the visit to the Eiffel Tower. You will have the opportunity to climb up to the second floor of this remarkable metal monument (ticket admission included). End your visit with a boat cruise along the River Seine, which divides the north of Paris from the south. Enjoy an afternoon of leisure to explore and relax! At sunset enjoy dinner in the Latin Quarter, a very picturesque historic area where a wide variety of international cuisines await you. We will then return to the hotel. Note: Sometimes queues to climb the Eiffel Tower are long. For organizational reasons, if deemed appropriate, the climb can be made at a different time of the day (of Monday).</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 9:</b> Paris
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Time at leisure. We will start the day by going to the centre of Paris, to the area of the Louvre Museum. Enjoy some leisure time to explore. If you wish, we can accompany you to Benelux, one of the most complete and best-known perfumeries in Paris. Note: For those who are interested, an optional excursion to Disneyland Paris is available.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 10:</b> Paris
										</p>
										<p class="aj">After breakfast, the end of our services.</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>CP (Room + Breakfast)</li>
																						<li>Hotel</li>
																						<li>Sightseeing</li>
																				<li>2 Night's accommodation in Rome at the Cristoforo Colombo or Similar </li><li>
1 Night accommodation in Florence at the Conference Florencia or Similar </li><li>
1 Night accommodation in Venice at the Albatros or Similar </li><li>
2 Night's accommodation in Zurich at the Ibis Zurich Messe airport or Similar </li><li>
3 Night's accommodation in Paris at the Hotel Mercure Paris La Defense or Similar</li><li>
2 Nights Accommodation at Cristoforo Colombo or Similar#$#1 Nights Accommodation at Conference Florencia or Similar</li><li>
1 Nights Accommodation at Albatros or Similar</li><li>
2 Nights Accommodation at Ibis Zurich Messe airport or Similar</li><li>
3 Nights Accommodation at Hotel Mercure Paris La Defense or Similar</li><li>
Travel by bus with English speaking guide, basic travel insurance and breakfast buffet.</li><li>
Includes arrival transfer</li><li>
City tour in ROME, FLORENCE, VENICE, PARIS</li><li>
Boat: Vaporetto In Venice in VENICE, River Seine in Paris in PARIS</li><li>
Evening transfer: Trastevere in Rome in ROME, Via Cavour in Rome in ROME, Quartier Latin in Paris in PARIS</li><li>
Transfer: Piazzale Michelangelo in Florence in FLORENCE</li><li>
Ticket admission: Coliseum of Rome in ROME, Saint MarkÂ´s Basilica and Murano Glass Factory in Venice in VENICE, 2nd Floor Eiffel Tower in Paris in PARIS</li><li>
Funicular: Cable Car to Grindelwald First in Lucerne</li><li>
1 Lunch Included in Lucerne</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Anything which is not mentioned in the itinerary</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</li><li>
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.</li><li>
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.thecrazypartner.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rome Zurich Paris Florence Ven 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="192422"/>
						</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.thecrazypartner.in/paris-tour-packages.htm" title="Paris Tour Packages">Paris</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/zurich-tour-packages.htm" title="Zurich Tour Packages">Zurich</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/hong-kong-tour-packages.htm" title="Hong Kong Tour Packages">Hong Kong</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/jakarta-tour-packages.htm" title="Jakarta Tour Packages">Jakarta</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/medina-uae-tour-packages.htm" title="Medina Tour Packages">Medina</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/bali-tour-packages.htm" title="Bali Tour Packages">Bali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/lyon-tour-packages.htm" title="Lyon Tour Packages">Lyon</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.thecrazypartner.in/chiang-mai-tour-packages.htm" title="Chiang Mai Tour Packages">Chiang Mai</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.thecrazypartner.in/ko-samui-tour-packages.htm" title="Ko Samui Tour Packages">Ko Samui</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.thecrazypartner.in/amsterdam-tour-packages.htm" title="Amsterdam Tour Packages">Amsterdam</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.thecrazypartner.in/singapore-city-tour-packages.htm" title="Singapore Tour Packages">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.thecrazypartner.in/viseu-tour-packages.htm" title="Viseu Tour Packages">Viseu</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.thecrazypartner.in/makkah-tour-packages.htm" title="Makkah Tour Packages">Makkah</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.thecrazypartner.in/florence-tour-packages.htm" title="Florence Tour Packages">Florence</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.thecrazypartner.in/rome-tour-packages.htm" title="Rome Tour Packages">Rome</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.thecrazypartner.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.thecrazypartner.in/affordable-budget-holidays-catid.htm" title="Affordable & Budget Packages">Affordable & Budget</a> <b class="alpha50 bn small">(2)</b></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 Paris, Florence, Rome, Zurich</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.thecrazypartner.in/holiday-packages/amsterdam-and-paris-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/651419/303540.jpg"  alt="Amsterdam and Paris Tour" title="Amsterdam and Paris Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazypartner.in/holiday-packages/amsterdam-and-paris-tour.htm" title="Amsterdam and Paris Tour"><h3>Amsterdam And Paris Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Amsterdam</p>
															<div class="mt10px small">
							<form name="pkg_192423" id="pkg_192423" method="post" action="http://www.thecrazypartner.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazypartner.in/holiday-packages/amsterdam-and-paris-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Amsterdam and 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="192423"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazypartner.in/holiday-packages/european-extravaganza-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/651419/303542.jpg"  alt="European Extravaganza Tour" title="European Extravaganza Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazypartner.in/holiday-packages/european-extravaganza-tour.htm" title="European Extravaganza Tour"><h3>European Extravaganza Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</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</p>
															<div class="mt10px small">
							<form name="pkg_192425" id="pkg_192425" method="post" action="http://www.thecrazypartner.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazypartner.in/holiday-packages/european-extravaganza-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="European Extravaganza 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="192425"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazypartner.in/holiday-packages/french-and-swiss-spirit-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/651419/303543.jpg"  alt="French and Swiss Spirit Tour" title="French and Swiss Spirit Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.thecrazypartner.in/holiday-packages/french-and-swiss-spirit-tour.htm" title="French and Swiss Spirit Tour"><h3>French And Swiss Spirit Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Lyon, Zurich</p>
															<div class="mt10px small">
							<form name="pkg_192426" id="pkg_192426" method="post" action="http://www.thecrazypartner.in/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.thecrazypartner.in/holiday-packages/french-and-swiss-spirit-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="French and Swiss Spirit 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="192426"/>
							</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:75:"Book Rome Zurich Paris Florence Ven Tour - 9 Nights / 10 Days Tour Packages";i:2;s:145:"book rome zurich paris florence ven tour - 9 nights / 10 days tour packages, adventure tour packages, paris, florence, rome, zurich tour packages";i:3;s:195:"Book Rome Zurich Paris Florence Ven Tour - 9 Nights / 10 Days tour packages from The Crazy Partner - Get attractive 9 Nights / 10 Days Adventure  tour packages for  Paris, Florence, Rome, Zurich.";i:4;s:436:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Florence, Rome, Zurich"        
		                 },
		      "description": "",
		      "name": "Rome Zurich Paris Florence Ven Tour",
		      "telephone": "+91-9990001854"
		    }
		    </script>
			";i:5;N;}