a:6:{i:0;s:24617:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>European Extravaganza 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> European Extravaganza 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> 
						6 Nights / 7 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Paris, Zurich</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 65000 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="European Extravaganza 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="192425"/>
						</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/303542.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_22/651419/303542.jpg"  width="150" height="84"    alt="European Extravaganza Tour" title="European Extravaganza 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> Arrival Transfer
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Arrival in Zurich. Transfer to the hotel. Welcome to Europe!!!. On arrival at the airport, we shall be waiting to transfer you to the hotel. You can enjoy free time until your tour starts, information about the meeting place and start time can be found on the information boards in the hotel reception area.</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> Zurich City Tour
										</p>
										<p class="aj">TODAY'S HIGHLIGHTS: Boat trip across Zurich lake. Journey by train. We start the day with a stroll in the most populated city of Switzerland, Zurich, the financial and cultural capital of the country. Zurich has twice been declared the city with the best quality of life in the world. After this we will board a boat for a trip on Zurich lake, this will last about two hours. The boat makes brief stops, allowing us to admire the villages along the way. We get off in RAPPERSWIL, a small and highly picturesque village overlooked by its medieval castle. We return to Zurich by train and will see the efficiency and punctuality of the Swiss Railways. Enjoy an evening in the historic centre next to the lake, here you can dine at one of the many restaurants offering a wide range of different cuisines.</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> 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 4:</b> Zurich - Berne - 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 5:</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 6:</b> Free Time
										</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 7:</b> Departure
										</p>
										<p class="aj">After breakfast, 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>3 Night's accommodation in Zurich at the Overnight stay at Hotel Ibis Zurich Messe Airport or Similar </li><li>
3 Night's accommodation in Paris at the Overnight stay at Hotel Mercure Paris La Defense or Similar</li><li>
3 Nights Accommodation at Hotel 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 PARIS</li><li>
Boat: Zurich lake in ZURICH, River Seine in Paris in PARIS</li><li>
Evening transfer: Quartier Latin in Paris in PARIS</li><li>
Ticket admission: 2nd Floor Eiffel Tower in Paris in PARIS</li><li>
Train: Rapperswil / Zurich in ZURICH</li><li>
Funicular: Cable Car to Grindelwald First in ZURICH</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 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="European Extravaganza 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="192425"/>
						</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/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 "><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 "><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 "><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 "><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 "><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="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><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 spanlist dn"><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 spanlist dn"><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 spanlist dn"><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 spanlist dn"><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="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, 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/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>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.thecrazypartner.in/holiday-packages/rome-zurich-paris-florence-ven-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_22/651419/303539.jpg"  alt="Rome Zurich Paris Florence Ven Tour" title="Rome Zurich Paris Florence Ven 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/rome-zurich-paris-florence-ven-tour.htm" title="Rome Zurich Paris Florence Ven Tour"><h3>Rome Zurich Paris Florence Ven 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> : 
								9 Nights / 10 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Florence, Rome, Zurich</p>
															<div class="mt10px small">
							<form name="pkg_192422" id="pkg_192422" 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/rome-zurich-paris-florence-ven-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Rome Zurich Paris Florence Ven 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="192422"/>
							</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:65:"Book European Extravaganza Tour - 6 Nights / 7 Days Tour Packages";i:2;s:119:"book european extravaganza tour - 6 nights / 7 days tour packages, adventure tour packages, paris, zurich tour packages";i:3;s:153:"The Crazy Partner offers European Extravaganza Tour - 6 Nights / 7 Days tour package, budget Adventure tour packages for Paris, Zurich at exciting price.";i:4;s:411:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Zurich"        
		                 },
		      "description": "",
		      "name": "European Extravaganza Tour",
		      "telephone": "+91-9990001854"
		    }
		    </script>
			";i:5;N;}