Online Seyahat Acenteleri (OTA), API Entegrasyonları, Anlık Müsaitlik Senkronizasyonu ve Kanal Yöneticisi (Channel Manager) Teknolojileri
Konaklama, uçuş, transfer ve aktivite ürünlerini son tüketiciye internet üzerinden satan dijital aracı platformlardır. Stoğu üretmezler — tedarikçilerin envanterini toplar, dağıtır ve komisyon karşılığında satarlar.
Otelin envanterini (oda sayısı, fiyat, satış kuralları) tek bir merkezi panelden onlarca OTA'ya eşzamanlı dağıtan ve OTA'lardan gelen rezervasyonları PMS'e geri yazan ara yazılım katmanıdır.
Channel Manager'ın taşıdığı üç temel veri kümesi. Her değişiklik, saniyeler içinde tüm bağlı kanallara push edilir.
Hangi tarihlerde, hangi oda tipinde kaç oda satılabilir? Stop-sale ve kapalı tarih bilgileri.
Oda tipi × kanal × tarih × kişi sayısı bazında dinamik fiyatlama. Promosyon ve indirim kuralları.
Oda tipi, yatak konfigürasyonu, kahvaltı dahil/hariç gibi ürün varyantları ve restriksiyonlar.
OTA'da gelen rezervasyon CM üzerinden PMS'e yazılır; iptal ve değişiklikler de aynı yoldan döner.
Channel Manager, her OTA için ayrı bir adapter çalıştırarak bu protokol farklarını soyutlar.
10 odanın ayrı ayrı her kanala "10 müsait" olarak gösterilmesi yerine, Channel Manager tek havuz (pool) üzerinden saymayı yapar. Bir kanaldan satış olunca diğerleri saniyeler içinde günceller.
Channel Manager'ın Booking.com'a göndereceği OTA XML formatında basitleştirilmiş bir OTA_HotelAvailNotifRQ mesajı. Tek bir oda tipinin belirli tarihlerde 5 odaya çıkarıldığını bildirir.
<OTA_HotelAvailNotifRQ
xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="2026-04-21T09:30:00"
Version="3.0">
<AvailStatusMessages
HotelCode="HTL12345">
<AvailStatusMessage
BookingLimit="5">
<StatusApplicationControl
Start="2026-05-01"
End="2026-05-07"
InvCode="DBL-STD"
RatePlanCode="BAR"/>
<RestrictionStatus Status="Open"/>
</AvailStatusMessage>
</AvailStatusMessages>
</OTA_HotelAvailNotifRQ>
Google Hotel Ads ve Tripadvisor da meta-search modelinde çalışır.
Aynı OTA mantığının küçük ölçekli bir tur operatörü için uygulanışı: çoklu kaynak havuzu, tedarikçi atama, çok para birimli cari hesap ve gelecek aşama multi-tenant tedarikçi paneli.
Her tedarikçinin kendi para birimi (EUR/USD) tanımlıdır. Müşteriden farklı bir birimde tahsil edilen Rest tutarı, güncel kur ile tedarikçi birimine çevrilir ve cari hareketi olarak işlenir.
İki senaryoda da nihai cari, USD ana birime raporlanır; aylık hesaplaşmada netleştirilir.
Multi-tenant aşamada Seven Tours, tedarikçinin satış kanalı olarak işler. Her satışta önceden tanımlı komisyon oranı kesilir; kalan tutar tedarikçinin alacağı olarak supplier_ledger tablosuna işlenir.
-- Tedarikçi cari hareketi (multi-tenant)
INSERT INTO supplier_ledger (
tenant_id, -- tedarikçi (Aşama 2)
reservation_id,
direction, -- 'CREDIT' | 'DEBIT'
amount_supplier, -- tedarikçi para birimi
currency, -- 'EUR' | 'USD'
amount_usd, -- raporlama için
fx_rate, -- snapshot kur
description
)
SELECT
r.supplier_tenant_id,
r.id,
'CREDIT',
(r.sale_price - r.commission - r.rest_collected_eur),
s.currency,
(r.sale_price - r.commission - r.rest_collected_eur)
* fx.rate_to_usd,
fx.rate_to_usd,
'Tur tarihi netleşmesi: ' || r.bilet_no
FROM reservations r
JOIN suppliers s ON s.tenant_id = r.supplier_tenant_id
JOIN fx_rates fx ON fx.from_ccy = s.currency
AND fx.as_of = r.tour_date;
PostgreSQL Row-Level Security ile tenant izolasyonu: CREATE POLICY tenant_isolation ON tours USING (tenant_id = current_setting('app.tenant_id')::int);
Örn: Jeep Safari. Operasyonun temel ürün ailesi belirlenir.
Örn: Jeep Safari Botlu / Botsuz / Özel. Pakete göre tedarikçi havuzu filtrelenir.
Aynı paketi sunan birden fazla tedarikçi varsa yönetici manuel seçer. Doluluk ve fiyat dengelenir.
Otel listesi turun coğrafi bölgesiyle sınırlandırılır. Yanlış otel seçimi sistemsel olarak engellenir.
WhatsApp toplu bildirim gider, kırmızı→yeşil gösterge geçer; supplier_ledger hareketi tetiklenir.
Stoğu üretmez, dağıtır. Booking, Expedia, Airbnb klasik örnekleridir.
Onlarca OTA'yı tek panelden yöneten köprü. ARI senkronizasyonunun beyni.
Availability, Rates, Inventory — sürekli akan üç veri kümesi. Her saniye senkron.
Tüm kanallar tek havuzdan satar. Overbooking riskini minimize eder.
Booking/Expedia OTA-XML, modern oyuncular REST/JSON + webhook ile çalışır.
Trivago, Kayak rezervasyon almaz; tıklamayı OTA'ya CPC ile yönlendirir.