a:6:{i:0;s:25047:"				<div class="h1"><h1>Discover Italy with Paris 09 Nights / 10 Days Tour</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>Discover Italy with Paris 09 Nights / 10 Days Tour</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">JTG0003</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						9 Nights / 10 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Paris, Florence, Rome</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></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="Discover Italy with Paris 09 Nights / 10 Days 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="71635"/>
						</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/129220.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/436011/129220.jpg"  width="150" height="150"    alt="Discover Italy with Paris 09 Nights / 10 Days Tour" title="Discover Italy with Paris 09 Nights / 10 Days Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Hotels Details:-<br />
<br />
Rome            : - Palladium Palace Hotel or Similar<br />
<br />
Florence        : - Grand Adriatico Hotel or Similar<br />
<br />
Venice           : - Hotel Continental or Similar<br />
<br />
Paris         : - Mondial hotel Stadthalle or SimilarWhich is not mention in inclusions<br />
Early check in and late check out<br />
Any Personal Expanses<br />
Any International Airfare<br />
GST 4.5 % on final Invoice<br />
Total Tour Cost EURO 975 per Person<br />
Valid Dec 2016<br />
Note:- Booking Before Diwali 50 Euro Discount Per Person.<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> Discover Italy with Paris
								</p>
								<p class="aj">Welcome to Just Travel ‘Discover Italy with Paris “as you board your flight to Venice you will be greeted by your friendly Just Travel Tour Manager or a local representative outside the baggage hall, who will transfer you to your hotel. Check-in and relax in the comforts of your hotel. Tonight,<br />
<br />
Overnight in Venice.</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> Murano, Burano and Torcello Islands
								</p>
								<p class="aj">Explore the Venetian Lagoon: Murano, Burano and Torcello Islands Half-Day Tour over night stay in Venice<br />
<br />
 <br />
<br />
Location: Venice, Italy<br />
<br />
Duration: 4 hours<br />
<br />
After breakfast half day tour by motorboat to discover the marvels of the lagoon surrounding Venice: Murano, Burano and Torcello islands.There will be a multilingual assistance and some explanations during the way, explanations are provided in English, German, Spanish, French and Italian languages.<br />
<br />
Explore the three tiny and colorful islands of Murano, Torcello and Burano in a half ­day sightseeing excursion by motorboat. Watch a skilled glass blower create works of art in Murano, see evidence of Torcello’s glorious past and admire the picturesque fishermen's houses in Burano.<br />
<br />
 <br />
<br />
The first stop of our tour will be the island of Murano, since far back in time famous for the art of glass blowing. Since the 13th century Murano has been the center of Venice’s notorious glassmaking industry with techniques handed down from one generation to another. Here, we will admire a master glass blower during his job.<br />
<br />
 <br />
<br />
Our next stop will be Burano, surely the most picturesque island of the Lagoon, thanks to its colorful and cheerful facades. According to a local legend, Burano got its rainbow appearance thanks to the fishermen that lived there, who used to paint their houses in bright and light colors so that they could find their way home while coming back from sea. The island is also known internationally for its rare artisan lace.<br />
<br />
 <br />
<br />
Last but not least we will reach the quiet and green island of Torcello and enjoy a peaceful walk. Here, we will visit the 7th century Cathedral of Santa Maria Dell'Assunta to see the spectacular Byzantine mosaics. Not many people know that Torcello is one of the first island of the lagoon to be populated. This magic island is also precious to the American poet Hemingway who visited it many times and here found inspiration to write his book "Across the River and into the Trees".<br />
<br />
 <br />
<br />
Departure Time<br />
<br />
Departure at 09.30am and 2.30pm<br />
<br />
 <br />
<br />
Departure Point<br />
<br />
Venice, close to Hotel Danieli</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> Proceed to Florence from Venice
								</p>
								<p class="aj">After breakfast Proceed to Florence, Venice s. lucia – Florence SMN Train Transfer overnight stay in Florence</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> The Leaning Tower and Pisa Excursion
								</p>
								<p class="aj">Location: Florence Duration :5 hours 30 mins<br />
<br />
 <br />
<br />
After breakfast Enjoy an excursion to Pisa to discover its wonderful Piazza dei Miracoli and get the chance to visit the famous Leaning Tower!<br />
<br />
 <br />
<br />
A splendid excursion to the city of Pisa, famous for its architectural beauty. Tour includes a morning visit of the fascinating Piazza dei Miracoli with the celebrated Leaning Tower (interior), the Baptistery (exterior) and other beautiful monuments. Our guide will then accompany you in the visit of the Cathedral (interior) to let you admire its artistic treasures. Free time at your disposal. Arrival in Florence in the first afternoon.<br />
<br />
 <br />
<br />
Tour includes Transport, multilingual tour escort and local guide in Pisa entrance to Pisa Cathedral, entrance to the Leaning Tower. Overnight stay in Florence<br />
<br />
 <br />
<br />
Dep. Time 08.15<br />
<br />
Dep. Point<br />
<br />
Albatravel Meeting Point</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> Proceed to Rome from Florence
								</p>
								<p class="aj">After breakfast Proceed to Rome and overnight stay in Rome</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> Classical Rome City Tour
								</p>
								<p class="aj">After Breakfast spend your morning on this classic Rome tour, seeing all the top attractions in Rome’s ‘centro storico’ – its historic center. By both coach and foot, visit must-see sites like Piazza Navona, Trevi Fountain and the Pantheon on the 3-hour Rome morning tour. If you'd like to see more, upgrade to a full-day tour (with or without lunch) to see the sights of Imperial Rome in the afternoon. Visit Capitoline Hill and the intriguing Church of St Peter in Chains, and then finish your day with a skip-the-line Colosseum tour!<br />
<br />
Start your morning with either a hotel pickup or by meeting your guide near Rome Termini Station. From this point, your classic Rome tour heads to Rome’s centro storico, passing through Piazza della Repubblica to see the Fountain of the Nyadds (Fontana delle Naiadi).<br />
<br />
 <br />
<br />
The centro storico was made for carefree strolling, with a myriad of cobbled footpaths and picturesque piazzas, lined by buzzing pavement-side cafés. Baroque churches, fountains and palazzos built during the Renaissance are scattered around, adding to the oh-so-Roman charm that abounds.<br />
<br />
 <br />
<br />
Amble to Trevi Fountain, hearing about its coin-throwing traditions from your guide, and then stop to throw one in yourself. Do it according to legend: throw one coin to visit Rome again, two coins to fall in love with an Italian, and a third coin to marry one! After posing for photos in front of the dazzling masterpiece, stroll over to the Column of Marcus Aurelius, and then walk over to Palazzo di Montecitorio -- an elegant Bernini-designed palace that is now used as a parliament building.<br />
<br />
 <br />
<br />
Head inside Rome Pantheon and marvel at the interior of the city’s best-preserved ancient monument. Officially a church, the Pantheon contains several tombs of eminent Italians, like the Renaissance genius Raphael. Pose for pictures from the outside and then walk from Piazza della Rotonda to Piazza Navona to admire its lavish Bernini fountains.<br />
<br />
 <br />
<br />
Hop back on board your coach and end your tour back at the start point. Alternatively, request a drop-off at one of four different locations; simply let your guide know on the day.<br />
<br />
 <br />
<br />
Full-Day Tour:<br />
<br />
Want to see more of Rome? Upgrade to the full-day tour, and after your morning tour, spend a couple of hours at leisure for lunch (own expense), and then meet your guide at a pre-arranged time for your afternoon tour. By coach and on foot, see the sights of Imperial Rome, including Piazza de Campidoglio on Capitoline Hill, Circus Maximus, and the Church of St Peter in Chains. Finish with a skip-the-line Colosseum tour.<br />
<br />
 <br />
<br />
Full-Day Tour with Lunch:<br />
<br />
Upgrade to the full-day tour and include lunch at a restaurant close to Vatican City or Termini Station in between your morning and afternoon tour.<br />
<br />
 <br />
<br />
Departure Time<br />
<br />
9am<br />
<br />
Departure Point<br />
<br />
Meeting point Via Giovanni Amendola 32.<br />
<br />
 <br />
<br />
Overnight Stay in Rome</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> Proceed to Paris from Rome & Lido de Paris
								</p>
								<p class="aj">After Breakfast sit back to Paris from Rome to Paris by flight and overnight stay in Paris.<br />
<br />
 <br />
<br />
Lido de Paris "Paris Merveilles"® Dinner and Show<br />
<br />
Tour Description:-<br />
<br />
Enjoy an evening of glitzy, glamorous cabaret and a delicious 3-course dinner at Paris’ brand new Lido de Paris "Paris Merveilles"® show. Head to the city’s famous Avenue des Champs-Elysées and discover a world of decadent dancers, sparkling sequins, extraordinary sets, magical lighting and captivating music. With the delectable Bluebell girls on stage and talented chefs producing delicious dishes in the kitchen, take in the sights and sounds of one of Paris’ newest and most impressive cabaret performances. Dreamlike and tantalizing, the show's sets offer a tour de force of imagination and excitement!<br />
<br />
Take your seats for one of Paris’ freshest and sassiest cabaret performances at the world-famous Lido de Paris! Brand new for April 2015, the Lido de Paris’s "Paris Merveilles"® show ups the ante on traditional Parisian glamour to bring guests a dazzling evening of exciting cabaret entertainment.<br />
<br />
Founded in 1946 on the Champs-Elysées, the Lido de Paris has been pushing the envelope of live cabaret in Paris for decades and their latest offering is widely considered a real tour de force. At the helm, director Franco Dragone — a virtuoso visionary famed for his work with Cirque du Soleil — has taken Paris’ romantic beauty as his muse and created a world where fantasy and fiction collide. Sit back, relax and enjoy sophisticated set design, sparkling costumes and enthralling music and dance from the dazzling Bluebell girls as the elements combine to create a feast for the senses.<br />
<br />
In the kitchens, a talented team of 35 cooks and pastry chefs work with only the freshest ingredients and fullest flavours to serve up delicious 3-course dinners to accompany the shows.<br />
<br />
Pre-book your 9pm or 11pm tickets (including champagne!), or why not upgrade and enjoy a gourmet three-course meal and champagne before the show. It's a spectacular night out in Paris that's not to be missed! For an unforgettable night out, choose from the following options:<br />
<br />
Lido show and half a bottle of champagne<br />
<br />
Sit back, sip on your champagne and settle in for the Lido's 1.5-hour spectacular cabaret show. Watch extraordinary special effects, stunning water displays and much more. A dazzling show with magnificent costumes and unbelievable sets.<br />
<br />
3-course meal, half bottle of champagne followed by the Lido show<br />
<br />
You'll have a choice of three different 3-course gourmet menus, ranging from standard to deluxe. All meals at Le Lido are prepared with acclaimed chef Philippe Lacroix, combining traditional French cuisine with innovative flair. After dinner and champagne you can dance to the orchestra before the lights dim at 8:30pm before the curtain rises for the show at 9pm.<br />
<br />
Departure Point<br />
<br />
Lido de Paris, central Paris</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, Seine River Cruise and Eiffel Tower
								</p>
								<p class="aj">After breakfast See Paris' main attractions in a four-hour Paris city tour with a difference. Your sightseeing tour of Paris includes a tour across the city by coach, views of Paris from the water as you cruise along the Seine River, and lofty panoramas from the second floor of the Eiffel Tower. You have a choice of four tour times so you can plan your day to suit yourself. This comprehensive tour is a great way to get to know Paris if this is your first visit.<br />
<br />
Your coach tour across Paris takes in Place de la Concorde Square, the Champs-Elysees, the Arc de Triomphe, the western districts of Paris, the Palais de Chaillot and the Palais Bourbon (National Assembly).<br />
<br />
You'll then see Paris from a different viewpoint by taking a one-hour cruise on the Seine River, highlighting Paris' rich 2,000 years of history. And what better way to conclude your overview of Paris than by taking a trip up the Eiffel Tower where you will have enough time to explore the Eiffel Tower on your own. You'll ride the elevator up to the second floor of the Eiffel Tower for spectacular views of Paris laid out before you. Have your camera ready! And overnight stay in Paris.<br />
<br />
 <br />
<br />
Duration :4 hours<br />
<br />
Departure Point- Pyramides, central Paris</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> Disneyland Paris 1D/2 Park E-Ticket
								</p>
								<p class="aj">After Breakfast Disneyland Paris Park Hopper Tickets are perfect for those with limited time in Paris. The 1-Day/2 Parks Disneyland® Paris Hopper Ticket gives you access to both Disneyland ® Park and Walt Disney Studios ® Park for one day, with the ability to hop between both Disney parks, so you can experience all the amazing rides and shows available at Disneyland ® Paris. Disney Paris Tickets include the fantastic FASTPASS® system, a free, time-saving service that shortens your wait at the most popular attractions in Disneyland ® Park and Walt Disney Studios ® Park. And overnight stay in Paris.<br />
<br />
 <br />
<br />
Highlights<br />
<br />
Ø  Disneyland® Paris, a 1-Day 2-Park pass<br />
<br />
Ø  Hop between Disneyland® Park and Walt Disney Studios® as often you like for a day<br />
<br />
Ø  Ride adrenaline-pumping rides like Indiana Jones and the Temple of Peril and Space Mountain: Mission 2 Discover kid-friendly attractions in both parks<br />
<br />
Ø  Meet your treasures Disney characters!<br />
<br />
Ø  Experience the breathtaking Disney Dreams®! Show</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> Back to Home
								</p>
								<p class="aj">After breakfast this morning, check-out and sit back in your continue your journey back to Paris as we head back to the France Capital for your flight back home!</p>
								</td>
								</tr>
								</table>					
								</div>						<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>Which is not mention in inclusions</li><li>
Early check in and late check out</li><li>
Any Personal Expanses</li><li>
Any International Airfare</li><li>
GST 4.5 % on final Invoice</li><li>
Total Tour Cost EURO 975 per Person</li><li>
Valid Dec 2016</li><li>
Note:- Booking Before Diwali 50 Euro Discount Per Person.</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<p>Terms &amp; Conditions: (General Terms &amp; Conditions)

<ul>
	<li>Check In and Checkout time as per hotels rule.</li>
	<li>Early check in and late checkout at additional cost as per subject to availability.</li>
	<li>Prices are based on basic rooms.</li>
	<li>Surcharge is applicable for a passenger travelling alone.</li>
	<li>&#39;Child Rate&#39; applies to children, between the ages of 5 to 12 years.</li>
	<li>Prices for Non-Indian Nationals are available on request.</li>
	<li>These rates are not applicable during any Meetings, Incentives, Conferences, Trade-fairs and High Season.</li>
	<li>All bookings and confirmations are subject to availability.</li>
	<li>&nbsp;&nbsp;&nbsp; Amendment charges, cancellation charges will be applicable as per our terms &amp; conditions.</li>
	<li>&nbsp;&nbsp;&nbsp; Any increase in the hotel tariffs, fuel charges or taxes, which may come into effect prior to the departure, will lead to an increase in the Tour Price. Any difference in the price will be payable by the client.</li>
	<li>&nbsp;&nbsp;&nbsp; There will be no Refund on unused service.</li>
	<li>&nbsp;&nbsp;&nbsp; The hotel names are given for guideline purpose. The confirmation could be in the same or an alternate hotel in a similar category, subject to availability.</li>
	<li>&nbsp;&nbsp;&nbsp; Rates are subject to change, without prior notice.</li>
	<li>&nbsp;&nbsp;&nbsp; All booking terms &amp; conditions of Just Travel will apply.</li>
	<li>&nbsp;&nbsp;&nbsp; Payment &amp; Cancellation Terms:</li>
	<li>&nbsp;&nbsp;&nbsp; Minimum 25% payment as advance at the time of confirmation.</li>
	<li>&nbsp;&nbsp;&nbsp; Balance payment before 20 days of the tour start date.</li>
	<li>&nbsp;&nbsp;&nbsp; Voucher &amp; Tour:-</li>
	<li>&nbsp;&nbsp;&nbsp; Documents would be issued 24 hours after we receive the complete payment.</li>
</ul>

<p>Booking Terms:

<ul>
	<li>&nbsp;&nbsp;&nbsp; All the booking request for the packages has to be sent us only in writing e-mail only: Just.travel@outlook.com</li>
	<li>&nbsp;&nbsp;&nbsp; Details Required For Confirmation of the booking:</li>
	<li>&nbsp;&nbsp;&nbsp; All passenger name list. (Name as per passport for international tourists)</li>
	<li>&nbsp;&nbsp;&nbsp; Total No of Persons along with adults sharing the rooms and child with/ without bed. Age, address, &amp; gender of all guests.</li>
	<li>&nbsp;&nbsp;&nbsp; Date of Arrival and Departure to and from the chosen destination as per the itinerary.</li>
	<li>&nbsp;&nbsp;&nbsp; Reference No: As soon as we receive a booking request, a file no. will be sent to you, please note the same will be for future correspondence.</li>
	<li>&nbsp;&nbsp;&nbsp; Re-Confirmation: All bookings should to be reconfirmed with us minimum 07 days prior to the date off departure along with confirmed arrival details, failing which it will be considered as cancelled booking. For all booking which gets confirmed within 6 Days of the date of travel, 100% cancellation charge will be apply (i.e. No refund will be given) irrespective of the date when the query was first sent to Just Travel or irrespective of time taken between the date of sending the first query and the date of final confirmation of the booking by the client to the Just Travel.</li>
	<li>&nbsp;&nbsp;&nbsp; Confirmation Voucher: The client has to carry a &quot;Confirmation Voucher&quot; issued by the booking agent/operator and drawn in the name of Just Travel Please send us the copy of the same at the time of reconfirmation.</li>
</ul>												</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="Discover Italy with Paris 09 Nights / 10 Days 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="71635"/>
						</form>
						</div>
						
						";i:1;s:90:"Book Discover Italy with Paris 09 Nights / 10 Days Tour - 9 Nights / 10 Days Tour Packages";i:2;s:160:"book discover italy with paris 09 nights / 10 days tour - 9 nights / 10 days tour packages, forts and palaces tour packages, paris, florence, rome tour packages";i:3;s:188:"Just Travel offers Discover Italy with Paris 09 Nights / 10 Days Tour - 9 Nights / 10 Days tour package, budget Forts and Palaces tour packages for Paris, Florence, Rome at exciting price.";i:4;s:941:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Paris, Florence, Rome"        
		                 },
		      "description": "Hotels Details:-

Rome            : - Palladium Palace Hotel or Similar

Florence        : - Grand Adriatico Hotel or Similar

Venice           : - Hotel Continental or Similar

Paris         : - Mondial hotel Stadthalle or SimilarWhich is not mention in inclusions
Early check in and late check out
Any Personal Expanses
Any International Airfare
GST 4.5 % on final Invoice
Total Tour Cost EURO 975 per Person
Valid Dec 2016
Note:- Booking Before Diwali 50 Euro Discount Per Person.",
		      "name": "Discover Italy with Paris 09 Nights / 10 Days Tour",
		      "telephone": "+91-8878382228"
		    }
		    </script>
			";i:5;N;}