a:6:{i:0;s:14045:"				<div class="h1"><h1>Express Scotland Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travelect.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelect.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Express Scotland 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">027</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Edinburgh</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.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Express Scotland 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="65612"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_12/333350/120870.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120870.jpg"  width="150" height="150"    alt="Express Scotland Tour" title="Express Scotland Tour" /></a></p></div></li>
																		<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_12/333350/120871.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120871.jpg"  width="150" height="150"    alt="Express Scotland Tour" title="Express Scotland Tour" /></a></p></div></li>
																		<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_12/333350/120873.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120873.jpg"  width="150" height="150"    alt="Express Scotland Tour" title="Express Scotland Tour" /></a></p></div></li>
																		<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_12/333350/120874.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120874.jpg"  width="150" height="150"    alt="Express Scotland Tour" title="Express Scotland Tour" /></a></p></div></li>
																		<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_12/333350/120875.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120875.jpg"  width="150" height="150"    alt="Express Scotland Tour" title="Express Scotland Tour" /></a></p></div></li>
																		<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_12/333350/120876.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120876.jpg"  width="150" height="150"    alt="Express Scotland Tour" title="Express Scotland Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
											<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival Day In Edinburgh
								</p>
								<p class="aj">Welcome to Scotland. For an easy and comfortable way to get from the Edinburgh or Glasgow airport to your hotel in the Edinburgh city centre, we are happy to arrange a private transfer for you (at additional cost). After settling in, go out and explore. Edinburgh has a long and storied history, so there’s no shortage of UNESCO World Heritage Sites, museums and landmarks to visit, including the majestic Edinburgh Castle.<br />
You can easily travel around the city centre on foot, and we recommend strolling along the Royal Mile or walking to Castle Hill for a spectacular view of the city. For a good introduction to the city, why not join the Edinburgh Tour, a guided tour on a double-decker bus covering the top attractions, or a guided walking tour of the Old Town. And of course there are plenty of restaurants and bars to enjoy some warm Scottish hospitality not to mention a taste of the local whisky.<br />
Spend the night in Edinburgh. </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> Into The Scottish Highlands
								</p>
								<p class="aj">Start your drive today across the remarkable Forth Road Bridge and head towards the majestic Scottish Highlands. There are many possible stops depending on your time and interest. Notable highlights include the picture-perfect village of Dunkeld, perched on the banks of the River Tay, and the 13th century Blair Castle nestled in the heart of Highland Perthshire. Travelling through the Cairngorms National Park, another ideal stop is at the Highland Folk Museum in Newtonmore, where actors and restored buildings help bring Highland history to life.<br />
If time allows, head to the Battlefield of Culloden Moor, where the last battle on British soil occurred in 1746 an event considered "the beginning of the end for the Highlands." There you can also visit Clava Cairns, a series of tombs and standing stones which pre-date Stonehenge by some 1,000 years. Then continue on to Inverness, regarded as the "Capital of the Highlands."<br />
Spend the night in the Inverness area. <br />
Driving distance: 251 km / 156 miles</p>					
									<p><b>Meals : </b> Breakfast</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> Loch Ness, Castles & Isle Of Skye
								</p>
								<p class="aj">Experience some of Scotland’s most famous attractions today. Drive along the shores of Loch Ness where—time permitting—you can take a boat tour on Loch Ness in search of its notorious and elusive monster, or go explore the nearby Urquhart Castle ruins on the shores of the lake. Further along the drive, make a stop at the iconic Eilean Donan Castle, a sight you will surely recognize from many photographs, films and TV shows.<br />
Then head for the picturesque Isle of Skye in the Inner Hebrides. Explore the scenic fishing-village of Portree with its colourful buildings and boutiques and dine at one of the cosy local restaurants.<br />
Spend the night on the Isle of Skye or nearby vicinity.<br />
Driving distance: 182 km / 113 miles</p>					
									<p><b>Meals : </b> Breakfast</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> Northern Skye & Glenfinnan
								</p>
								<p class="aj">Today we recommend starting the day early to explore Skye, a haven for nature lovers and history enthusiasts alike. Drive around the northern part of the island via the breathtaking Trotternish Peninsula, passing "The Old Man of Storr," one of the island’s most famous landmarks. Visit the beautiful Kilt Rock waterfall and enjoy the scenery of the Quirang rock face. We also suggest a short walk around the magical Fairy Glen.<br />
Then head to the Sleat Peninsula and take the ferry over to the mainland. In Glennfinnan you can visit the Glenfinnan Monument, a tribute to the Jacobite clansmen overlooking the mysterious and beautiful Loch Shiel. From there, enjoy more amazing Highland scenery enroute to Fort William.<br />
Spend the night in the Fort William area.<br />
Driving-distance: 203 km / 126 miles<br />
Ferry duration: 30 minutes</p>					
									<p><b>Meals : </b> Breakfast</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> Famous Glens, Loch Lomond & Stirling
								</p>
								<p class="aj">Head to Rob Roy country, the Trossachs and Loch Lomond area today. This journey takes you past Scotland’s most famous and scenic valley, Glen Coe, as you drive through the Trossachs National Park area. For a fun photo opportunity, don't miss the Doune Castle, featured in the classic film Monty Python & the Holy Grail and the Outlander TV series as "Castle Leoch" Another ideal place to visit is Stirling Castle and the monument dedicated to William Wallace, the rebellious Scottish knight and subject of the film Braveheart.<br />
Back in Edinburgh, return your rental car and enjoy the rest of the day at your leisure, perhaps with a fine dinner to top off your amazing journey.<br />
Driving distance: 261 km /162 miles</p>					
									<p><b>Meals : </b> Breakfast</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> Departure
								</p>
								<p class="aj">To get to Edinburgh Airport, you can take the Airport Express bus from Waverley Bridge or a taxi directly from your hotel. If your flight is in the afternoon, use the morning to enjoy some last-minute shopping, visit one of Edinburgh’s museums or simply relax and take in the old world atmosphere of the city.<br />
If you wish to spend more time in Edinburgh or Glasgow before or after the tour, ask your travel consultant about adding extra nights or services, such as private airport transfers. We can also extend your trip with other destinations in the Nordic region such as Iceland or Norway. Contact us for details about customizing your itinerary.</p>					
									<p><b>Meals : </b> Breakfast</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>Transfers</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Express Scotland 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="65612"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Express Scotland Tour - 5 Nights / 6 Days Tour Packages";i:2;s:109:"book express scotland tour - 5 nights / 6 days tour packages, heritage tour packages, edinburgh tour packages";i:3;s:150:"El Travel Elect Pvt. Ltd offers Express Scotland Tour - 5 Nights / 6 Days tour package, budget Heritage tour packages for Edinburgh at exciting price.";i:4;s:402:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Edinburgh"        
		                 },
		      "description": "",
		      "name": "Express Scotland Tour",
		      "telephone": "+91-9225503370"
		    }
		    </script>
			";i:5;N;}