a:6:{i:0;s:29508:"				<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
									<div class="h1"><h1>Best of Turkey Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.mytripplanner.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.mytripplanner.in/holiday-packages.htm" title="Holiday Packages">Holiday Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Best of Turkey Tour</p> 
									
						<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">
					
											<p class="mb5px"><b>Duration :</b> 
						8 Nights / 9 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Istanbul, Cappadocia, Kusadasi</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 129999 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.mytripplanner.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of Turkey Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="153879"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/425337/236780.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/425337/236780.jpg"  width="150" height="90"    alt="Best of Turkey Tour" title="Best of Turkey Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								Tour Requirements<br />
Your passport validity duration should be 10 years.<br />
Hand written passport are not valid for Travel.<br />
For this package you must be in possession of a single Entry Visa for South Africa.<br />
The cost of these Visas, are included in your package tour price.<br />
Things to Carry<br />
Mobile phone with appropriate sim card or International roaming.<br />
Along with your necessary clothing and toiletries carry sun screen lotion , hand sanitizer, sun glasses, cap, sports shoes, umbrella / windcheater, camera etc. and woollens if needed.<br />
If you are on any medication, carry sufficient stock of the medicines with prescription.<br />
Weather <br />
Shopping<br />
Jewellery,Gemsstones,Antiques etc.5% Gston Gross Bill Payable Extra.<br />
passport Charges.<br />
cost of Optional & Add-on Tours Unless Mentioned Otherwise.<br />
any Increase in the Airfare/ Taxes/routing Charged By the Airlines On Your Ticket.<br />
cost of Extension of Validity of Your Air Ticket.<br />
any Increase / Surcharges On the Tour Cost / Airline Owing to Any Increase in the Rate of Us$ Leading to An Increase in the Cost of the Tour, Which May Come Into Effect Prior to Departure. However the Rate On the Given Day of the Full Payment Will Apply.<br />
portage At Hotels, Apartment, Airports and Seaports, Tips, Insurance, Laundry, Wines, Mineral Water (other Than Offered Complimentary), Telephone Charges and all Items of Personal Nature and also Food Drinks Not Forming Part of the Group Menus.<br />
anything Not Specifically Mentioned in ' Tour Price Includes 'column.<br />
passenger Above the Age of 69 Years Required to Submit An Ecg and Fasting Blood Sugar Report and a Form to Be Filled By An Md Doctor (which is Not More Than 30 Days Old).<br />
cost of Us$ 10,000 Granted By the Reserve Bank of India Under the Basic Travel Quota Scheme								</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> Arrive Istanbul
										</p>
										<p class="aj">On arrival in Istanbul, your My Trip Planner Manager or Local representative will greet you at the 'meeting point' at the exit. After immigration and customs, transfer comfortably to your hotel (Check-in after 1400 hrs).Thereafter, embark on the Bosphorus Cruise, with opportunities to photograph the shoreline with its landmarks - Dolmabahce&Beylerbeyi palaces, Ortakoy Mosque, the defensive Rumeli Fortress, Bosphorous Bridge. Later this evening, proceed for Istanbul by night including visit to floodlit mosques, a fabulous Turkish dinner and a spectacular floorshow with bejewelled belly dancers.</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> In Istanbul
										</p>
										<p class="aj">After breakfast, proceed on a guided orientation tour with a visit to Hagia Sophia, constructed as a basilica in the 6th century. Visit to the last great Imperial Blue Mosque. Leaving the mosque, proceed to the Roman Hippodrome, an open-air stadium built by Roman Emperors in 203 AD. The Obelisk of Theodosius, Serpentine Column, Constantine Column & German Fountain of Wilhelm II are the monuments decorating the Hippodrome. Then, onto Topkapi Palace, the imperial residence of Ottoman Sultans for almost 400 years. Finally, shop at the Grand Bazaar, the biggest "souk" with nearly 4000 shops, selling antiques, jewellery, gold, carpets, leatherware& souvenirs.</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> Onto Cappadocia
										</p>
										<p class="aj">This morning, transfer to the airport for your flight to Ankara.On arrival, visit the Anatolian Civilisations Museum, which also exhibits the remains of Catalhoyuk, the Neolithic village dating back to 6500 BC. Then proceed to the Mausoleum of Ataturk, the founder of modern Turkey. After lunch, proceed to mysterious Cappadocia. Visit Kaymakli Underground City; carved out of rocks by early Christians to evade invading armies and completely self-contained.</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> In Cappadocia
										</p>
										<p class="aj">Today, enjoy the magnificent early morning balloon adventure, drifting across the surreal troglodyte rock formations, traditional villages and the landscape of Cappadocia. Drive on to Pasabagi in Zelve area, where monks used to live in seclusion in rock-cut rooms. Proceed to the pottery town of Avanos, where Kizilirmak (Hallys), the longest river of Turkey, meanders leaving the red clay on its banks that has been the raw material of pottery for centuries.Proceed to Goreme Open Air Museum - a complex of several painted cave-churches. Visit some caves on the cliffs to see Byzantine frescoes decorating early Christian churches followed by a visit to Pigeon Valley and the natural citadel of Uchisar. You have some free time here for shopping.</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> Onto Pammukale
										</p>
										<p class="aj">Drive to Konya. Visit the Mausoleum of Mevlana. Proceed to Pamukkale, the cotton fortress, which rises above the fertile Menderes Valley. Hot mineral waters burst from the earth and cascade over steep cliffs forming pools, channels and stalactites. The therapeutic waters here are known for ages.Overnight in Pammukale.</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> In Pamukkale
										</p>
										<p class="aj">Today morning, visit the Cleopatra Pool which has the most distinct features of ancient natural thermal pools. The great ambience and surroundings make the swim one of the most relaxing and rejuvenating experiences possible. A swim in Cleopatra's Pool is indeed a must do on a visit to Pamukkale. Later proceed to the ancient city of Hierapolis and while strolling through its ruins, see the Temple of Apollo, the Theatre, a large and extensive Necropolis and an ancient thermal pool.</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> Onto Kusadasi
										</p>
										<p class="aj">Today, visit Aphrodisias, the city named after Aphrodite, the Greek goddess of love. Visit the Museum, the Temple of Aphrodite, the Theatre, the Stadium, the Agora, the Hadrian Baths, the Odeon and the Bishops Palace. Continue to Kusadasi.</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> In Kusadasi
										</p>
										<p class="aj">This morning, drive to Ephesus area to visit Ephesus antique city, one of the most popular ancient sites of Turkey with many acres of carefully excavated ruins. The temple of Artemis was one of the Seven Wonders of the ancient world and the centre of pagan religion for 15 centuries. Here, Marc Anthony and Cleopatra once rode in procession; St. Paul preached in the Great Theatre and in a little house outside the city, the Virgin Mary is supposed to have spent her last days.</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> Return Home with Wonderful Memories
										</p>
										<p class="aj">After breakfast we drive you to the airport for your flight back home. It’s time to say goodbye to all the new friends you have made. We hope you take back many happy memories of your holiday.</p>
										</td>
										</tr>
										</table>					
										</div>								<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																				<li>Cost of Your Round Trip Economy Class Airfare with Taxes.</li><li>
single Entry South Africa Visa Charges.</li><li>
accommodation At the Hotels Mentioned On Price Grid.</li><li>
cost of Your Overseas Travel Insurance Policy Valid for the Duration of the Tour Covered Up to the Age of 69 Years.</li><li>
daily Continental Breakfast and Indian Meals as Mentioned in Itinerary with Occasional Local Variation, Entrance Fees, Sightseeing and Surface Transportation as Mentioned in the Itinerary.</li><li>
all Transfer & Sightseeing as Mentioned in Itinerary By Ac Coach.</li><li>
complimentary Gift Travel Bag, Travel Cap and Passport Waist Pouch per Room</li>
																	</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>5% Gston Gross Bill Payable Extra.</li><li>
passport Charges.</li><li>
cost of Optional & Add-on Tours Unless Mentioned Otherwise.</li><li>
any Increase in the Airfare/ Taxes/routing Charged By the Airlines On Your Ticket.</li><li>
cost of Extension of Validity of Your Air Ticket.</li><li>
any Increase / Surcharges On the Tour Cost / Airline Owing to Any Increase in the Rate of Us$ Leading to An Increase in the Cost of the Tour, Which May Come Into Effect Prior to Departure. However the Rate On the Given Day of the Full Payment Will Apply.</li><li>
portage At Hotels, Apartment, Airports and Seaports, Tips, Insurance, Laundry, Wines, Mineral Water (other Than Offered Complimentary), Telephone Charges and all Items of Personal Nature and also Food Drinks Not Forming Part of the Group Menus.</li><li>
anything Not Specifically Mentioned in ' Tour Price Includes 'column.</li><li>
passenger Above the Age of 69 Years Required to Submit An Ecg and Fasting Blood Sugar Report and a Form to Be Filled By An Md Doctor (which is Not More Than 30 Days Old).</li><li>
cost of Us$ 10,000 Granted By the Reserve Bank of India Under the Basic Travel Quota Scheme</li></ul>
								</div>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.</li></ul>					
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
								
						<ul><li>* 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.</li></ul>			
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.mytripplanner.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best 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="153879"/>
						</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 City</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-jalpaiguri.htm" title="Packages in Jalpaiguri">Jalpaiguri</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-darjeeling.htm" title="Packages in Darjeeling">Darjeeling</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-kuala-lumpur.htm" title="Packages in Kuala Lumpur">Kuala Lumpur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-pelling.htm" title="Packages in Pelling">Pelling</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-lachung.htm" title="Packages in Lachung">Lachung</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-punakha.htm" title="Packages in Punakha">Punakha</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-rome.htm" title="Packages in Rome">Rome</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-new-york.htm" title="Packages in New York">New York</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-brisbane.htm" title="Packages in Brisbane">Brisbane</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-havelock.htm" title="Packages in Havelock">Havelock</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-cairns.htm" title="Packages in Cairns">Cairns</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-ontario.htm" title="Packages in Ontario">Ontario</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-ahmedabad.htm" title="Packages in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-paro.htm" title="Packages in Paro">Paro</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-innsbruck.htm" title="Packages in Innsbruck">Innsbruck</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-port-blair.htm" title="Packages in Port Blair">Port Blair</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-washington.htm" title="Packages in Washington">Washington</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-junagadh.htm" title="Packages in Junagadh">Junagadh</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-queensland.htm" title="Packages in Queensland">Queensland</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-san-francisco.htm" title="Packages in San Francisco">San Francisco</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-tuscany.htm" title="Packages in Tuscany">Tuscany</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/packages-in-sydney.htm" title="Packages in Sydney">Sydney</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >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 Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(16)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/water-sports-activity-holidays-catid.htm" title="Water Sports and Activity Packages">Water Sports and Activity</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.mytripplanner.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/romantic-holidays-catid.htm" title="Romantic Packages">Romantic</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/cruise-holidays-catid.htm" title="Cruise Packages">Cruise</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/family-holidays-catid.htm" title="Family Packages">Family</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/shopping-holidays-catid.htm" title="Shopping Packages">Shopping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.mytripplanner.in/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
								
				</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:58:"Book Best of Turkey Tour - 8 Nights / 9 Days Tour Packages";i:2;s:137:"book best of turkey tour - 8 nights / 9 days tour packages, forts and palaces tour packages, istanbul, cappadocia, kusadasi tour packages";i:3;s:169:"My Trip Planner offers Best of Turkey Tour - 8 Nights / 9 Days tour package, budget Forts and Palaces tour packages for Istanbul, Cappadocia, Kusadasi at exciting price.";i:4;s:2193:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Istanbul, Cappadocia, Kusadasi"        
		                 },
		      "description": "Tour Requirements
Your passport validity duration should be 10 years.
Hand written passport are not valid for Travel.
For this package you must be in possession of a single Entry Visa for South Africa.
The cost of these Visas, are included in your package tour price.
Things to Carry
Mobile phone with appropriate sim card or International roaming.
Along with your necessary clothing and toiletries carry sun screen lotion , hand sanitizer, sun glasses, cap, sports shoes, umbrella / windcheater, camera etc. and woollens if needed.
If you are on any medication, carry sufficient stock of the medicines with prescription.
Weather 
Shopping
Jewellery,Gemsstones,Antiques etc.5% Gston Gross Bill Payable Extra.
passport Charges.
cost of Optional & Add-on Tours Unless Mentioned Otherwise.
any Increase in the Airfare/ Taxes/routing Charged By the Airlines On Your Ticket.
cost of Extension of Validity of Your Air Ticket.
any Increase / Surcharges On the Tour Cost / Airline Owing to Any Increase in the Rate of Us$ Leading to An Increase in the Cost of the Tour, Which May Come Into Effect Prior to Departure. However the Rate On the Given Day of the Full Payment Will Apply.
portage At Hotels, Apartment, Airports and Seaports, Tips, Insurance, Laundry, Wines, Mineral Water (other Than Offered Complimentary), Telephone Charges and all Items of Personal Nature and also Food Drinks Not Forming Part of the Group Menus.
anything Not Specifically Mentioned in ' Tour Price Includes 'column.
passenger Above the Age of 69 Years Required to Submit An Ecg and Fasting Blood Sugar Report and a Form to Be Filled By An Md Doctor (which is Not More Than 30 Days Old).
cost of Us$ 10,000 Granted By the Reserve Bank of India Under the Basic Travel Quota Scheme",
		      "name": "Best of Turkey Tour",
		      "telephone": "+91-9434330087"
		    }
		    </script>
			";i:5;N;}