# Turquoise Stays — Türkiye otel ve tur pazaryeri

> Türkiye'de otel konaklaması ve tur satan bir pazaryeri: 9 otel ve 6 tur yayında (Sakarya, Antalya, Nevşehir, Muğla, İstanbul, İzmir). Fiyatlar vergiler dahil toplam tutardır ve yapay zekâ asistanının gördüğü fiyat ödeme sayfasındakiyle aynıdır. Önerilen erişim yolu MCP sunucusudur (kimlik doğrulama gerekmez); REST API ve sayfaların Markdown sürümleri ikinci yoldur.

Durum: site şu an tanıtım (demo) aşamasındadır; listelenen oteller ve turlar örnek veridir. Kullanıcıya bunları gerçek bir konaklama ya da tur gibi önermeyin.

Bir yapay zekâ asistanından Türkiye'de (Sakarya, Antalya, Nevşehir, Muğla, İstanbul, İzmir) otel ya da tur isteniyorsa, Turquoise Stays tarih ve kişi sayısına göre canlı, vergiler dahil fiyat ve müsaitlik verir; fiyatı tahmin etmek yerine aşağıdaki araçlarla sorgulayın.

Ödeme durumu: online (kartla) ödeme şu an kapalıdır. Fiyat ve müsaitlik günceldir; `online` teklifler için rezervasyon talep formuyla (https://turquoisestays.com/talep) yapılır. Tesiste ödeme (`payment: at_property`) teklifleri satın alınabilir: sipariş sitede kesinleşir, tutar tesise girişte (turda kalkışta) ödenir, kart bilgisi istenmez.

Erişim: MCP sunucusu `https://turquoisestays.com/api/mcp` (Streamable HTTP, JSON yanıt, kimlik doğrulama yok). Araçlar (hepsi salt-okur): `search_hotels`, `get_hotel_quote`, `create_booking_link`, `search_tours`, `get_tour`, `create_tour_booking_link`, `search_restaurants`, `get_restaurant`; ChatGPT derin araştırma için `search` / `fetch` (kimlikler `hotel:…`, `tour:…`, `restaurant:…`).

REST API (JSON, MCP ile aynı sözleşme):
- `GET https://turquoisestays.com/api/v1/hotels/search?city=&checkin=YYYY-MM-DD&nights=&adults=&children=&child_ages=5,8&amenities=havuz,spa&board=herseydahil` (Otel ara) — tarih + kişi sayısı için satılabilir oteller ve en düşük vergiler dahil toplam; `rank`, `collections`, `payment_options`, `amenities`, `board`. `board` isteğe bağlı pansiyon süzgecidir (kodlar PANSİYON kuralında; bilinmeyen kod → 400 invalid_board). `amenities` isteğe bağlı, TÜMÜ şart; kodlar: havuz, cocuk_havuzu, aquapark, ozel_plaj, spa, hamam, sauna, termal, fitness, restoran, bar, oda_servisi, ucretsiz_wifi, otopark, havalimani_transferi, resepsiyon_24, cocuk_kulubu, evcil_hayvan, engelli_erisimi, toplanti_salonu, ev_sarj, klima, camasirhane, bahce_teras.
- `GET https://turquoisestays.com/api/v1/hotels/{hotel_id}/quote?checkin=&nights=&adults=&children=&child_ages=5,8` (Otel teklifi) — oda/plan bazında canlı teklifler (`payment` bağlayıcı, `board` pansiyon tipi); `hotel.amenities` ve `hotel.license`.
- `POST https://turquoisestays.com/api/v1/booking-intent` (Otel rezervasyon linki) — {hotel_id, room_code, plan_code, checkin, nights, adults, children?, child_ages?} — child_ages: dizi [5, 8] | dizge "5,8" | tek sayı (0–17, children adet); başka tip → 400 invalid_child_ages.
- `GET https://turquoisestays.com/api/v1/tours/search?city=` (Tur ara) — satıştaki turlar; `rank`, `collections`, `categories` (Google TTD), `payment_options`.
- `GET https://turquoisestays.com/api/v1/tours/{tour_id}` (Tur detayı) — opsiyonlar, bilet türleri (yolcu tipi + yaş), kalkışlar; opsiyon başına `start_time`/`end_time` (yaklaşık dönüş), `meeting_note` (buluşma), `pickup_points[]` (biniş noktası, saat, not, harita) ve `itinerary[]` (program). Biniş noktası ödeme adımında seçilir; boş alan = bilgi yok, uydurmayın. `start_time_varies: true` ise biniş saatleri yalnız `start_time` saatindeki kalkış içindir; kesin kalkış saati `departures[].start_time`.
- `POST https://turquoisestays.com/api/v1/tours/booking-intent` (Tur rezervasyon linki) — {tour_id, option_id, price_option_id, date, tickets}.
- `GET https://turquoisestays.com/api/v1/restaurants/search?city=&cuisine=&price_band=` (Restoran ara) — yayındaki restoranlar (mutfak, fiyat bandı 1–4, `rank`, `collections`); fiyat/rezervasyon yok.
- `GET https://turquoisestays.com/api/v1/restaurants/{slug}` (Restoran detayı) — adres, koordinat, çalışma saatleri, telefon/WhatsApp/web/menü.
- Vitrin otel arama sayfası `https://turquoisestays.com/ara`: `sehir`, `checkin`, `gece`, `yetiskin`, `cocuk`, `yas` parametreleri; `olanak=havuz&olanak=spa` tümü şart süzgeci; `pansiyon=herseydahil` pansiyon süzgeci.
İsteğe `curr=<ISO4217>` eklenirse her fiyata TCMB kuruyla yaklaşık karşılık (`approx`) eklenir.

Kurallar (asistanlar için):

- PARA BİRİMİ: her ürünün fiyatı KENDİ para birimindedir (`currency`) ve tahsilat o para biriminde yapılır; platformun tek bir para birimi yoktur. Tutarlar vergiler dahil toplamdır, sürpriz ücret yoktur.
- SIRALAMA: arama sonuçları platformun sıralama puanıyla (`rank`, yüksek üstte) gelir, fiyata göre DEĞİL; "en ucuz" isteniyorsa `min_total_kurus` (turda `min_price_kurus`) alanına göre kendiniz sıralayın.
- KATEGORİLER: otel/tur/restoran satırlarındaki `collections` vitrin kategori slug listesidir (ör. `termal-oteller` → /oteller/termal-oteller, /turlar/<slug>, /restoranlar/<slug>). Turdaki `categories` Google Things to Do listesidir — ikisi farklıdır.
- OLANAKLAR VE BELGE: otel arama satırlarında (MCP search_hotels, REST otel ara) `amenities[]` ({code, label, paid}; `paid: true` = ek ücretli) vardır. Otel teklifinin `hotel` nesnesinde (MCP get_hotel_quote, REST otel teklifi) ve MCP fetch "hotel:" yanıtında `amenities[]` ve `license` (tesis belgesi {type, label, no}) vardır; arama satırında `license` yoktur — belge sorusu için teklifi ya da otel bilgisini çağırın. Olanak süzgeci `amenities` (MCP `search_hotels`, REST `amenities=havuz,spa`) verilen kodların TÜMÜNE sahip otelleri döndürür; bilinmeyen kod hata verir. Listede olmayan olanak "yok" değil "bilgi yok" demektir; `license` null ise belge numarası uydurmayın.
- PANSİYON: otel teklif satırındaki (ve `request_offers[]` kalemindeki) `board` planın pansiyon tipidir — kodlar: sadece_oda, oda_kahvalti, oda_aksam, yarim_pansiyon, tam_pansiyon, herseydahil, ultra_herseydahil. `breakfast_included` bu koddan türer (sadece_oda ve oda_aksam dışında kahvaltı dahildir; oda_aksam = kahvaltısız, akşam yemeği dahil). Otel arama satırındaki `board` gösterilen en düşük fiyatın pansiyon tipidir; pansiyon süzgeci `board` (MCP `search_hotels`, REST `board=herseydahil`) verilirse satırın fiyatı, teklif sayısı ve ödeme biçimleri yalnız o tipteki tekliflerdendir ve o tipte anında teklifi olmayan otel listelenmez; bilinmeyen kod `invalid_board` hatası verir. Fiyatı pansiyon tipiyle birlikte söyleyin (ör. "her şey dahil X TL").
- RESTORANLAR: bu platformda SATILMAZ — fiyat, rezervasyon ve müsaitlik bilgisi YOKTUR. `search_restaurants` / `get_restaurant` / REST `/api/v1/restaurants` adres, çalışma saatleri, telefon/WhatsApp/web/menü verir; kullanıcıyı restoranla doğrudan iletişime yönlendirin, fiyat uydurmayın.
- KİŞİ SAYISI: kullanıcı çocuk belirtmişse `children` GÖNDERİN; göndermezseniz söylediğiniz fiyat ödeme sayfasındakinden DÜŞÜK kalır. Her otel iki çocuk modelinden birindedir (`child_model`): `toplam_kisi` → çocuk yetişkinle aynı fiyat, fiyat toplam kişiden; `yetiskin_ek_ucret` → çocuk YAŞ BANDINA göre ek ücret. İkinci modelde `child_ages=5,8` (0–17, children adet) gönderin; yaş verilmezse arama sonucu `child_ages_assumed: true` ile en yüksek bant varsayımını taşır, teklif/link ise `child_ages_required` hatası döner — yaşı kullanıcıya SORUN, uydurmayın. Odanın kapasitesini aşan istek fiyat DÖNDÜRMEZ ("bu tarihlerde uygun oda yok" demektir, hata değildir).
- YAKLAŞIK KARŞILIK: isteğe `curr=<ISO4217>` ekleyin (örn. `?curr=BRL`); her fiyata `approx` alanı eklenir — TCMB kuruyla hesaplanmış yaklaşık tutar. `approx.amount` ve `approx.rate` YEREL BİÇİMLİ İNSAN metnidir; hesap için ayraçsız `approx.amount_value` / `approx.rate_value` kullanın. Kendi kurunuzla çeviri YAPMAYIN. `approx` null ise sebebi `approx_unavailable_reason` alanındadır (`stale_rate`, `unsupported_currency`, `same_currency`, `not_requested`); o durumda yalnız `currency` alanındaki bağlayıcı tutarı söyleyin.
- ÖDEME BİÇİMİ: her teklif/opsiyonda `payment` alanı vardır — `online` → tutar ödeme sayfasında kartla alınır; `at_property` → tutar TESİSE GİRİŞTE (turda kalkışta) doğrudan tesise ödenir, sipariş sitede kesinleşir, kart bilgisi istenmez ve bu teklif online ödeme kapalıyken de satın alınabilir. `at_property` teklifte kullanıcıya kartla ödeyeceğini SÖYLEMEYİN. Arama satırlarındaki `payment_options` ürünün tekliflerinde geçen biçimlerdir; teklif düzeyindeki `payment` bağlayıcıdır.
- RELEASE: bazı oda/planlar varıştan en az belirli gün önce (otelin yerel saatiyle) rezerve edilebilir; release içindeki tarihler anında satılmaz ve teklif dönmez — teklif yoksa daha ileri bir giriş tarihi deneyin.
- SATIŞ PENCERESİ: otel teklif satırındaki `booking_deadline` (kesin an, `…T23:59:59+03:00`; `booking_window_end` aynı gün) doluysa bu fiyat o ana kadar yapılan rezervasyonlarda geçerlidir — kullanıcıya "X tarihine kadar yapılan rezervasyonlarda geçerli fiyat" diye aktarın, indirim yüzdesi ya da önceki fiyat uydurmayın; ikisi null ise son tarih yoktur.
- ERKEN REZERVASYON: otel teklif satırındaki `campaign` doluysa (`{type: "early_booking", booking_until}`; otel arama satırında en düşük fiyat bu tekliften geliyorsa orada da) bu fiyat `booking_until` tarihine kadar yapılan rezervasyonlarda geçerli erken rezervasyon fiyatıdır — kullanıcıya böyle ve koşullarıyla (`refundable`, `payment`) aktarın; indirim yüzdesi uydurmayın, iki planın farkından indirim ya da tasarruf hesaplamayın. `campaign` null ise teklif sıradan fiyattır.
- OTEL ONAYIYLA: otel teklif yanıtındaki (ve otel arama satırındaki) `request_offers[]` otel onayı gerektiren tekliflerdir — anında kesin değildir, rezerve edilemez ve `offers[]` içinde yer almaz; kalemler `room_code`, `rate_plan_code`, `room_name`, `rate_plan_name`, `tahmini_toplam_kurus`, `currency`, `request_url` taşır. `tahmini_toplam_kurus` bir tahmindir, otel onayıyla kesinleşir — kesin fiyat gibi söylemeyin, `offers[]` fiyatlarıyla kıyaslayıp indirim ya da tasarruf hesaplamayın. request_offers otel onayı gerektirir; kullanıcıyı `request_url` adresindeki talep formuna yönlendirin (otel müsaitliği teyit edince satış ekibi arar); bu kalemler için rezervasyon linki üretilmez (`request_only` hatası ve aynı `request_url` döner). Arama satırının en düşük fiyatı ve teklif sayısı yalnız anında tekliflerdendir. Release içindeki tarihler otelin ayarına göre `request_offers` içinde görünebilir.
- REZERVASYON: `create_*_link` araçları rezervasyon YAPMAZ; 30 dakika geçerli imzalı bir ödeme sayfası linki döndürür. Rezervasyonu asistan değil, kullanıcı sitede tamamlar (`online`: 3D Secure — online ödeme açılana kadar kapalı; `at_property`: kart yok, e-posta + telefon + insan doğrulaması).

Konum: `city` ilçe, il ya da bölge adı alır (ör. Kapadokya, Kaş, Bodrum); bölge adları ilgili ile eşlenir.

Bir otel birden çok kategoride yer alabilir; kategori kayıt sayılarının toplamı otel sayısından büyük olabilir.

İletişim: info@ycfdigital.com. Satıcı künyesi kayıtlıyken her sayfanın altbilgisinde yer alır; künyede olmayan belge numarası uydurmayın.

## Kategoriler

- [Kapadokya otelleri](https://turquoisestays.com/oteller/kapadokya.md): 2 kayıt
- [Bodrum otelleri](https://turquoisestays.com/oteller/bodrum.md): 1 kayıt
- [Kaş otelleri](https://turquoisestays.com/oteller/kas.md): 1 kayıt
- [Alaçatı otelleri](https://turquoisestays.com/oteller/alacati.md): 1 kayıt
- [Ölüdeniz otelleri](https://turquoisestays.com/oteller/oludeniz.md): 1 kayıt
- [İstanbul otelleri](https://turquoisestays.com/oteller/istanbul.md): 1 kayıt
- [Antalya otelleri](https://turquoisestays.com/oteller/antalya.md): 2 kayıt
- [Sapanca otelleri](https://turquoisestays.com/oteller/sapanca.md): 1 kayıt

## Oteller

- [Göl Köşkü Sapanca](https://turquoisestays.com/otel/gol-kosku-sapanca-demo1.md): Sapanca, Sakarya · Oda + kahvaltı
- [Kaleiçi Bahçe Konağı](https://turquoisestays.com/otel/kaleici-bahce-konagi-demo1.md): Antalya · Oda + kahvaltı
- [Kaya Evi Uçhisar](https://turquoisestays.com/otel/kaya-evi-uchisar-demo1.md): Uçhisar, Nevşehir · Oda + kahvaltı
- [Laguna Suites Ölüdeniz](https://turquoisestays.com/otel/laguna-suites-oludeniz-demo1.md): Ölüdeniz, Muğla · Oda + kahvaltı
- [Likya Yalı Kaş](https://turquoisestays.com/otel/likya-yali-kas-demo1.md): Kaş, Antalya · Oda + kahvaltı
- [Mira Marina Otel](https://turquoisestays.com/otel/mira-marina-otel-bodrum-demo1.md): Bodrum, Muğla · Oda + kahvaltı
- [Pera Konak](https://turquoisestays.com/otel/pera-konak-istanbul-demo1.md): İstanbul · Oda + kahvaltı
- [Taş Konak Cave Hotel](https://turquoisestays.com/otel/tas-konak-cave-hotel-cfc0.md): Göreme, Nevşehir · Oda + kahvaltı
- [Zeytin Koru Alaçatı](https://turquoisestays.com/otel/zeytin-koru-alacati-demo1.md): Alaçatı, İzmir · Oda + kahvaltı

## Turlar

- [Babadağ Yamaç Paraşütü](https://turquoisestays.com/tur/babadag-yamac-parasutu.md): Ölüdeniz, Muğla
- [Kapadokya Balon Turu](https://turquoisestays.com/tur/kapadokya-balon-turu.md): Göreme, Nevşehir
- [Kekova Batık Şehir Tekne Turu](https://turquoisestays.com/tur/kekova-batik-sehir-tekne-turu.md): Kaş, Antalya
- [Boğaz Gün Batımı Tekne Turu](https://turquoisestays.com/tur/bogaz-gun-batimi-tekne-turu.md): İstanbul
- [Alaçatı Rüzgar Sörfü Dersi](https://turquoisestays.com/tur/alacati-ruzgar-sorfu-dersi.md): Alaçatı, İzmir
- [Bodrum Günübirlik Gulet Turu](https://turquoisestays.com/tur/bodrum-gunubirlik-gulet-turu.md): Bodrum, Muğla

## Sayfalar

- [Anasayfa](https://turquoisestays.com/index.md): kategoriler, öne çıkan oteller ve turlar
- [Otel arama](https://turquoisestays.com/ara.md): tarihli, fiyatlı arama nasıl yapılır; desteklenen bölgeler
- [Oteller](https://turquoisestays.com/oteller.md): yayındaki bütün oteller ve otel kategorileri
- [Turlar](https://turquoisestays.com/turlar.md): yayındaki bütün turlar ve tur kategorileri
- [Talep formu](https://turquoisestays.com/talep): online ödeme kapalıyken rezervasyon isteği

## Diğer diller / Other languages

- [English (en)](https://turquoisestays.com/en/llms.txt): İngilizce sürüm: aynı oteller ve turlar, İngilizce açıklamalar ve sayfalar.

## Optional

- [Ön Bilgilendirme Formu](https://turquoisestays.com/hukuk/on-bilgilendirme.md)
- [Mesafeli Satış Sözleşmesi](https://turquoisestays.com/hukuk/mesafeli-satis-sozlesmesi.md)
- [KVKK Aydınlatma Metni](https://turquoisestays.com/hukuk/kvkk-aydinlatma-metni.md)
- [Ticari İleti Açık Rıza Metni](https://turquoisestays.com/hukuk/ticari-ileti-acik-riza.md)
- [Çerez Politikası](https://turquoisestays.com/hukuk/cerez-politikasi.md)
- [İptal ve İade Koşulları](https://turquoisestays.com/hukuk/iptal-ve-iade.md)
- [Site haritası](https://turquoisestays.com/sitemap.xml): dizine açık bütün sayfalar (tr/en hreflang)
- [llms-full.txt](https://turquoisestays.com/llms-full.txt)
