a:6:{i:0;s:6252:"				<div class="h1"><h1>Perfect France</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.justravels.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.justravels.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Perfect France</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Tour Code </td>
						<td class="p5px pl0px vat">JTG0001</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Paris, Nice</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						USD 650 Per Person						</td>
						</tr>
												<tr>
						<td class="b p5px dif w125px vat">Special Offer </td>
						<td class="p5px pl0px dif vat">5 % Discount booking before September  2016</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.justravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Perfect France - 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="69579"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/436011/126270.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/436011/126270.jpg"  width="150" height="150"    alt="Effie Tower" title="Effie Tower" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					It's FIT Package Tour Details As per Inclusion <br />
<br />
Optional Tours: <br />
- Paris City Tour, Seine River Cruise and Eiffel Tower (12:00)- 04  hrs tours- Euro 65/- Per Person<br />
- Disneyland Paris 1 Day - 2 Parks By Motor Coach (08:00)- 12 Hrs- Euro 95/- Per Person<br />
- Panoramic Coach Day Trip to Antibes, Cannes, Grasse and Gourdon from Nice Euro 40/- Per Person <br />
- Nice City Tour- Euro 40/- Per Person <br />
- Morning Half Day Tour to Monaco, Monte-Carlo and Eze- Euro 45/- Per Person5 % Discount booking before September  2016GST 4.5% extra on total package cost.<br />
City Tax will be paid by guest directly at hotel. <br />
Air Fare (International/ Domestic)<br />
Corsica Port- Hotel- Airport Transfer<br />
Tourist Visa<br />
Travel Insurance<br />
Meals: Lunch & Dinner (Except mentioned above)<br />
Anything which is not mentioned above13-0923-12<br />						 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>GST 4.5% extra on total package cost.</li><li>
City Tax will be paid by guest directly at hotel. </li><li>
Air Fare (International/ Domestic)</li><li>
Corsica Port- Hotel- Airport Transfer</li><li>
Tourist Visa</li><li>
Travel Insurance</li><li>
Meals: Lunch & Dinner (Except mentioned above)</li><li>
Anything which is not mentioned above</li></ul><br />
												<p class="large b mb5px dif">Specific Departure Dates :</p>departure from Any Date<br />
												<p class="large b mb5px dif">Departure Cities with rates :</p>departure from Any Cities<br /><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.justravels.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Perfect France - 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="69579"/>
						</form>
						</div>
						
						";i:1;s:53:"Book Perfect France - 7 Nights / 8 Days Tour Packages";i:2;s:104:"book perfect france - 7 nights / 8 days tour packages, heritage tour packages, paris, nice tour packages";i:3;s:132:"Just Travel offers Perfect France - 7 Nights / 8 Days tour package, budget Heritage tour packages for Paris, Nice at exciting price.";i:4;s:1208:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Nice"        
		                 },
		      "description": "It's FIT Package Tour Details As per Inclusion 

Optional Tours: 
- Paris City Tour, Seine River Cruise and Eiffel Tower (12:00)- 04  hrs tours- Euro 65/- Per Person
- Disneyland Paris 1 Day - 2 Parks By Motor Coach (08:00)- 12 Hrs- Euro 95/- Per Person
- Panoramic Coach Day Trip to Antibes, Cannes, Grasse and Gourdon from Nice Euro 40/- Per Person 
- Nice City Tour- Euro 40/- Per Person 
- Morning Half Day Tour to Monaco, Monte-Carlo and Eze- Euro 45/- Per Person5 % Discount booking before September  2016GST 4.5% extra on total package cost.
City Tax will be paid by guest directly at hotel. 
Air Fare (International/ Domestic)
Corsica Port- Hotel- Airport Transfer
Tourist Visa
Travel Insurance
Meals: Lunch & Dinner (Except mentioned above)
Anything which is not mentioned above13-0923-12",
		      "name": "Perfect France",
		      "telephone": "+91-8878382228"
		    }
		    </script>
			";i:5;N;}