a:7:{i:0;s:64463:"				<section id="middle" class="propDtls ttwBtmFtSpace">
				<div class="wrap thinFormat packages" id="bodyFormatNT">
									<div class="ar small fo"><a href="https://www.geetcompany.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b> <a href="https://www.geetcompany.com/holiday-tour-packages.htm" title="Holiday Tour Packages">Holiday Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> <span class="alpha75">Grand Bargain Tour of Europe</span></div> 
									
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="fo">
					<div class="db vat pr slideArrow">				
												<ul class="bxslider11 fx-height lh0" style="margin:0px;padding:0px;">
																	<li class="pr">
										<div>										
										<div class="lh0 pa blur-bg" style="background:url(https://ttw.wlimg.com/package-images/photo-big/wh1/dir_1/22362/9215.jpg);"></div>
										<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/wh1/dir_1/22362/9215.jpg">
										<div class="slide-fixImag" style="margin:0 9%;"><img src="https://ttw.wlimg.com/package-images/photo-big/wh1/dir_1/22362/9215.jpg"  height=""  width=""    alt="The Grand Bargain Tour" title="The Grand Bargain Tour" loading="lazy" ></div>
										</a>
										</div>
										</li>
																				<li class="pr">
										<div>										
										<div class="lh0 pa blur-bg" style="background:url(https://ttw.wlimg.com/package-images/photo-big/wh1/dir_1/22362/22387.jpg);"></div>
										<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/wh1/dir_1/22362/22387.jpg">
										<div class="slide-fixImag" style="margin:0 9%;"><img src="https://ttw.wlimg.com/package-images/photo-big/wh1/dir_1/22362/22387.jpg"  height=""  width=""    alt="Grand Bargain Tour of Europe" title="Grand Bargain Tour of Europe" loading="lazy" ></div>
										</a>
										</div>
										</li>
																				<li class="pr">
										<div>										
										<div class="lh0 pa blur-bg" style="background:url(https://ttw.wlimg.com/package-images/photo-big/wh1/dir_1/22362/22388.jpg);"></div>
										<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/wh1/dir_1/22362/22388.jpg">
										<div class="slide-fixImag" style="margin:0 9%;"><img src="https://ttw.wlimg.com/package-images/photo-big/wh1/dir_1/22362/22388.jpg"  height=""  width=""    alt="Grand Bargain Tour of Europe" title="Grand Bargain Tour of Europe" loading="lazy" ></div>
										</a>
										</div>
										</li>
																	</ul>
												<div class="sliderCont-Layer">
					<div class="dt w100">
					<div class="dtc vam"><p class="xxxlarge fw7 lh13em">Grand Bargain Tour of Europe</p>
											<p class="mt5px"><span class="fw6">Duration</span> : 
						14 Nights / 15 Days 
						</p>
												<p class="mt5px"><span class="fw6">Destination Covered</span> : London, Italy, Vatican City</p>
											</div>
					<div class="dtc w200px vam"></div>
					</div>
					</div>
					<div class="slidePrice ac">
					<p class="xxlarge red mb12px">
											<span class="db ttu xsmall mt5px">Price On Request</span>
											</p>
											<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Grand Bargain Tour of Europe - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig c3px dib p10px15px xlarge fw6">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="9539"/>
						</form>
											</div> 
					
					<script>			
					jQuery('.bxslider11').bxSlider({
					  mode:'horizontal',
					  slideWidth:840,
					  auto:true,
					  autoControls:false,
					  stopAutoOnClick:true,
					  pager:false
					});
					</script>
					</div>
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					<h2>London, Italy and Vatican City Tour Overview</h2>
		   											</div>					
						<p class="aj"><b>What Your Tour Price Does Not Include</b><br><br />
If you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to availability of seats for the given dates & ticket validity) which will be advised to you by our sales staff / travel agent. Kindly note, the deviation will be actioned only 30 days prior to departure date.<br />
In case your tour is not ending in United Kingdom and you wish to return from London or any other city in the United Kingdom, the UK departure tax will be advised on confirmation of the deviation date.<br />
Cost of Basic Travel Quota equivalent to USD 10,000.<br />
Any increase in the airfare charged by the airline on your air ticket (presently calculated as of 31st August 2012 rates).<br />
Taxes as applicable are extra.<br />
The tour cost does not include POE charges and passport charges.<br />
No porterage included.<br />
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the regular menu provided by us, minibar, telephone calls etc.<br />
Tips of any nature i.e. drivers, guides, etc.<br />
Meals other than that what is mentioned in your itinerary.<br />
Cost of excursions, city sightseeing, entrance fees and local guides availed of by the passengers, other than that mentioned in 'What your tour price includes'.<br />
Cost of Lido Show and Jungfraujoch.</p>
						</div>
														<div class="mt30px b xlarge">
												   					<h2>London, Italy and Vatican City Tour Itinerary</h2>
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrive into London, capital of United Kingdom.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Bon voyage! Today you are off on your exciting European tour with Thomas Cook, as you board your flight to London. On arrival, you will be greeted by your friendly Thomas Cook Tour Manager outside the baggage hall. We shall then proceed to your conveniently located hotel and check-in first. Freshen up and relax in the comfort of your hotel room. Later this evening, we proceed to visit the most beautifully carved out of Italian Carrara marble, the Swaminarayan Temple. Tonight, enjoy a delicious Indian dinner at an Indian restaurant. Overnight at Hotel Park Inn / St. Giles / Quality or similar in London.															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Enjoy the many sights of London on your Guided City Tour.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast, we leave for a guided city tour with an expert English-speaking guide who will explain to you all the highlights of London's landmarks: Buckingham Palace, Hyde Park, the Big Ben, Westminster Abbey, Houses of Parliament, Trafalgar Square, Piccadilly Circus, Tower Bridge, River Thames and many more. Relish a hot Indian or local meal for lunch. We then take you to visit the famous Madame Tussaud's wax museum. This museum houses a unique collection of world's largest wax works of famous personalities, including India's top leaders and film stars. Next, we take you on the famous London Eye - one of the world's largest observation wheels. Be enchanted by this new and novel way of seeing the city from a bird's eye view, as the London Eye takes you on a 30 minute flight, rising to 450 feet above the river Thames and a panorama of some of London's most famous streets, churches, palaces and monuments are spread out before you. This evening, Thomas Cook has specially arranged a guided tour of the world famous Wimbledon museum, a dream for every Tennis lover. On arrival, embark on a stunning multi-dimensional tour of the traditions, the Championship trophies and the sights and sounds that have made Wimbledon the most coveted. After a nostalgic evening proceed to the restaurant where a delicious Indian Dinner awaits you. Overnight at Hotel Park Inn / St. Giles / Quality or similar in London.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Bien Venue! Welcome to the glamour capital of the world.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Check out of your hotel after a continental buffet / boxed breakfast and proceed by Le Shuttle to the glamorous city of Paris. Indian lunch will be provided. On arrival in Paris, we take you on an exhilarating city tour with an English - speaking local guide, who will show you many of the best - loved Parisian sights - Alexander Bridge, Arc de Triomphe, Concorde Square, Opera House, Invalides, Champs Elysees and much more. Next, we proceed to visit the top of the Eiffel Tower (3rd level), from where you will have a splendid view of this beautiful city. Later in the evening, a hot Indian dinner awaits you at an Indian restaurant. Tonight, you have a chance to experience the glamour of the famous Lido Show - an unforgettable experience on your tour. Overnight at Hotel Park Inn / Mercure / Forest Hill or similar in Paris.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Today, join us on a fun - filled trip to Disney Park OR Disney Studios - Europe's most famous attrac										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast at the hotel, join us for some fun, adventure and entertainment on our full-day tour to Disney Park and enjoy the many rides (all included) OR you can visit the Disney Studios and be amazed by the stunning stunt shows, watch a film being made and see real-life sets where famous movies were created. Indian lunch will be provided. Later, enjoy a romantic Seine cruise as we sail past some of the historical monuments on the river Seine. Tonight, enjoy Indian or local dinner at an Indian restaurant. Overnight at Hotel Park Inn / Mercure / Forest Hill or similar in Paris.<br />
<br />
<b>OR</b><br />
<br />
After a continental buffet breakfast at your hotel, we take you on a guided tour of Versailles Palace - set on impressive grounds and steeped in memories of major historic events. Visit the Chateau of Versailles, the most prestigious monuments of the world's artistic heritage. Vast chambers and private apartments of unimaginable luxury include an opera hall, a chapel, and the famous Hall of Mirrors. After a hot Indian lunch, we take you to visit the world-renowned Louvre Museum to see the incomparable and the most prestigious painting of 'Mona Lisa'-Leonardo da Vinci's masterpiece and many more. You also have some free time to shop for perfumes and souvenirs. Enjoy a romantic seine cruise as we sail past some of the historical monuments on the river seine. Tonight, enjoy a delicious local or Indian dinner before we drive back to the hotel. Overnight at Hotel Park Inn / Mercure / Forest Hill or similar in Paris.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b> Onto Brussels, the capital of the European Union.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast check out and sit back in your coach as we drive to Brussels. This afternoon, enjoy Indian lunch. On arrival, we visit the world renowned Grand Place and the legendary Mannekin Pis statue. Drive past St. Michael's Church. En route a photo stop at the Atomium is also included. After a hot delicious Indian meal for dinner, transfer to your hotel and check-in. Overnight at Hotel Amrath / Best Western / Thon or similar in Breda/ Antwerp / Brussels or similar.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Amsterdam - a city full of surprises. Visit Madurodam and see Holland in miniature. Also visit Keu.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast, sit back and relax in your coach as we proceed to Keukenhof - the largest spring garden in the world. Bulbs of colourful tulips bloom only till May 20th. Be enchanted by the indoor floral displays and colourful flower beds amongst ancient trees. 21st May onwards, visit Volendam. Marvel at the beauty of this picturesque town, its people in graceful traditional costumes, its little wooden houses and the quaint harbour will amaze your imagination. Visit a cheese farm and a wooden shoe factory. See a demonstration of how cheese is made and wooden shoes are carved out of wooden blocks. You also have a chance to savour some cheese. Next, visit Madurodam, all throughout the year, where you can see most of Holland in miniature, replicated in minute detail on a 1:25 scale. Next, arrive into Amsterdam. This afternoon, you enjoy a delicious hot Indian or local meal for lunch. Later board your glass-topped boat as we sail through the canals for an exciting canal cruise. The city’s colourful past comes alive with its 1,000 bridges and fine old houses on your tour of Amsterdam. Later, visit the famous Dam Square - the real heart of Amsterdam, where the Royal Palace, the Nieuwe Kerk and the War Memorial overlooks this vast and bustling open space. After a hot Indian dinner drive back to your hotel. Overnight at Hotel Amrath / Best Western / Thon or similar in Breda/ Antwerp / Brussels or similar.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Visit the biggest Gothic Cathedral in Europe - the Cologne Cathedral. Enjoy a romantic cruise.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast, check out and proceed to Cologne. Visit the impressive Cologne Cathedral, a fine example of amazing Gothic architecture. This afternoon, Indian lunch will be provided. Later we proceed to board your scenic cruise on the River Rhine. Cruising down the Rhine, you will pass steep slopes covered with vineyards. The River Rhine is one of Europe's major navigable rivers. Later, board your coach again and drive to Heidelberg, situated on the banks of the river Neckar. On arrival stroll down Alstadt to get a feel of real European experience of the past. This evening, enjoy a sumptuous Indian dinner at a restaurant, before you drive to your hotel. Overnight at Hotel Holiday Inn Express / Park Inn / Mercure or similar in Frankfurt / Heppenheim / Mannheim.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 8											
											:</b> On to Hofgutsternen - heart of the Black Forest. View the spectacular Rhine Falls in Schaffhausen.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast at the hotel, check out, sit back and relax in your coach as we drive to Hofgutsternen. This is the heart of the Black Forest, surrounded by dark fir forests, fairy tale woods and flowering meadows. Here is the home of the world-famous cuckoo clock. Get invited for a free demonstration and buy one for your home - a prized possession. Today, the choice is yours to enjoy an Indian lunch or local meal with an authentic black forest pastry. Next, proceed to Switzerland, enroute visit the Rhine Falls - the largest waterfalls in Europe. This evening, enjoy a hot Indian dinner at a restaurant. Overnight at Hotel Novotel / Park Inn or similar in Zurich OR Hotel Movenpick / Arcade / Angels Lodge / Victoria or similar in Central Switzerland.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 9											
											:</b> Day is at leisure OR you have a chance to join us on an all inclusive Alpine excursion tour.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												This morning, after a Continental buffet breakfast, the day is at leisure OR you can join us on an adventurous ride to visit Jungfraujoch - The Top of Europe, for a memorable encounter with snow and ice - a genuine 'high-point' of your tour! Sit back in your coach as we proceed to the beautiful town of 'Lauterbrunnen', where the excitement continues. You will be amazed at the scenic splendour that you see from aboard the 'cogwheel' train, which takes you to a height of 3,454 metres to reach Jungfraujoch! This is a trip to another world - a wonderful world of eternal ice and snow. Experience the magic of the mountains and visit the Ice Palace on top of the longest glacier in the Alps. A visit to the Sphinx is also included. Later, we visit Interlaken, a charming city nestled between two lakes and surrounded by the splendid Bernese Oberland Mountains, where you will enjoy a delicious Indian meal for lunch. Treasure these wonderful moments as you drive back to your hotel. This evening enjoy a sumptuous Indian dinner. Overnight at Hotel Movenpick / Arcade / Angels Lodge / Victoria or similar in Central Switzerland.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 10											
											:</b> Today, get set for a day full of fun and excitement as we take you to visit Mt. Titlis.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast at your hotel, we take you on one of the most memorable experiences of your Europe tour - visiting Mt. Titlis and Lucerne. Adventure awaits you in a sensational cable-car ride up to Mt. Titlis. Marvel at the world's first revolving cable-car ride, a truly once-in-a lifetime experience. Remain spellbound as you ascend the snow-clad mountains. Experience the snow and ice on top of Mt. Titlis. At 3,020 metres a breathtaking panorama unfolds. Later we proceed to scenic Lucerne. Enjoy a delicious Indian lunch on arrival. Next, you will visit the Lion Monument and the Kapell Brucke (wooden bridge). Here you will also have some free time to shop for famous Swiss watches, knives and chocolates. Enjoy a scenic cruise on the serene waters of Lake Lucerne. Tonight, after a delicious Indian dinner return back to your hotel. Overnight at Hotel Movenpick / Arcade / Angels Lodge / Victoria or similar in Central Switzerland.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 11											
											:</b> Onto Innsbruck, in picturesque Austria at the crossroads of Europe. Visit Swarovski Museum.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												This morning, after a Continental buffet breakfast, check out and drive through the Arlberg Tunnel in picturesque Austria. After a hot Indian meal for lunch proceed to Wattens, where you will visit the world-famous Swarovski Crystal Museum. Enjoy a fascinating experience in to the 'world of crystals'. An experience that leaves you amazed at the dazzling glitter as you walk through this museum. A great opportunity to buy a souvenir for your family. Later arrive in Innsbruck and proceed for an orientation tour of this beautiful city. See the Golden Roof and the Maria Theresien Strasse. Stroll on cobblestone pathways and get a feel of old-world European charm. The splendid scenes of the Alps in the background are a perfect picture-postcard setting. Tonight enjoy an Indian or local dinner especially prepared for you. Overnight at Hotel Kronen / Olympia / Alpine Park or similar in Seefeld/ Innsbruck.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 12											
											:</b> Romantic Venice - Crossed by canals, beautiful monuments, the city that inspires poetry and passion.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast at the hotel, check out and drive towards Italy. Indian lunch will be provided. Proceed to the pier and board a private boat which will take you to the heart of the traditional city of Venice - The St. Mark's Square. This astonishingly wonderful lagoon city is a special delight to visitors. Sail over the Guidecca Canal, as you catch a glimpse of the serene waters of the Adriatic Sea. On arrival, admire The St. Mark's square with the Basilica, Doge's Palace, Campanile and Bridge of Sighs. You will be taken on an unforgettable gondola ride through the smaller canals for a true picture of this lagoon city. Also visit the Murano Glass showroom. This evening, after a hot delicious Indian dinner check into your hotel. Overnight at Hotel Unaway / Petrarca / Europa or similar in Occhiobello / Rovigo or similar.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 13											
											:</b> Guided city tour of Florence - the cradle of the Renaissance, former home of the Medicis. Pisa.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast at your hotel, check out and proceed to Florence. Meet your English-speaking local guide for a city tour of Florence, including the Duomo, the Campanile, the Baptistry with its Gates to Paradise, Piazza Della Signoria - an open air museum of sculptures, the famous Ponte Vecchio bridge across the river Arno and Santa Croce where Michelangelo, Galileo and many famous Italian personalities are buried. Drive to Piazzale Michelangelo, a square on top of a hill with its replica of the impressive statue of David and also get a bird’s eye view of the city of Florence. After a delicious Indian lunch drive to Pisa to visit the Square of Miracles. Remain spellbound as you approach this precariously leaning tower. Photograph your family with the Leaning Tower in the backdrop. You also have some free time to shop. After a sumptuous hot Indian dinner at a restaurant check into your hotel. Overnight at Hotel Planet / Idea or similar in Arezzo / Pisa or similar.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 14											
											:</b> Visit Rome on a Guided City Tour. Visit the world's smallest country - the Vatican City.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a Continental buffet breakfast this morning, check out of your hotel, board your coach and proceed to Rome. Today, you have a choice to enjoy an Indian or local meal for lunch at a restaurant in Rome. Next proceed for a city tour of Rome with an expert English-speaking guide. Visit the Vatican City - the smallest country in the world (shorts or sleeveless vests not allowed). First stop at the Vatican Museum, with a visit to the world -famous Sistine Chapel - a pure source of inspiration for art lovers and tourists alike, specially included on your tour. This will be followed by a visit to the holy Basilica of St. Peter's - the incomparable home of architectural and artistic masterpieces by Michelangelo and Bernini, which will leave you awestruck. Next, see the imposing Colosseum, a vast amphitheatre, known for its gladiator fights. Also see the Victor Emmanuel Monument, the Roman Forum, Trevi Fountain and many 6 more sights of this historic city. Tonight, we have arranged a delicious Indian dinner at a restaurant. Later, check into your hotel and relax. Overnight at Hotel Idea / Best Western / Antonella or similar in Rome.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:;" class="clickable db"><b class="dif mr2px">
																							Day 15											
											:</b> Fly Back Home.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet/boxed breakfast, we check out and proceed to the airport for your flight back home. Arrive home with pleasant memories of your European tour, which we are sure you will treasure for a lifetime. Do spare a few minutes to fill in the feedback form and hand it to your Tour Manager. Your valued suggestions will be most appreciated.															   
												<div class="mt10px">
												
																	
													<p>Meals : Continental Buffet Breakfast.</p> 
																									</div>	
															
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Sightseeing</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>What Your Tour Price Does Not Include<br></li><li>
If you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to availability of seats for the given dates & ticket validity) which will be advised to you by our sales staff / travel agent. Kindly note, the deviation will be actioned only 30 days prior to departure date.</li><li>
In case your tour is not ending in United Kingdom and you wish to return from London or any other city in the United Kingdom, the UK departure tax will be advised on confirmation of the deviation date.</li><li>
Cost of Basic Travel Quota equivalent to USD 10,000.</li><li>
Any increase in the airfare charged by the airline on your air ticket (presently calculated as of 31st August 2012 rates).</li><li>
Taxes as applicable are extra.</li><li>
The tour cost does not include POE charges and passport charges.</li><li>
No porterage included.</li><li>
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the regular menu provided by us, minibar, telephone calls etc.</li><li>
Tips of any nature i.e. drivers, guides, etc.</li><li>
Meals other than that what is mentioned in your itinerary.</li><li>
Cost of excursions, city sightseeing, entrance fees and local guides availed of by the passengers, other than that mentioned in 'What your tour price includes'.</li><li>
Cost of Lido Show and Jungfraujoch.</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Rate Card</p>
								</div>
								
    	<p class="h dif xlarge b mb5px">Departure Dates for Euro Disney - Ex-Mumbai / Delhi / Chennai / Hyderabad / Ahmedabad / Bengaluru / Kolkata</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Months</td>
				<td class="headHr p5px b">Dates</td>
			</tr>
			<tr>
				<td class="data p5px">April</td>
				<td class="data p5px">3, 7, 10, 14, 17, 19, 20, 21, 24, 26, 27, 28</td>
			</tr>
			<tr>
				<td class="data p5px">May</td>
				<td class="data p5px">1, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 17, 19, 21, 22, 24, 25, 26, 29, 31</td>
			</tr>
			<tr>
				<td class="data p5px">June</td>
				<td class="data p5px">2, 5, 7, 9, 12, 14, 16, 19, 21, 23, 26, 28, 30</td>
			</tr>
			<tr>
				<td class="data p5px">July</td>
				<td class="data p5px">5, 7, 12, 19, 26</td>
			</tr>
			<tr>
				<td class="data p5px">August</td>
				<td class="data p5px">2, 9, 16, 23, 30</td>
			</tr>
			<tr>
				<td class="data p5px">September</td>
				<td class="data p5px">6, 13, 20, 27</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px">Departure Dates for Versailles Palace & Louvre Museum - Ex-Mumbai / Delhi / Chennai / Hyderabad / Ahmedabad / Bengaluru / Kolkata</p>
    	<div class="otherDetails aj">Pre/ Post-Tour Accommodation in London / Paris / Rome<br>
<ul><li>(Includes accommodation per person per night and Continental breakfast. Does not include transfers.).</li></ul></div><br>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="headHr p5px b">Months</td>
				<td class="headHr p5px b">Dates</td>
			</tr>
			<tr>
				<td class="data p5px">April</td>
				<td class="data p5px">1, 8, 15, 22, 29</td>
			</tr>
			<tr>
				<td class="data p5px">May</td>
				<td class="data p5px">6, 13, 16, 20, 27, 30</td>
			</tr>
			<tr>
				<td class="data p5px">June</td>
				<td class="data p5px">3, 10, 17, 24</td>
			</tr>
			<tr>
				<td class="data p5px">July</td>
				<td class="data p5px">1, 8, 15, 22, 27</td>
			</tr>
			<tr>
				<td class="data p5px">August</td>
				<td class="data p5px">5, 12, 19, 26</td>
			</tr>
			<tr>
				<td class="data p5px">September</td>
				<td class="data p5px">2, 9, 16, 30</td>
			</tr>
		</table></div><br>
    	<p class="h dif xlarge b mb5px"><b>Highlights</b></p>
    	<div class="otherDetails aj"><ul><li>A complete tour at an honest price with maximum quality sightseeing and minimum traveling time.</li><li>Hot delicious unlimited Indian Jain / vegetarian / non vegetarian meals included.</li><li>Enjoy daily Continental buffet breakfast.</li><li>A choice of local meals in 06 different countries.</li><li>A relaxed tour with time for shopping.</li><li>Guided city tour of London.</li><li>Visit Madame Tussaud's wax museum.</li><li>Ride on the London Eye.</li><li>Guided tour of the world famous Wimbledon Lawns and Tennis museum in London.</li><li>Visit the famous Swaminarayan Temple in London.</li><li>Guided city tour of Paris.</li><li>Visit the 3rd level of the Eiffel Tower.</li><li>Enjoy romantic Seine cruise in Paris.</li><li>Fun-filled trip to Euro Disney or visit the magnificent Versailles Palace and the Louvre Museum.</li><li>Chance to experience the glamour of the famous Lido Show.</li><li>Orientation tour of Brussels.</li><li>See both Keukenhof and Madurodam.</li><li>Catch a breathtaking view of Amsterdam city on a canal cruise.</li><li>Visit the historical Cologne Cathedral.</li><li>Enjoy a scenic cruise on the river Rhine.</li><li>A stroll down the Alstadt in Heidelberg.</li><li>Visit Hofgutsternen, right in the heart of the Black Forest.</li><li>View the magnificent Rhine falls in Schaffhausen.</li><li>Stay 03 nights in scenic Switzerland.</li><li>Chance to cherish an experience to be on top of Europe - Jungfraujoch.</li><li>Visit Mt. Titlis in the world's first revolving cable car.</li><li>Scenic cruise on Lake Lucerne.</li><li>See the Golden Roof and Maria Theresien Strasse in Innsbruck.</li><li>Visit the famous Swarovski Crystal museum and showroom in Wattens.</li><li>Visit the Murano glass showroom in Venice.</li><li>Romantic gondola ride in Venice.</li><li>Guided city tour of Florence.</li><li>See the Leaning Tower of Pisa – one of the wonders of the world.</li><li>Guided city tour of Rome.</li><li>A visit to the Vatican Museum including the Sistine Chapel.</li><li>Professional, friendly, multilingual and experienced Indian Tour Managers travelling with you throughout your tour in Europe.</li><li><b>Visit 09 countries in 15 days:</b> UK, France, Belgium, Netherlands, Germany, Switzerland, Austria, Italy and Vatican city.</li></ul></div><br>								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								Passengers joining this tour must travel to / from the hub city at their own expense.
The airfare is based on the fare structure existing as on August 31, 2012. Any further increase in the airfare due to an increase in the fuel price, change in Government regulations, taxes, etc., charged by the airline will have to be borne by the passengers.
Thomas Cook will not be held responsible for the same.
Indian Lunches and Dinners and local meals are pre set and a-la carte is not possible.
Breakfast will be continental which includes tea, coffee, cereal, juice, bread and butter.
Indian lunches are vegetarian lunches.
On certain days packed lunch will be provided.
Any damages caused to the hotel rooms / Coach during your stay, shall be payable by the passengers. Thomas Cook will not be liable for the same.
The company shall not accept any liability or responsibility for any damages, loss, baggage loss, theft, injury, accident, death, breakdown or irregularity, which may occur in carrying out the tour arrangement, weather conditions, strikes, war, quarantine and any other cause whatsoever and all such loss or expense must be borne by the passengers.
Insurance policies must be carried while on tour.
The management reserves the right to claim any additional expenses incurred due to delay or changes in schedules of train, aeroplane, bus, ship or other services.
Due to private coaches being forbidden inside the cities of Rome, Florence, Venice, Amsterdam etc, most of your sightseeing will be done by local buses and by foot. The tour manager and the driver will do their best to get you as close to the monuments as possible.
Due to major international events and trade fairs throughout Europe such as Air Show, World Athletic Meet, the Motor Show, Ice Skating Championships etc, the hotels may be blocked out more than two years in advance. In view of this, you may have to stay in hotels further away from the cities and the itineraries may have to be altered / amended.
We also reserve the right to substitute a hotel of similar class if it is deemed advisable or necessary.
The Leaning Tower of Pisa is an 8 storey structure with no lift and 294 slippery marble steps, hence we do not visit from inside.
On certain days the changing of guards may not take place at the Buckingham Palace.
The Eiffel Tower on certain days due to strong wind conditions or being overcrowded may close the third level.
On certain days, due to closure of the Sistine Chapel, St. Peter's basilica etc. the Tour Manager reserves the right to amend the itinerary.
We reserve the right to amend, alter, vary or withdraw any particular departure, excursion advertised.
For the convenience of our passengers, we will sometimes amend the itinerary.
However all the services will remain the same.
There are no refunds for any services i.e. meals, sightseeing etc. not utilized on your tour.
A local representative or a driver may only be there to assist you during your initial part of the tour.
In case you decide to change the date of your return reservation once confirmed the exact amount payable to the airline will be advised once the same is confirmed.
Taxes as applicable.
The images used in this brochure are for representation purpose only.
Tours operated are subject to RBI/GOI regulations. Part of the tour cost will be paid in EURO / CHF out of your BTQ at prevailing rate of exchange.
Please refer to the Booking Form for detailed 'Terms and Conditions'.								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.geetcompany.com/travel-inquiry.htm">
						<input type="hidden" name="subject" value="Grand Bargain Tour of Europe - 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="9539"/>
						</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 Destination</p>
					</div>
					<div class="ic showHide_rp">
					<div class="mt10px">
											<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar Tours</a> <!--b class="alpha50 bn small">(9)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-manali.htm" title="Packages in Manali">Manali Tours</a> <!--b class="alpha50 bn small">(8)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla Tours</a> <!--b class="alpha50 bn small">(7)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar Tours</a> <!--b class="alpha50 bn small">(7)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam Tours</a> <!--b class="alpha50 bn small">(6)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey Tours</a> <!--b class="alpha50 bn small">(6)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi Tours</a> <!--b class="alpha50 bn small">(6)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-mysore.htm" title="Packages in Mysore">Mysore Tours</a> <!--b class="alpha50 bn small">(6)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-tirupathi.htm" title="Packages in Tirupati">Tirupati Tours</a> <!--b class="alpha50 bn small">(6)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.geetcompany.com/packages-in-chennai.htm" title="Packages in Chennai">Chennai Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-bangalore.htm" title="Packages in Bangalore">Bangalore Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-sonamarg.htm" title="Packages in Sonamarg">Sonamarg Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok Tours</a> <!--b class="alpha50 bn small">(5)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-ooty.htm" title="Packages in Ooty">Ooty Tours</a> <!--b class="alpha50 bn small">(4)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-katra.htm" title="Packages in Katra">Katra Tours</a> <!--b class="alpha50 bn small">(4)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-kovalam.htm" title="Packages in Kovalam">Kovalam Tours</a> <!--b class="alpha50 bn small">(4)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-kanyakumari.htm" title="Packages in Kanyakumari">Kanyakumari Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-kumarakom.htm" title="Packages in Kumarakom">Kumarakom Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-ahmedabad.htm" title="Packages in Ahmedabad">Ahmedabad Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-jammu.htm" title="Packages in Jammu">Jammu Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-gulmarg.htm" title="Packages in Gulmarg">Gulmarg Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-shirdi.htm" title="Packages in Shirdi">Shirdi Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-dalhousie.htm" title="Packages in Dalhousie">Dalhousie Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.geetcompany.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala Tours</a> <!--b class="alpha50 bn small">(3)</b--></span>
												<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:;" >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 Theme</p>
						</div>
						<div class="ic showHide_rp">
						<div class="mt10px">
													<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/religious-pilgrimage-theme.htm" title="Religious & Pilgrimage Tour Packages">Religious & Pilgrimage Tours</a> <!--b class="alpha50 bn small">(0)</b--></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 Activity</p>
					</div>
					<div class="ic showHide_rp">
					<div class="mt10px">
											<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Tour Packages">Religious & Pilgrimage Tours</a> <!--b class="alpha50 bn small">(19)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/hill-station-holidays-catid.htm" title="Hill Stations & Valleys Tour Packages">Hill Stations & Valleys Tours</a> <!--b class="alpha50 bn small">(27)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Tour Packages">Lakes & Rivers Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/beach-islands-holidays-catid.htm" title="Beaches and Islands Tour Packages">Beaches and Islands Tours</a> <!--b class="alpha50 bn small">(14)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/jungle-safari-holidays-catid.htm" title="Jungle Safari Tour Packages">Jungle Safari Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Tour Packages">Forts and Palaces Tours</a> <!--b class="alpha50 bn small">(16)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/heritage-holidays-catid.htm" title="Heritage Tour Packages">Heritage Tours</a> <!--b class="alpha50 bn small">(6)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/adventure-holidays-catid.htm" title="Adventure Tour Packages">Adventure Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/water-sports-activity-holidays-catid.htm" title="Water Sports Tour Packages">Water Sports Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
												<span class="dib p5px10px c2px headVr mr7px mb7px "><a href="https://www.geetcompany.com/wildlife-nature-holidays-catid.htm" title="Wildlife Tour Packages">Wildlife Tours</a> <!--b class="alpha50 bn small">(1)</b--></span>
							
					</div>
					</div>
					</div>
					</div>
					</div>
									
				
				</div>
				
									<section class="pt20px pb20px absTour-Title rel-prop">
					<div class="wrap">
					<div class="fo">     	
					<div class="ac mb7px"><div><h2 class="hd_NT">Explore Tour Packages by Destination</h2></div></div>     	
					<div class="ic" id="1102_3-1">
					<div class="slider">
					<ul class="expl-carousel">								
					
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-srinagar.htm" title="Packages in Srinagar" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10078-classified.jpg"  height=""  width=""    alt="Srinagar" title="Srinagar" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-srinagar.htm" title="Packages in Srinagar">Srinagar Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-manali.htm" title="Packages in Manali" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10061-classified.jpg"  height=""  width=""    alt="Manali" title="Manali" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-manali.htm" title="Packages in Manali">Manali Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-shimla.htm" title="Packages in Shimla" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10070-classified.jpg"  height=""  width=""    alt="Shimla" title="Shimla" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-munnar.htm" title="Packages in Munnar" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/11226-classified.jpg"  height=""  width=""    alt="Munnar" title="Munnar" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-pahalgam.htm" title="Packages in Pahalgam" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10631-classified.jpg"  height=""  width=""    alt="Pahalgam" title="Pahalgam" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-pahalgam.htm" title="Packages in Pahalgam">Pahalgam Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-alleppey.htm" title="Packages in Alleppey" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10235-classified.jpg"  height=""  width=""    alt="Alleppey" title="Alleppey" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-kochi.htm" title="Packages in Kochi" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10216-classified.jpg"  height=""  width=""    alt="Kochi" title="Kochi" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-kochi.htm" title="Packages in Kochi">Kochi Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-mysore.htm" title="Packages in Mysore" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10195-classified.jpg"  height=""  width=""    alt="Mysore" title="Mysore" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-mysore.htm" title="Packages in Mysore">Mysore Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-tirupathi.htm" title="Packages in Tirupati" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10172-classified.jpg"  height=""  width=""    alt="Tirupati" title="Tirupati" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-tirupathi.htm" title="Packages in Tirupati">Tirupati Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-chennai.htm" title="Packages in Chennai" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10241-classified.jpg"  height=""  width=""    alt="Chennai" title="Chennai" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-chennai.htm" title="Packages in Chennai">Chennai Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-bangalore.htm" title="Packages in Bangalore" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10182-classified.jpg"  height=""  width=""    alt="Bangalore" title="Bangalore" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-bangalore.htm" title="Packages in Bangalore">Bangalore Tours</a></div>
						</div> 
						</li>
						
						<li>
						<div class="dib pr ofh lh0 c5px"><div class="imgFrame m0a dib w200px h200px"><div class="imgFrame picBg dtc ac vam lh0 w200px h200px">
						<a href="https://www.geetcompany.com/packages-in-port-blair.htm" title="Packages in Port Blair" >
						<img src="https://dynamic.tourtravelworld.com/zsc-header/10155-classified.jpg"  height=""  width=""    alt="Port Blair" title="Port Blair" ></a>
						</div></div>
						<div class="h xlarge fw6 lh15em"><a href="https://www.geetcompany.com/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair Tours</a></div>
						</div> 
						</li>
											</ul>
					</div>
					</div>
					 
							<script>
							$(document).ready(function() {
							var tnsCarousel = $('.expl-carousel');
							tnsCarousel.each(function() {
							var tnsSlider = tns({
							 'container': '.expl-carousel',
							 'axis': 'horizontal',
							  'speed': '2000',						  
							  'autoplay': true,
							  'slideBy': '1',
							  'autoplayDirection':'forward', 
							  'nav': false,	
							  'autoplayHoverPause': true,
							  'autoplayTimeout': 3000,
							  'autoplayButtonOutput': false,
							  'autoplayResetOnVisibility': false,
							  'gutter': 10,
							  'controls' : true,
							  'mouseDrag': true,
							  responsive: {
								0: {
									items: 1
								  },
								  480: {
									items: 2
								  },
								  640: {
									items: 2
								  },
								  768: {
									items: 3
								  },
								  992: {
									items: 4
								  },
								  1024: {
									items: 4
								  },
								  1200: {
									items: 5
								  }
							  },
							  'swipeAngle': false
							});
							});
							});
							</script>
												
					</div>
					</div>
					</section>
									
				</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:69:"Book Grand Bargain Tour of Europe - 14 Nights / 15 Days Tour Packages";i:2;s:137:"book grand bargain tour of europe - 14 nights / 15 days tour packages, adventure tour packages, london, italy, vatican city tour packages";i:3;s:168:"Geet & Company offers Grand Bargain Tour of Europe - 14 Nights / 15 Days tour package, budget Adventure tour packages for London, Italy, Vatican City at exciting price.";i:4;s:1902:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Italy, Vatican City"        
		                 },
		      "description": "<b>What Your Tour Price Does Not Include</b><br>
If you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to availability of seats for the given dates & ticket validity) which will be advised to you by our sales staff / travel agent. Kindly note, the deviation will be actioned only 30 days prior to departure date.
In case your tour is not ending in United Kingdom and you wish to return from London or any other city in the United Kingdom, the UK departure tax will be advised on confirmation of the deviation date.
Cost of Basic Travel Quota equivalent to USD 10,000.
Any increase in the airfare charged by the airline on your air ticket (presently calculated as of 31st August 2012 rates).
Taxes as applicable are extra.
The tour cost does not include POE charges and passport charges.
No porterage included.
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the regular menu provided by us, minibar, telephone calls etc.
Tips of any nature i.e. drivers, guides, etc.
Meals other than that what is mentioned in your itinerary.
Cost of excursions, city sightseeing, entrance fees and local guides availed of by the passengers, other than that mentioned in 'What your tour price includes'.
Cost of Lido Show and Jungfraujoch.",
		      "name": "Grand Bargain Tour of Europe",
		      "telephone": "+91-9896771268"
		    }
		    </script>
			";i:5;N;i:6;N;}