Travel Feed Nedir? XML, JSON ve Metasearch Veri Akışları

Hotel list, rate, availability, room metadata ve landing page feed'lerinin ne olduğunu; API'den farkını ve production tasarım prensiplerini öğrenin.

Editoryal bilgi
Advertisement

Feed, bir sistemden diğerine düzenli ve machine-readable veri aktarmak için kullanılan structured data akışıdır.

Travel entegrasyonlarında XML, JSON, CSV veya platform-specific formatlar kullanılabilir. Feed kelimesi tek bir dosya anlamına gelmez; data contract, update stratejisi ve processing lifecycle'ı da kapsar.

Feed hangi problem için uygundur?

Feed özellikle bulk veya tekrarlı senkronizasyonda kullanışlıdır. Feed, sık değişmeyen veya toplu taşınması verimli olan property, ürün, içerik ve katalog verilerini düzenli biçimde aktarmak için uygundur. Gerçek zamanlı fiyat ve availability için çoğu zaman API veya push/query modeli gerekir.

Örnekler:

  • hotel master data,
  • static content,
  • room metadata,
  • rate-plan metadata,
  • landing page configuration.

Her kullanıcı aramasında değişen live availability için feed tek başına yeterli olmayabilir.

Hotel List feed

Property identity verisini taşır.

Tipik alanlar:

  • partner hotel ID,
  • name,
  • address,
  • country,
  • coordinates,
  • phone,
  • website.

Bu feed mapping kalitesinin temelidir.

Room ve rate metadata

Room/rate display için şu bilgiler taşınabilir:

  • room name,
  • occupancy,
  • bed information,
  • meal,
  • cancellation policy,
  • rate-plan name.

Pricing verisinin user-facing anlamı metadata ile birlikte oluşur.

Pricing ve availability

Bazı sistemler rate/inventory değişikliklerini push veya feed tarzı akışlarla iletir.

Kritik boyutlar:

  • effective date,
  • stay date,
  • inventory,
  • restrictions,
  • currency,
  • tax/fee scope.

Landing page feed

Metasearch offer click sonrası doğru booking page'e gitmelidir.

Landing configuration URL template, language, currency, device ve campaign parametrelerini içerebilir.

Feed ve API farkı

Feed genellikle producer-driven veya batch oriented'tır.

API çoğunlukla request/response ve on-demand erişim sağlar.

Pratikte bir entegrasyon ikisini birlikte kullanabilir:

  • static hotel data → feed,
  • live availability → API,
  • conversion → event/API.

Full feed vs incremental feed

Full

Tüm current state gönderilir.

Avantajı reconciliation'ın kolay olmasıdır. Dezavantajı büyük hacimdir.

Incremental

Sadece değişen kayıtlar gönderilir.

Avantajı verimliliktir. Dezavantajı change tracking ve recovery karmaşıklığıdır.

İyi sistem periyodik full snapshot ile incremental update'i birlikte kullanabilir.

Idempotency

Aynı feed iki kez işlendiğinde veri bozulmamalıdır.

Stable IDs ve deterministic upsert mantığı önemlidir.

Versioning

Schema değişiklikleri production entegrasyonlarını kırabilir.

Feed versioning için:

  • explicit version,
  • backward-compatible additions,
  • deprecation window,
  • contract tests

kullanın.

Validation

Göndermeden önce required fields, enum values, date formats, currency, duplicate IDs, invalid coordinates, malformed syntax ve referential integrity kontrol edilmelidir.

Observability

Takip edin:

  • generated records,
  • accepted records,
  • rejected records,
  • processing duration,
  • last successful sync,
  • schema errors,
  • source-data freshness.

Feed “dosya üretildi” diye başarılı sayılmamalıdır; downstream processing görünür olmalıdır.

Özet

İyi travel feed tasarımı:

stable identity + explicit schema + update strategy + validation + observability

gerektirir.

Feed'i dosya transferi değil data contract olarak düşünün

Production feed entegrasyonunda CSV/XML/JSON formatı yalnız taşıma biçimidir. Asıl contract; identity, schema version, mandatory field, update semantics ve deletion davranışıdır.

Örneğin bir hotel catalog feed'inde şu sorular cevaplanmalıdır:

  • provider property ID stable mı?
  • record full snapshot mı delta mı?
  • eksik field "değişmedi" mi "silindi" mi?
  • property kapanırsa nasıl tombstone edilir?
  • image/amenity listesi replace mi append mi?
  • schema version nasıl evolve olur?

Ingestion pipeline nasıl görünmeli?

text
Receive
  -> checksum / size validation
  -> schema validation
  -> record parsing
  -> canonical mapping
  -> business validation
  -> quarantine invalid records
  -> stage
  -> diff
  -> publish
  -> reconciliation report

Invalid tek record yüzünden tüm feed'i reddetmek ile hatalı record'u sessizce atlamak arasında kontrollü quarantine katmanı kurulmalıdır.

Failure mode'lar

  • aynı dosyanın iki kez işlenmesi,
  • partial upload'ın complete sanılması,
  • schema değişikliğinin parser'ı bozması,
  • deletion semantics'in kaybolması,
  • provider ID reuse,
  • encoding/locale problemi,
  • duplicate property,
  • stale feed'in yeni feed'den sonra işlenmesi.

Idempotency için feed run ID, checksum ve source timestamp tutulmalıdır.

KPI ve operasyon

  • records received/accepted/rejected,
  • duplicate rate,
  • mapping success,
  • quarantine count,
  • feed age,
  • ingest duration,
  • schema error distribution,
  • deleted/reactivated entities,
  • last successful publication.

Bir feed entegrasyonu "dosya geldi" ile değil, canonical data'nın güvenilir şekilde publish edilmesiyle başarılıdır.

Teknik danışmanlık

Bu problemi production’da mı yaşıyorsunuz?

Semptomu, veri akışını ve entegrasyon davranışını birlikte teknik olarak inceleyebiliriz.

Projenizi konuşalım →

Kaynaklar

İlgili içerikler

feed-platform

Google Hotel Feeds: Veri Sözleşmeleri ve Hata Yönetimi

google.com

Google Hotel List, fiyat, ARI, POI ve landing sözleşmelerini ayırın; güncelleme hatalarını teşhis edip yayınlama, kurtarma ve izleme akışlarını tasarlayın.

google-hotelsfeedhotel-list
İncele →
integration

Google Hotels Entegrasyonu: Developer Rehberi

developers.google.com

Google Hotels entegrasyonunu Hotel List, property mapping, Pull/Changed Pricing/ARI, Transaction XML, landing pages, OAuth2, request/response modelleri, error handling ve monitoring ile developer gözüyle uygulayın.

google-hotelshotelfeed
İncele →
integration

Skyscanner Flight API Entegrasyonu: Developer Rehberi

developers.skyscanner.net

Skyscanner Flights Live Prices API entegrasyonunu x-api-key auth, create/poll lifecycle, request-response modelleri, itinerary/leg/segment mapping, agent/pricing option, rate limit, polling ve observability ile developer gözüyle uygulayın.

skyscannerflightapi
İncele →
travel-ecosystem

Channex: White-Label Channel Manager API Profili

channex.io

Channex'i REST, webhook, staging ve OTA certification içeren developer-first white-label channel manager API olarak teknik biçimde inceleyin.

channexchannel-managerapi
İncele →
distribution

Direct Connect vs Channel Manager: Hotel Dağıtım Karşılaştırması

Hotel supplier'ın OTA/metasearch'e direct API ile bağlanması ile Channel Manager üzerinden dağıtım yapmasını mimari ve operasyonel trade-off'larla karşılaştırın.

direct-connectchannel-managerhotel-distribution
İncele →
comparison

Google Flights vs Skyscanner: Uçuş Metasearch Karşılaştırması

Google Flights ve Skyscanner'ı flight search, discovery, price tracking, API erişimi ve provider handoff açısından karşılaştırın.

google-flightsskyscannerflight
İncele →