a:6:{i:0;s:19790:"				<div class="h1"><h1>Highlights Of Turkey Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Highlights Of Turkey 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">
						14 Nights / 15 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Istanbul, Ankara, Antalya, Fethiye, Canakkale, Konya</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Highlights Of Turkey 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="52367"/>
						</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_14/393874/102681.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/102681.jpg"  width="150" height="150"    alt="Highlights Of Turkey Tour" title="Highlights Of Turkey 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
								</p>
								<p class="aj">Start Istanbul. There is no formal sightseeing planned. Istanbul is one of the great cities of the world, with a history spanning thousands of years. It has been through several incarnations, firstly as Byzantium, then Constantinople and finally Istanbul. The city today is bustling and its streets are crowded with locals busily going about their daily lives. If you arrive early enough, you can wander and absorb the vibrancy of this exciting city that links Europe and Asia. This evening there will be a Welcome Meeting (please check noticeboard for exact time) held in the hotel, where you will meet your tour leader and fellow travel companions. Tonight after our group meeting we may take a short walk to admire the old city. The Hagia Sofia, first a church, then a mosque and now a museum, and the Iconic Blue Mosque, both have long been symbols of the City and stand proudly side by side. We take a seat in the park and watch the light of the day fade over these two masterpieces. We may also enjoy our first dinner together in one of the lively cobblestone streets of the Sultanahmet area.</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> Eminonu
								</p>
								<p class="aj">This morning we will take a short orientation walk through Istanbul, perhaps discovering the lively port district of Eminonu, the Spice Market and back streets full of local merchants selling their wares and the Hidden Rustem Pasha Mosque with some of the best examples of the famous iznik tiles adorning the walls. We then return to the hotel and depart for Canakkale mid-morning. After a short stop in Gallipoli, we arrive on the Gallipoli Peninsula in the early evening. Approx driving times Istanbul to Canakkale 5.5 hours.</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> City Tour
								</p>
								<p class="aj">This morning after breakfast we visit the City of Troy immortalised in Homer’s Iliad. Troy (Truva) was a city that existed over 4.000 years ago and was known as a major ancient civilization. For many years people believed that it was the city mentioned only in the tales and never truly existed, as the area had become known as Ilium, or New Ilium. Archaeological digs subsequently proved that there had been nine separate periods of settlement. We continue this afternoon to the seaside town of Ayvalik; the town centre is surrounded by the archipelago of Ayvalik Islands, which face the nearby Greek island of Lesbos. It was alternatively called Kydonies by the town's former Greek population. Today a haven for holiday makers and the olive oil capital of Turkey, Ayvalik and nearby Cunda Island are fine representations of the Greek/Turkish heritage of the Aegean coast. Renowned local produce includes: olive, oil, seafood and Ayvalik Tost; like a club sandwich but better! Approx driving time Canakkale to Ayvalik 3.5 hours.</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> Pergamum
								</p>
								<p class="aj">This morning we depart to Bergama, where will discover the ruins of the ancient Hellenistic city of Pergamon. Pergamum was an ancient Greek city that became the capital of the Kingdom of Pergamon during the Hellenistic period, under the Attalid dynasty, 281–133 BC. It was cited in the book of Revelation as one of the seven churches of Asia. This afternoon our journey continues to the town of Selçuk; a sprawling farming town at the base of the ancient fortress on Ayasoluk Hill. Our early evening orientation walk will take in such sites at the Basilica of St John, (entry not included) Isa Bey Mosque which is a fine example of early Seljuk Turk architecture, and the last remaining column of the Temple of Artemis. This evening we may have the opportunity to enjoy local meze in the town square and meet the locals. Approx driving time Ayvalik to Selcuk 3 hours.</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> Pergamum
								</p>
								<p class="aj">This morning after breakfast we head out to the ancient site of Ephesus; one of the best preserved classical cities in the eastern Mediterranean and a great example of Roman architecture. Always an important religious centre, Ephesus was founded by Ionian Greeks in the 11th Century BC and flourished under Roman rule. The Greeks replaced the cult of the Anatolian fertility goddess Cybele with Artemis and built a fabulous temple in her honour. With the arrival of the Romans, it became the Temple of Diana and was one of the original seven wonders of the ancient world. We visit the vast amphitheatre, walk the marble street once trodden by Cleopatra and Mark Antony, and marvel at the gymnasium, baths and wonderfully restored Library of Celsus. This afternoon our journey continues to our overnight base in Pamukkale. Approx driving times Selcuk to Pamukkale 3 hours.</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> Pamukkale
								</p>
								<p class="aj">Pamukkale; also known as 'Cotton Castle', and a truly unique sight. This magical and spectacular natural phenomenon was created by deposits from thermal waters that cascaded down the mountainside over hundreds of years, forming a myriad of pools and terraces. As the water overflows from the pools, dazzling cream-coloured stalactites are formed that, from afar, resemble cotton or snow. The pools are filled with hot spring waters that supposedly have healing properties. Close to Pamukkale are the ruins of Hierapolis, which was founded by the King of Pergamon in 190 BC and by the 2nd Century AD it had become an important Roman bath centre. The extensive ruins of Hierapolis are well worth exploring and include a theatre, temple, holy area, monumental fountain, bath, basilica and necropolis. We spend the morning exploring the travertines and ancient city before continuing to Fethiye on the Mediterranean Coast. Modern Fethiye is located on the site of the ancient city of Telmessos, the ruins of which can be seen in the city; the Hellenistic theatre is by the main quay. This evening we take a walk along the boat harbour and the lively market square. Approx driving time Pamukkale to Fethiye 4.5hours.</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> Fethiye
								</p>
								<p class="aj">This morning we depart from Fethiye and take the coastal highway to the seaside town of Kas. Situated on the Teke Peninsula, Kas was known as Antiphéllos in ancient Lycia and was a member of the Lycian League. Today you can see evidence of Lycian tombs scattered around the town. This afternoon is free to explore this quaint seaside village with cobbled streets and lively cafes. Approx. driving time Fethiye to Kas 2.5 hours.</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> Turquoise Coast
								</p>
								<p class="aj">Today is a free day to relax or take advantage of the many activities available on the Turquoise Coast in and around Kas. Take a daily boat trip to Kekova and view a sunken city; sea kayak to kekova; enjoy the local countryside on a mountain bike; trek on the Lycian way. For more cultural options, take a day tour to Xanthos the first capital of the Lycian Federation, or visit the ancient theatre in Kas.</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> 
								</p>
								<p class="aj">This morning we depart for Antalya, Turkey's biggest international beach resort. This afternoon we will visit the ancient Kaleiçi; with its narrow cobbled streets and historic Ottoman era houses, it is the old centre of the city. Restored to retain much of its historical character, the area now houses a plethora of bars, restaurants and shops. History buffs may want to visit the Antalya Museum this afternoon; ranked third in the country, it is among the leading museums of the world on account of the sculptures from the Roman period and other unique finds. Approx driving time from Kas to Antalya 4 hours.</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> Konya
								</p>
								<p class="aj">This morning we travel to Konya via the ancient Grec-Roman city of Aspendos, known for housing the best-preserved theatre of antiquity. With a diameter of 315 ft, the theatre provided seating for 7,000 spectators. After exploring the ancient site, we continue on to Konya, known as 'Iconium' in Roman times. It was the capital of the Seljuk Turks from the 12th to 13th centuries and home of Mevlana Celaleddin Rumi, who founded a mystic Sufi order popularly known as the 'Whirling Dervishes'. Approx. driving time Antalya to Konya 5.5 hours.</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> Mevlana's Mausoleum
									</p>
									<p class="aj">This morning we visit Mevlana's Mausoleum and the museum housing manuscripts of his works, as well as various artefacts relating to the mystic sect that he founded. We continue on to the fascinating Cappadocia region. Shaped by wind and water, the rock formations, rock hewn churches, cave dwellings and underground cities have to be seen to be believed! This afternoon we will visit the village of Belisirma in the Valley of Ihlara on the slopes of Mount Hasan, one of the volcanoes responsible for the formation of Cappadocia. From here we embark on a wonderful walk along the Melendiz River and experience traditional village life, as we walk through the beautiful Ihlara Valley. There are dozens of Byzantine cave chapels to explore along the way and most of them are decorated with exquisite biblical frescoes. We continue on to the underground city of Derinkuyu, with some dwellings containing rooms expanding seven levels beneath ground level. Early this evening we arrive in Urgup, our base for the next 2 nights. Approx. driving time Konya to Cappadocia 5 hours.</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> Pasabaglari Valley
									</p>
									<p class="aj">Cappadocia’s main attraction, the World Heritage-listed Goreme Open Air Museum is a monastic complex composed of churches, rectories and dwellings. This morning we explore the rock cut churches of the Museum. Later in the afternoon in the afternoon we drive to the unique Pasabaglari Valley, where multiple fairy chimneys hewn from the earth and shaped by centuries of erosion lend a moon-like landscape and atmosphere to the valley. A chapel dedicated to St. Simeon and a hermit's shelter are built into one of the fairy chimneys, which appears to have three heads! We finish of the day with a visit to Agzikarahan Caravanserai, which was built by the Seljuk sultan, Alaettin Keykubad.</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> Ankara
									</p>
									<p class="aj">This morning we have any early departure for Ankara en-route we will stop at Tuz Golu (salt lake), one of the richest salt beds in the world. Approximately 300,000 tons of salt per year (60% of total salt production in Turkey) is produced by this lake. We arrive to the Capital in time for a late lunch and our visit to Anatolian Civilisation Museum of Ankara exhibiting a rich collection of archaeological objects. Approx. driving time Cappadocia to Ankara 5 hours.</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> Istanbul
									</p>
									<p class="aj">This morning after breakfast we travel back to Istanbul. Arriving in the early afternoon we check into our hotel and take a late afternoon tour of the iconic Blue Mosque with it impressive iznik tiles and the ancient Hippodrome, before enjoying a last night group meal together. Approx. driving time Ankara to Istanbul 5.5 hours.</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 15:</b> Departure
									</p>
									<p class="aj">End Istanbul.</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>
												</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Highlights Of Turkey 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="52367"/>
						</form>
						</div>
						
						";i:1;s:66:"Book Highlights Of Turkey Tour - 14 Nights / 15 Days Tour Packages";i:2;s:167:"book highlights of turkey tour - 14 nights / 15 days tour packages, forts and palaces tour packages, istanbul, ankara, antalya, fethiye, canakkale, konya tour packages";i:3;s:220:"Book Highlights Of Turkey Tour - 14 Nights / 15 Days tour packages from Sanskruti Vacations - Get attractive 14 Nights / 15 Days Forts and Palaces  tour packages for  Istanbul, Ankara, Antalya, Fethiye, Canakkale, Konya.";i:4;s:449:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Istanbul, Ankara, Antalya, Fethiye, Canakkale, Konya"        
		                 },
		      "description": "",
		      "name": "Highlights Of Turkey Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}