Seyahat rezervasyonu için
MCP sunucusu.

Adrasis, Distribution Partner API'nin üzerinde bir Model Context Protocol (MCP) sunucusu çalıştırır. Yapay zekâ ajanları bu sunucu üzerinden konaklama, transfer, tur, charter uçuş ve paketleri doğrudan API entegrasyonuyla aynı kurallarla arar ve rezerve eder. Bunu da envanter sahibinin partner için açtığı hesabın sınırları içinde yapar.

Partner API'nin üzerinde uzak bir MCP sunucusu.

Sunucu, Adrasis Distribution Partner API'nin REST sözleşmesini MCP araçları olarak sunar. Ajanınız endpoint yerine araç çağırır ve her araç, arkasındaki REST çağrısı gibi davranır.

Seyahatle ilgili MCP sunucularını karşılaştırıyorsanız asıl belirleyici üç soru vardır: tedarik nereden geliyor, ajanın neler yapabileceğine kim karar veriyor ve yapılan rezervasyon gerçek mi? Burada tedarik, bir acentenin ya da tur operatörünün Adrasis Konsol'da yönettiği ürünlerdir. Erişimi bu envanter sahibi, partner hesabı ve o hesabın scope'ları üzerinden belirler. Başarılı bir book çağrısı da REST üzerinden yapılan bir rezervasyon gibi kaydı oluşturur ve envanteri düşürür.

Ajanlar için hiçbir kural yeniden yorumlanmaz. Araçlar, REST sözleşmesiyle aynı istek ve yanıt şemalarını, iş mantığını, fiyatlandırmayı ve kullanım kurallarını kullanır. Böylece ajan da klasik bir entegrasyon da aynı kurallarla çalışır.

# Uzak MCP sunucusu, streamable HTTP
https://ari.console.adrasis.com/mcp

# OAuth 2.0 erişim token'ı
Authorization: Bearer <erişim token'ı>

Ajan isterse MCP'yi kullanmadan REST sözleşmesini doğrudan da çağırabilir. Sözleşmenin makine tarafından okunabilir tam hali API referansında (İngilizce) yayımlanır.

Partner ajanları için, AI Operatörü'nden ayrı.

MCP sunucusu, başka bir şirketin tedarikinden partner hesabı üzerinden rezervasyon yapan yapay zekâ ajanları içindir. AI Operatörü ise kendi organizasyonunuzun içindeki işi yürütür.

İşin içinde iki taraf vardır. Envanter sahibi, kontratlarını ve fiyatlarını Adrasis Konsol'da tutan bir acente ya da tur operatörüdür. Ajanı geliştiren taraf ise partnerdir: kendi kullanıcılarına yapay zekâ ajanıyla hizmet vermek isteyen bir OTA (online seyahat acentesi), bir seyahat uygulaması, başka bir acente ya da bir teknoloji partneri. Envanter sahibi partner hesabını oluşturur, partnerin rezerve edebileceği tesisleri açar ve API kimliklerini üretir. Bundan sonra ajan yalnızca bu hesabın içinde çalışır.

AI Operatörü kendi verinizle çalışır

Adrasis AI Operatörü, Konsol'un başka bir parçasıdır. Talimatlarınızı Konsol'daki sohbet paneli, e-posta, WhatsApp ve SMS üzerinden iletirsiniz; AI Operatörü de kataloğunuz, fiyatlarınız, kontratlarınız ve dağıtımınızla ilgili işi hazırlar. Yalnızca veri okuyan talepler hemen yanıtlanır. Veriyi değiştiren her işlem önce onayınıza sunulur ve onayladığınızda uygulanır. AI Operatörü başka bir organizasyonun verisini okumaz. Nasıl çalıştığını AI Operatörü bölümünde görebilirsiniz.

Ajan hangi araçları çağırabilir?

Her araç tek bir REST işlemine karşılık gelir; o işlemin istek ve yanıt şemalarını kullanır. Araçlar ürüne göre gruplanır; her biri iki scope'tan birini gerektirir.

Konaklama

Oteller, tatil evleri, villalar ve apart daireler için referans veriler, tesis içeriği, müsaitlik araması ve rezervasyonun tüm yaşam döngüsü.

Araç Ne yapar Scope
search_property_availability En fazla 100 tesisin her biri için en düşük fiyatlı teklifi bulur. distribution:read
search_place_availability Bir destinasyondaki en düşük fiyatlı teklifleri, sayfa başına en fazla 100 tesisle bulur. distribution:read
list_countries Ülkeleri ID, ISO kodu ve yerelleştirilmiş adlarıyla listeler. distribution:read
list_place_types Sekiz yer tipini ve her ülkede hangilerinin aranabildiğini listeler. distribution:read
list_places Destinasyonları ülke, tip, üst bölge ya da ada göre bulur. distribution:read
list_properties Channel Portfolio'daki tesis içeriğini fiyatsız listeler. distribution:read
get_property Tek bir tesisin tüm içeriğini getirir. distribution:read
prebook Seçilen teklifi yeniden fiyatlar; ön rezervasyon token'ını, eşleşme durumunu ve iptal politikasını döndürür. distribution:booking
book Rezervasyonu, güvenli tekrar deneme için idempotency anahtarıyla kesinleştirir. distribution:booking
get_booking Tek bir rezervasyonu okur ya da bekleyen rezervasyonu izler. distribution:booking
list_bookings Rezervasyonları kendi referansınız, bir tarih aralığı ya da son değişikliklerle uzlaştırır. distribution:booking
cancellation_quote Hiçbir şeyi değiştirmeden iptal bedelini gösterir. distribution:booking
cancel Rezervasyonu iptal eder ve bedelini uygular. Tekrarlamak güvenlidir. distribution:booking

Tek bir tesis için yirmiye kadar seçenek listeleyen teklif araması yalnızca REST üzerinden kullanılabilir.

Transfer, tur ve uçuş

Her ürün, konaklamadaki arama, ön rezervasyon ve rezervasyon sırasını izler. Uçuşlar charter uçuşlardır; gidiş-dönüş bir yolculuk iki ayrı uçuş olarak aranır.

Araç Ne yapar Scope
search_transfers İki bölge arasındaki transfer tekliflerini hizmet tarihi ve yolcu grubuna göre bulur. distribution:booking
prebook_transfer Transfer teklifini yeniden fiyatlar; ön rezervasyon token'ını iptal koşullarıyla birlikte döndürür. distribution:booking
book_transfer Transferi idempotency anahtarıyla kesinleştirir. distribution:booking
search_tours Bir turun kalkış tarihindeki tekliflerini yolcu grubuna göre bulur. distribution:booking
prebook_tour Tur teklifini yeniden fiyatlar; ön rezervasyon token'ını iptal koşullarıyla birlikte döndürür. distribution:booking
book_tour Turu idempotency anahtarıyla kesinleştirir. distribution:booking
search_flights Charter uçuş tekliflerini kalkış tarihi ve yolcu dağılımına göre bulur. distribution:booking
prebook_flight Uçuş teklifini yeniden fiyatlar; ön rezervasyon token'ını iptal koşullarıyla birlikte döndürür. distribution:booking
book_flight Uçuş rezervasyonunu idempotency anahtarıyla kesinleştirir. distribution:booking

Paketler

Paket, ajanın önceden seçtiği ve en az iki ürün tipine yayılan 2 ile 5 arası hizmeti tek bir kapsayıcı fiyatla satar. Ya bütün hizmetler onaylanır ya da hiçbiri onaylanmaz. Rezervasyondan sonra paket get_booking, cancellation_quote ve cancel ile okunur ve iptal edilir; son ikisi paketin içindeki tek bir hizmeti de hedefleyebilir.

Araç Ne yapar Scope
search_packages Seçilmiş 2 ile 5 arası hizmeti tek kapsayıcı fiyatlı bir teklifte birleştirir. distribution:booking
prebook_package Her hizmeti yeniden kontrol eder; eşleşme durumunu, yasal bilgilendirmeyi ve ön rezervasyon token'ını döndürür. distribution:booking
book_package Paketin tamamını tek seferde kesinleştirir: ya bütün hizmetler onaylanır ya da hiçbiri. distribution:booking

Seyahat gruplama

Seyahat (trip), onaylanmış rezervasyonları tek bir güzergâhta toplar. Her rezervasyon kendi tutarını, iptal politikasını ve yaşam döngüsünü korur; bu yüzden seyahat hiçbir zaman fiyatlı bir pakete dönüşmez.

Araç Ne yapar Scope
create_trip Onaylanmış rezervasyonları tek bir seyahatte toplar; tutarlar ayrı kalır. distribution:booking
get_trip Seyahati, içindeki rezervasyonlar ve para birimi bazında toplamlarla birlikte okur. distribution:booking
add_trip_member Mevcut bir rezervasyonu seyahate ekler. distribution:booking
remove_trip_member Rezervasyonu, kendisine dokunmadan seyahatten çıkarır. distribution:booking
cancel_trip Seyahatteki bütün rezervasyonları iptal eder ve her birinin sonucunu bildirir. distribution:booking

Ajan bir konaklamayı nasıl rezerve eder?

Dokümanlarda tarif edilen akış, coğrafyadan iptale kadar sekiz adımdan oluşur. Ajan iki noktada durup kullanıcısının onayını alır: rezervasyondan önce ve iptalden önce.

  1. Coğrafyayı belirleyin. list_countries, list_place_types ve list_places ile ülkeyi, o ülkede aranabilen yer tiplerini ve Antalya gibi destinasyonun kendisini bulun.
  2. Fiyatsız bağlamı kurun. Channel Portfolio'daki tesis içeriğini list_properties ve get_property ile okuyun. İkisi de satış noktası almaz.
  3. Arayın. Bilinen tesisler için search_property_availability, bir destinasyonu taramak için search_place_availability aracını çağırın. Oda yerleşim tercihini belirtin: strict her odayı istendiği gibi korur, flexible grubu dokuz odaya kadar dağıtabilir. Seçilen teklifin selection_token değerini sunucu tarafında saklayın.
  4. Ön rezervasyon yapın. Bu token'ı prebook aracına verin; araç teklifi yeniden fiyatlar. Eşleşme durumunu ve iptal politikasını okuyun, ikisini de kullanıcıya onaylatın.
  5. Rezervasyonu kesinleştirin. book aracını misafir ve iletişim bilgileriyle birlikte benzersiz bir idempotency_key göndererek çağırın. Aynı anahtarla yapılan tekrar deneme ikinci bir rezervasyon açmaz, ilk rezervasyonu döndürür.
  6. Sonucu izleyin. Rezervasyon beklemede dönerse, örneğin tesisin kabulünü bekleyen bir fiyatta, durum netleşene kadar get_booking ile sorgulayın.
  7. Uzlaştırın. Hesaptaki rezervasyonları list_bookings ile, kendi agency_reference değerinize ya da sınırlı bir tarih veya değişiklik aralığına göre eşleştirin. Sonuçlarda misafirlerin kişisel verileri yer almaz.
  8. İstenirse iptal edin. Bedeli cancellation_quote ile gösterin; cancel aracını yalnızca kullanıcı onayladığında çağırın.

Ön rezervasyon envanteri tutmaz. Müsaitlik book çalıştığında yeniden kontrol edilir; son oda iki adım arasında başkasına satılmışsa ajan yeniden arama yapar. Ön rezervasyon token'ı 30 dakika geçerlidir ve yalnızca bir rezervasyon açar.

Sunucu üzerinden ödeme alınmaz. Satışın kayıtlı satıcısı (merchant of record) partner olarak kalır. Kart tahsilatı ya da depozito takvimi gibi başka bir yerde ödeme adımı gerektiren fiyatlar bu yolla rezerve edilemez.

Ajan kimliğini nasıl doğrular?

REST entegrasyonunun kullandığı OAuth 2.0 client credentials akışıyla. Ajan oturumu, kimliğini bir REST istemcisiyle tamamen aynı şekilde doğrular.

Partner, client ID ve client secret bilgilerini https://ari.console.adrasis.com/api/v1/oauth/token adresinde bir erişim token'ıyla takas eder. Token bir saat geçerlidir ve refresh token verilmez; süresi dolduğunda ajan aynı bilgilerle yeni bir token ister. Dokümantasyon, her çağrıda yeni token istemek yerine tek bir token'ı saklayıp süresi dolmadan kısa bir süre önce yenilemeyi önerir.

Token, MCP oturumunun Authorization başlığında taşınır. Partner hesabı ve token'ın scope'ları her araç çağrısına değiştirilmeden aktarılır; aracın gerektirdiği scope token'da yoksa çağrı reddedilir.

İki scope

Scope Neleri kapsar
distribution:read Referans veriler, tesis içeriği ve konaklama müsaitlik araması.
distribution:booking Konaklamada ön rezervasyon, rezervasyon, rezervasyon okuma, iptal bedeli özeti ve iptal; ayrıca arama araçları dahil bütün transfer, tur, uçuş, paket ve seyahat araçları.

Ajana yalnızca ihtiyaç duyduğu yetkiyi verin. Müsaitlik sorularını yanıtlayan ama hiçbir zaman rezervasyon yapmaması gereken bir ajan yalnızca distribution:read alır. Yeni kimlikler varsayılan olarak iki scope'u da aldığından, ajan için kimlik oluştururken en dar kümeyi seçin. Token, kimliğin sahip olduğundan daha dar bir scope ile de istenebilir. Hata kodları ve diğer ayrıntılar kimlik doğrulama rehberinde (İngilizce) yer alır.

Ajan neleri görebilir?

Yalnızca envanter sahibinin ona açtıklarını. Konaklamada bu, tek bir partner profilinin Channel Portfolio'sudur.

Tesis araçları yalnızca yayında olan ve seçilen profilin Channel Portfolio'sunda açık olan konaklama tesislerini döndürür. Her partner hesabı bir Default profille başlar; bu profil, hesabın oluşturulduğu anda yayında olan tesislerin anlık bir kopyasını taşır. Sonradan yayına alınan bir tesis, envanter sahibi açana kadar partnere kapalı kalır. Bir tesisi kapatmak onu yalnızca o profilin sonuçlarından çıkarır; tesisi silmez, diğer profillerde de kapatmaz.

Aynı partner farklı kitleler için ayrı kataloglara ihtiyaç duyarsa envanter sahibi hesaba yeni profiller ekler. Profile bağlı araçlar isteğe bağlı bir profile_public_id alanı kabul eder: bu alanı göndermezseniz Default profil kullanılır, gönderirseniz aynı hesaba ait başka bir profil seçilir. Her başarılı sonuç, gerçekte kullanılan profili de belirtir. Kimlikler profile değil hesaba ait olduğu için tek bir kimlik bütün profillerle çalışır.

Tesisi görmek, satabilmek anlamına gelmez

list_properties ve get_property portföyde açık olanı gösterir ve satış noktası almaz. Fiyatlar, envanter ve destinasyon kuralları bu sonucu ne genişletir ne de daraltır. Bir konaklamanın misafire satılıp satılamayacağına yalnızca müsaitlik araçları karar verir; bu araçlar misafirin satış noktasını ülke kodu olarak alır.

list_bookings profil seçiminin istisnasıdır. Rezervasyonları hesabın tamamında okur; buradaki profile_public_id yalnızca raporu belirli bir profilin oluşturduğu rezervasyonlarla sınırlar.

Erişim nasıl alınır?

Partneri envanter sahibi Adrasis Konsol'da tanımlar. Geliştirme, sertifikasyon ve canlı trafik aynı adresi kullanır.

  1. Partner hesabı

    Envanter sahibi Konsol'da Partner Ağı altındaki Partner Hesapları bölümünü açar ve bu ilişki için bir hesap oluşturur. Default profil hesapla birlikte gelir.

  2. Channel Portfolio

    Envanter sahibi her profilde açılacak tesisleri tek tek, toplu olarak ya da ülke ve yer filtreleriyle açar.

  3. API kimlikleri

    Her ortam için ayrı adlandırılmış bir kimlik ve en dar scope kümesi. Gizli değer yalnızca bir kez gösterilir, bu yüzden hemen bir secret manager'a kaydedilir.

  4. Sertifikasyon ve canlıya geçiş

    Pilot kimlikler bir demo katalog görür. Kimlik canlı tedarike alındığında client ID, adres ve entegrasyon akışı değişmez.

Demo katalogdaki fiyat ve müsaitlikler test için üretilir; test rezervasyonları gerçek allotment'ı etkilemez ve ücret doğurmaz. Yine de her test rezervasyonunu iptal edin: açık kalan bir test rezervasyonu demo allotment'ı tutar ve tekrarlanan testler SOLD_OUT dönmeye başlayabilir.

Sabit bir istek tavanı yayımlanmaz. İstek sınırları her bağlantı için ayrıca belirlenir; trafiği artırmadan önce geçerli sınırları Adrasis'teki ilgili kişiyle teyit edin. Yeni kimlik ya da profil eklemek ek istek hakkı doğurmaz. Envanter sahibi bir kimliği hesabın API Erişimi sekmesinden yenileyebilir, devre dışı bırakabilir ya da iptal edebilir. Devre dışı bırakılan veya iptal edilen kimlik, ondan üretilmiş token'larla birlikte çalışmayı durdurur.

Envanter sahibinin yapacakları Partner Ağı ve API kimlikleri dokümanında anlatılır. Ekibiniz bir yapay zekâ ajanı geliştiriyor ve partner olmak istiyorsa bizimle iletişime geçin.

Ajanınızı bağlamaya hazır mısınız?

Kendi tedarikinizi kurmak için Konsol'u ücretsiz deneyin ya da geliştirdiğiniz ajanı ve ihtiyaç duyduğu erişimi bize anlatın.