---
title: "Travel Offer Data Lineage"
description: "Bir travel offer'ın supplier response'tan normalize edilmiş modele, cache'e, ranking'e ve booking handoff'a kadar veri soyunu izlenebilir hale getirin."
slug: "travel-offer-data-lineage"
translationKey: "architecture-travel-offer-data-lineage"
locale: "tr"
type: "guide"
category: "architecture"
tags: ["data-lineage","offer","traceability","debugging","observability"]
publishedAt: "2026-09-26"
updatedAt: "2026-09-26"
reviewedAt: "2026-09-26"
---

Travel offer data lineage, kullanıcıya gösterilen bir fiyatın **hangi supplier response'undan, hangi mapping/normalization kurallarıyla ve hangi cache/ranking kararlarından geçerek üretildiğini** açıklayabilmektir.

## Production senaryosu

Kullanıcı “€210 refundable” offer'a tıklıyor, landing'de €228 non-refundable görüyor. RCA için yalnız UI log'u yeterli değil; offer'ın tüm transformation zinciri gerekir.

## Lineage akışı

```text
Supplier Request
 -> Raw Response
 -> Parser Version
 -> Property Mapping
 -> Room/Rate Mapping
 -> Price Normalization
 -> Offer Fingerprint
 -> Cache Entry
 -> Ranking Features
 -> Rendered Result
 -> Click / Reprice / Booking
```

## Lineage key'leri

- request/correlation ID
- raw response reference
- provider
- parser/schema version
- canonical property ID
- mapping decision ID
- offer fingerprint
- price observation ID
- cache key/version
- ranking decision ID
- click/booking reference

## Raw data saklamak

Her raw response'u sonsuza kadar tutmak pahalı olabilir. Short retention + immutable object storage + hashed reference yaklaşımı kullanılabilir.

PII ve contractual data retention sınırları ayrıca uygulanmalıdır.

## Versioning

Lineage ancak transformation version'ları biliniyorsa anlamlıdır. Parser, normalization ve ranking rule versiyonları kaydedilmelidir.

## Failure modes

- raw/source reference kaybı,
- mapping kararının audit edilmemesi,
- cache entry version bilinmemesi,
- ranking feature snapshot saklanmaması,
- PII'nin gereksiz yere lineage'a kopyalanması.

## RCA kullanımı

Price mismatch incident'ında operator şu soruya cevap verebilmelidir:

“Bu kullanıcıya gösterilen exact offer hangi raw source, hangi rule version ve hangi observedAt ile üretildi?”

## Observability

- lineage completeness rate,
- missing raw reference,
- missing mapping decision,
- untraceable rendered offer,
- RCA resolution time,
- replay success rate.

## Alternatifler

Küçük sistemlerde correlation ID + structured logs yeterli olabilir. Dağıtık ve çok provider'lı platformlarda explicit lineage entity/store daha anlamlıdır.

## Production checklist

- stable correlation IDs
- source references
- transformation versions
- mapping decision IDs
- fingerprint/observation linkage
- ranking decision linkage
- retention policy
- PII minimization
- replay tooling
