a:6:{i:0;s:16972:"				<div class="h1"><h1>Fantastic Uk – 09 Nights & 10 Days Package</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.oppexholidays.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.oppexholidays.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Fantastic Uk – 09 Nights & 10 Days Package</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">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">London, Glasgow, Edinburg</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 64599 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Fantastic Uk – 09 Nights & 10 Days Package - 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="111907"/>
						</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_2/37817/183795.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_2/37817/183795.jpg"  width="150" height="150"    alt="Fantastic Uk – 09 Nights & 10 Days Package" title="Fantastic Uk – 09 Nights & 10 Days Package" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					9 Nights’ accommodation in above mentioned Hotels in United Kingdom<br />
Daily Breakfast<br />
Sightseeing & Transfers as per itinerary<br />
<br />
HOTEL DETAILS:<br />
London IBIS Styles or St George or Similar<br />
Glasgow AlexanderThompson or Similar<br />
Edinburg Britannia Hotel or SimilarAirfare<br />
UK Visa<br />
 Hotels not booked yet.<br />
Rates Subject to change without prior notice.<br />
(Please refer our Terms and Conditions and cancellation policies mentioned in below)<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> London
								</p>
								<p class="aj">Arrive in London airport and get transferred to the Hotel (Sharing Transfers). Check- in the hotel and spend<br />
overnight at hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> London
								</p>
								<p class="aj">After Breakfast, enjoy London Panoramic<br />
Morning City Tour (Duration 3 H 30M)<br />
Tour Description: Enjoy this half day<br />
morning tour of the popular sights of<br />
London such as St. Paul's Cathedral and<br />
Tower Bridge. You will also see the Tower<br />
of London where you will have an<br />
opportunity to take photographs. The tour<br />
also includes a stunning view of neo-gothic architecture - Big Ben and the Houses of<br />
Parliament, which can be seen from across the River Thames. Next, you will see<br />
Westminster Abbey where many British monarchs have been crowned before making a<br />
stop at the London home of Queen Elizabeth II, Buckingham Palace, for another photo<br />
opportunity. When possible, you will see the ceremony of the Changing of the Guards<br />
here as well.<br />
Departure Point : Gloucester Arcade</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> London
								</p>
								<p class="aj">After Breakfast, London Eye River Thames<br />
Cruise Experience (40 minute circular sightseeing cruise)<br />
Tour Description: Take a London Eye River Cruise and see London from a different perspective. Enjoy a unique sightseeing cruise on the River Thames with fascinating views of Big Ben and the Houses of Parliament, St. Paul's Cathedral, Tower Bridge and the Tower of London. The London Eye River Cruise departs from the London Eye Millennium Pier offering you the chance to take the cruise before or after the Coca- Cola London Eye experience (ticket to Coca-Cola London Eye not included). <br />
Departure Point : London Eye Millennium Pier <br />
Optional : Coca-Cola London Eye - Flight only @ GBP 20 per person (Take a flight on Coca-Cola London Eye, a visually striking structure and the world's largest cantilever observation wheel. As you ascend over the Thames you will see London's famous streets, churches, palaces and monuments spread out below in a panoramic scene giving you a new perspective of a great city! On a clear day the views can stretch as far as 25 miles to Windsor Castle. Visitor to the Coca-Cola London Eye can also experience the four minute 4D Experience, focusing on the journey of a little girl and her father in London in which they visit the Coca-Cola London Eye and enjoy a spectacular take on the capital. Their experience is brought to life with vibrant 3D images of colourful parties and events inside the Coca-Cola London Eye capsules, dramatic firework displays, a snowfall over the city, revolutionary aerial footage of other iconic landmarks and sophisticated, fun 4D effects.)</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> London - Glasgow
								</p>
								<p class="aj">After Breakfast, get transferred (SIC transfer) to STN London Airport and board your flight for Glasgow.<br />
Get transfer from Glasgow Airport. Check in to Glasgow Hotel.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Glasgow
								</p>
								<p class="aj">After Breakfast, Enjoy Glasgow sightseeing.<br />
Tour Description: Let CitySightseeing show you all the things to do in Glasgow, from excellent museums, art galleries and beautiful parks, there is something for all ages in this exciting Scottish city. In addition, our friendly pubs, welcoming cafes and bars, and lively night clubs help to make Glasgow one of the new preferred destinations for short breaks for the younger and older generations. City Sightseeing's hop on hop off bus tours are the ultimate way to visit this vibrant city, which is packed with breathtaking sights and attractions. Departure Points: George Square, Glasgow Cathedral, Merchant City, Glasgow Green, St Andrews Square, St Enoch; George Square, St. Vincent Place, SAS Radisson Hotel, Glasgow Marriott, City Inn Hotel, SECC, The Tall Ship, Glasgow University, Byres Road, Museums, Kelvin Park, Charing Cross, Willow Tearooms, Piping Centre and Royal Concert Hall.</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> Glasgow
								</p>
								<p class="aj">After Breakfast, day at leisure or opt for Loch Ness, Glencoe & the Highlands Tour (Duration 12 Hrs) @ GBP 37 per person From Glasgow we travel north, tracing the length of Loch Lomond, over Rannoch Moor and the Black Mount, to awesome, tragic Glencoe, the setting for myth, misdeed and magnificence. We enter the Great Glen beneath Britain's highest mountain, Ben Nevis, hugging canal, river and loch-side. We will pass Fort Augustus, tracing the 24 mile shoreline of Loch Ness, stopping at Urquhart Castle. Here, you may wish to visit the castle (entrance fee is not included) - a spot made famous by many an alleged sighting of the Loch Ness Monster. At Inverness we turn for home, traversing the Grampians and the Forest of Atholl, with a choice of refreshment stops en route. <br />
Departure Point : Coach Tour Stop, 266 George Street</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> Glasgow to Edinburgh
								</p>
								<p class="aj">After breakfast, get transferred from Glasgow to Edinburgh via train (duration 1 hr)</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> Edinburgh
								</p>
								<p class="aj">After Breakfast, get started for Melrose Abbey, Alnwick Castle & Bamburgh Tour (Duration 9 Hrs)<br />
Tour Description : Departing Edinburgh your driver-guide will regale you with stories and history of Scotland. Learn of the battles fought and won.<br />
The Kings and monarchy who shaped Scotland. Stop off at Melrose Abbey. You'll then drive south through the Scottish Borders, pausing for a photo stop at Melrose Abbey - widely regarded as one of the most beautiful ruins in Europe. Robert the Bruce's heart is thought to be buried at the Abbey and it is the final resting place of a number of other Scottish Kings. The star attraction of the tour is Alnwick Castle (admission not included).<br />
This is the second largest inhabited castle in England and has been lived in for over 700 years. It is full of fascinating things to see and mysteries to uncover. You may recognize it as a location from some of the Harry Potter films. The road home takes you up the stunning east coast, past some beautiful sights such as Bamburgh, where you will have a photo opportunity of the impressive Bamburgh Castle.<br />
Departure Point : No.1 Parliament Square, Cafe Nero</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> Edinburg
								</p>
								<p class="aj">After Breakfast, enjoy Hop on Hop off Edinburgh City Sightseeing<br />
Tour Description : Ticket to hop on and off the tour as you please and really explore all Edinburgh has to offer. With great visitor attractions, museums, galleries and restaurants to suit every taste (and budget) Edinburgh's got it all! Capital of Scotland since the 15th Century, Edinburgh stands on seven hills creating the dramatic skyline of this lively cosmopolitan city. What better way to see this fantastic city than from the top of a City Sightseeing Tour Bus. Marvel at the impenetrable Castle Rock and hear about the attempts to capture Edinburgh Castle, see the Royal Mile which joins Edinburgh Castle to the Palace of Holyrood House and discover the fascinating history of this amazing city!<br />
Departure Points : Waverley Bridge, Frederick Street, South Charlotte Street, Lothian Road, Grassmarket, Johnston Terrace, Lawnmarket, Chambers Streed, John Knox House, Our Dynamic Earth, Queen Mary's Bath House, Old Royal High School, St Andrew Square.</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> DEPART for India
								</p>
								<p class="aj">Check out of the hotel as you will be transferred to the airport.</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>
																		<li>Meals</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
												<p class="large b mb5px dif">Exclusions :</p> <ul><li>Airfare</li><li>
UK Visa</li><li>
 Hotels not booked yet.</li><li>
Rates Subject to change without prior notice.</li><li>
(Please refer our Terms and Conditions and cancellation policies mentioned in below)</li></ul><br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>~^#^~~^#^~<ul>
	<li>The above is only an offer. In the event of Non availability of the specified hotel, alternate or similar hotels would be offered.</li>
	<li>Rates valid strictly for the requested period.</li>
	<li>RATES FOR PRIVATE SERVICES ARE BASED ON MINIMUM PAX TRAVELING. ANY</li>
	<li>CHANGE IN THRE NUMBER OF PAX WOULD LEAD TO CHANGE IN COST</li>
	<li>Any increase in the Airlines taxes /Hotel Surcharges from the time of Booking till the departure date must be borne by pax.</li>
	<li>No refund for unutilized service</li>
	<li>All Hotels, Itinerary, restaurants subject to change without notice.</li>
	<li>Rates valid only for the dates and period requested. Change in date would lead to change of Cost</li>
	<li>Rates are based on as on date&rsquo;s exchange rate. Should there be any major fluctuation OPPEX TRAVELS AND TOURS reserve the right to furnish a fresh quote.</li>
	<li>Rates do not include Event/ Peak Season surcharges. Would be advised at the time of booking.</li>
	<li>Any damage caused to hotel rooms/ Coach during your stay, shall be payable by the passengers. OPPEX TRAVELS AND TOURS will not be liable for the same.</li>
	<li>The Company shall not accept any liability or responsibility for any damages, loss, injury, accident, death, Flight Cancelation by Airline , breakdown, or irregularity, which may occur in carrying out the tour arrangement, weather conditions, strikes, wars, quarantine or any other cause whatsoever and all such loss or expense must be borne by pax.</li>
	<li>All Tours subject to OPPEX TRAVELS AND TOURS Tour conditions</li>
</ul>												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.oppexholidays.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Fantastic Uk – 09 Nights & 10 Days Package - 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="111907"/>
						</form>
						</div>
						
						";i:1;s:84:"Book Fantastic Uk – 09 Nights & 10 Days Package - 9 Nights / 10 Days Tour Packages";i:2;s:149:"book fantastic uk – 09 nights & 10 days package - 9 nights / 10 days tour packages, heritage tour packages, london, glasgow, edinburg tour packages";i:3;s:241:"Book Fantastic Uk – 09 Nights & 10 Days Package - 9 Nights / 10 Days tour packages from Oppex Travels & Tours ( a Division of Oppex Freight Systems - Get attractive 9 Nights / 10 Days Heritage  tour packages for  London, Glasgow, Edinburg.";i:4;s:880:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Glasgow, Edinburg"        
		                 },
		      "description": "9 Nights’ accommodation in above mentioned Hotels in United Kingdom
Daily Breakfast
Sightseeing & Transfers as per itinerary

HOTEL DETAILS:
London IBIS Styles or St George or Similar
Glasgow AlexanderThompson or Similar
Edinburg Britannia Hotel or SimilarAirfare
UK Visa
 Hotels not booked yet.
Rates Subject to change without prior notice.
(Please refer our Terms and Conditions and cancellation policies mentioned in below)",
		      "name": "Fantastic Uk – 09 Nights & 10 Days Package",
		      "telephone": "+91-9821321975"
		    }
		    </script>
			";i:5;N;}