a:6:{i:0;s:19882:"				<div class="h1"><h1>Russia & Scandinavia 13N / 14D 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>Russia & Scandinavia 13N / 14D 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">Duration </td>
						<td class="p5px pl0px vat">
						13 Nights / 14 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Moscow, Stockholm, Bergen, Helsinki, Saint Petersburg, Oslo</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="Russia & Scandinavia 13N / 14D 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="56031"/>
						</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_12/333350/107059.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/107059.jpg"  width="150" height="150"    alt="Russia & Scandinavia 13N / 14D Tour" title="Russia & Scandinavia 13N / 14D 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> Fly to Moscow
								</p>
								<p class="aj">Welcome to Moscow - the capital and the largest city of Russia. On arrival, you will be met by your tour Manager / Local Representative outside the custom area who will welcome you and take you to your hotel for check -in (Check-in time is after 3.00 pm). Overnight at the hotel in Moscow.</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> Visit to the Kremlin Guided City Tour of Moscow Enjoy a Famous Russian Circus in Moscow
								</p>
								<p class="aj">After a continental breakfast, we first take you to visit the Kremlin, the very heart of Russia. Our visit to the Kremlin include Patriarch’s Palace, Terem Palace and Cathedral Square, which houses many churches with exquisite golden domes. Later, on a city tour of Moscow, we visit the world famous Red Square. Next, see Leo Tolstoy Street, Triumphal Arch, White House, Arbat Square, Boulevard Ring, Tverskaya Street and Manezh Square. Later, visit the Metro station of Moscow often called ‘the people’s palaces’, for their elegant designs, lavish and profuse use of marble, mosaics, sculptures and chandeliers.<br />
As a grand finale of your Moscow experience, enjoy a performance at the famous Russian Circus.<br />
Overnight at the hotel in Moscow.</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> High - Speed Train to St. Petersburg Guided City Tour of St. Petersburg Visit to St. Isaac’s Cathe
								</p>
								<p class="aj">After a continental breakfast, we check out and proceed to the train station for our High Speed train to St. Petersburg. On arrival proceed to a restaurant for a breakfast.<br />
Later, we take you on a guided city tour of St. Petersburg, known as ‘Northern Venice’. We drive along the ‘Great Perspective’ famous today as Nevsky Prospect, lined with marble palaces of Russian royalty and aristocracy. Visit Issac’s Cathedral - the main church of the Russian Empire. Later, visit to The Peter and Paul Fortress - the original citadel of St. Petersburg, Russia, founded by Peter the Great in 1703 and built to Domenico Trezzini’s designs from 1706-1740. Later, we proceed to the hotel for your check-in. Overnight at the hotel in St. Petersburg.</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> Visit Catherine Palace & Park at Pushkin Visit to Hermitage Museum Visit to a Russian Folklore show
								</p>
								<p class="aj">After a continental breakfast, we proceed to Catherine Palace. See the spacious airy ballroom, the "Grand Hall" or the "Hall of Lights", with a spectacular painted ceiling, and comprises numerous distinctively decorated smaller rooms, including the reproduced Amber Room. As we enter the palace, we can sense the spirit of the times of Empresses Elizabeth and Catherine II and admire unique works of fine and applied art. St. Petersburg<br />
Next, we proceed to visit the Hermitage Museum. The gigantic collection of nearly three million objects of the Heritage Museum, ranked as one of the world’s major museums.<br />
Tonight, we discover traditional Russian dance and music during an elegant reception at the Russian Folklore show.<br />
Overnight at the hotel in St. Petersburg.</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> Fly to Helsinki
								</p>
								<p class="aj">Begin your ‘All of Scandinavia’ Tour.<br />
Welcome to Helsinki - the capital Finland. On arrival, you will be met by your Tour Manager / Local Representative outside the customs area, who will welcome you and take you to your hotel (Check-in time is after 3.00 pm).<br />
Overnight at the hotel in Helsinki.</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> Guided City Tour of Helsinki Visit to Helsinki Cathedral and Uspensky Cathedral Overnight Ferry
								</p>
								<p class="aj">After a buffet breakfast, we check out of the hotel and proceed on a guided city tour of Helsinki. See the important and interesting parts of Helsinki - Presidential Palace, Lutheran Church, Senate Square, Opera House and Sibelius Park. Later, we visit to Helsinki Cathedral & Uspenski cathedral. Helsinki cathedral is an Evangelic Lutheran church, and for many it is the symbol of Helsinki and The Uspenski Cathedral is a Russian Orthodox cathedral on the Katajanokka peninsula in Helsinki. It is the largest Orthodox church in western Europe.<br />
Later, we board the Overnight Ferry to Stockholm. Overnight on board the Ferry (Sea View Cabin).</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> Arrive into Stockholm Guided City Tour of Stockholm Visit to the Vasa Museum and Royal Palace
								</p>
								<p class="aj">After a buffet breakfast, we disembark our Ferry and proceed on a guided city tour of Stockholm. Welcome to Stockholm - the Capital and largest city of capital of Sweden. Built on 14 Islands, you are never far from the water in Stockholm. See the City Hall, Opera House and Alfred Nobel’s House.<br />
Next, we proceed to visit the famous Vasa Museum - Sweden’s most visited museum enshrining the warship Vasa, sunk inside Stockholm harbour while on her maiden voyage in 1628. The ship was built to the order of the great Vasa king, Gustavus Adolphus, and was the most powerful war galleon. Later, we visit Royal Palace home of the Swedish royal family. The Palace houses several of the greatest and most interesting sights in Stockholm - the Royal Apartments, the Hall of State and much more.<br />
Overnight at the hotel in Stockholm.</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> Visit Skansen Open Air Museum with Zoo Visit to The Stockholm City Hall
								</p>
								<p class="aj">After a buffet breakfast, we proceed to Skansen Open Air Museum. At Skansen you can learn about traditional crafts and traditions. This is the place to visit historic Sweden in miniature. 150 farms and dwellings from different parts of the country were disassembled and transported here. You’ll find charming town districts with glass blowing, pottery, a tinsmith’s workshop and a bakery, a goldcolored manor house, the Skogaholm manor house,<br />
the beautiful eighteenth-century Seglora wooden church and the The museum shop is a must for fans of traditional handicrafts. There is also a terrarium, a monkey house and a children’s zoo. It is primarily the Scandinavian animal world that is represented here, with Swedish native breeds and Nordic wild animals such as bears, wolves, seals and moose.<br />
Later, visit to the Stockholm City Hall - one of Sweden’s most famous buildings. It houses officesfor 200 people including the Municipal Council, and is also famous for its grand ceremonial halls and unique art pieces. The Stockholm City Hall is the venue of the Nobel Prize banquet held on 10 December each year.<br />
Overnight at the hotel in Stockholm.</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> Flight to Bergen Guided City Tour of Bergen Experience the Fløibanen Funicular Ride in Bergen
								</p>
								<p class="aj">After a buffet breakfast, we check-out of the hotel and drive to the airport for your flight to Bergen. Bergen is located in the county of Hordaland on the southwestern coast of Norway. Its city center is situated among a group of mountains known as "De Syv Fjell" and it is the second largest city in Norway. On arrival, we begin our guided panoramic city tour of Bergen, including a visit to the popular Fish and Flower Market, the famous Bryggen Harbour with its gabled houses, and the old Hanseatic Quarter.<br />
Later, we proceed to The Floibanen Funicular in Bergen which is one of the most popular attractions in all of Norway. The funicular ride up to the top of Floyen mountain (320 meters above sea level) takes 5-6 minutes. The ride itself is spectacular and the views of Bergen only improve the closer you get to the top. Once at the top of the funicular, you can choose from a vast number of hikes over the mountain. There is also a café and restaurant with breathtaking views.<br />
Overnight at the hotel in Bergen.</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> Onto Gudvangen Cruise on Sogenefjord to Flam Enjoy Scenic Flamsbana train Ride Flam - Myrdal - Flam
								</p>
								<p class="aj">After a buffet breakfast, we check-out of the hotel and drive to Gudvangen to take a leisurely Cruise on one of the Norway’s most famous and splendid Fjords, the Sognefjord to Flam. Upon arrival, soak in the spectacular natural beauty, peace and harmony.<br />
We, then transfer you to the Flam railway station to board Scenic Flamsbana train to enjoy the most beautiful train journey in the world Flam - Myrdal - Flam. This train ride will give you the breathtaking experience of Norway. See the magnificent Kjosfossen Waterfall.<br />
On arrival, join your coach and drive to Oslo - located at the end of a 100 kilometre long fjord and surrounded by green hills and a vast forest area. It is the capital and largest city of Norway. Overnight at the hotel in Oslo.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Guided City Tour of Oslo Visit Vigeland Park and Viking Museum
									</p>
									<p class="aj">After a buffet breakfast, we proceed on a guided city tour of Oslo. See Parliament Square, National Galleries, Karl Johan shopping street, Royal Palace and Akershus Castle, The Norwegian Defence Museum, City Hall and visit Vigeland Park.<br />
Later, we visit the Viking Ship Museum. It displays the Viking Age Oseberg ship, Gokstad ship and Tune ship.<br />
Overnight at the hotel in Oslo.</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 12:</b> Orientation Tour of Malmo Drive to Copenhagen across the Famous Öresund Bridge
									</p>
									<p class="aj">After a buffet breakfast, we check-out of the hotel and drive to Copenhagen. En-route we bypass the cities of Gothenburg and Malmo in Sweden. On reaching Sweden’s third largest city Malmo, we proceed on Orientation tour of Malmo city. See Sankt Petri church, Malmo Opera & Music theater, Gustav Adolf square and City hall. Later we drive on the Öresund bridge. The 16 km bridge and tunnel links, Malmö with Denmark’s capital, Copenhagen the capital and largest city of Denmark. It is situated on the Islands of Zealand and Amager. On arrival we check into the hotel. Overnight at the hotel in Copenhagen.</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 13:</b> Guided City Tour of Copenhagen Visit to Carlsberg Brewery Visit to Tivoli Garden
									</p>
									<p class="aj">After a buffet breakfast, we proceed for a guided city tour of Copenhagen which reveals impressive sights such as the Renaissance Stock Exchange, Christians borg Palace, Amalien borg Palace and Danish Parliament. Also see the ‘Little Mermaid’ the national symbol of Denmark, the statue inspired by Hans Christian Andersen’s sad fairytale.<br />
Next, we visit the famous Carlsberg Brewery, The 10.000 m²Visitors Center is located within the buildings of the original brewery founded in 1847. One of the Nordic region’s oldest breweries with an impressive and compelling history. Experience our authentic Carlsberg brewery - and learn the fascinating history of Carlsberg and its world famous beer.<br />
Later, we proceed to visit Tivoli Garden, the famous amusement park and pleasure garden. Overnight at the hotel in Copenhagen.</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 14:</b> Return Home with Wonderful Memories
									</p>
									<p class="aj">After a buffet breakfast, we check out and drive to the airport for your flight back home. Its time to say goodbye to all the new friends you have made. We hope you take back many happy memories of your holiday. We would like you to spare a few minutes of your time to write and tell us how you enjoyed your holiday and any suggestions you may have for the future.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<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>Transport</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="Russia & Scandinavia 13N / 14D 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="56031"/>
						</form>
						</div>
						
						";i:1;s:76:"Book Russia & Scandinavia 13N / 14D Tour - 13 Nights / 14 Days Tour Packages";i:2;s:184:"book russia & scandinavia 13n / 14d tour - 13 nights / 14 days tour packages, forts and palaces tour packages, moscow, stockholm, bergen, helsinki, saint petersburg, oslo tour packages";i:3;s:225:"El Travel Elect Pvt. Ltd offers Russia & Scandinavia 13N / 14D Tour - 13 Nights / 14 Days tour package, budget Forts and Palaces tour packages for Moscow, Stockholm, Bergen, Helsinki, Saint Petersburg, Oslo at exciting price.";i:4;s:466:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Moscow, Stockholm, Bergen, Helsinki, Saint Petersburg, Oslo"        
		                 },
		      "description": "",
		      "name": "Russia & Scandinavia 13N / 14D Tour",
		      "telephone": "+91-9225503370"
		    }
		    </script>
			";i:5;N;}