Flight Fare Family, Baggage ve Ancillary Normalization
Farklı airline/GDS/NDC kaynaklarındaki fare family, baggage allowance ve ancillary'leri canonical flight offer modeline normalize edin.
Flight offer karşılaştırmasında yalnız total price normalize etmek yeterli değildir. Aynı itinerary farklı fare family, baggage ve ancillary içeriğiyle ekonomik olarak farklı üründür.
Canonical offer
Itinerary
Offer
-> Source
-> Fare family / brand
-> Cabin
-> Checked baggage
-> Carry-on baggage
-> Seat inclusion
-> Change/refund conditions
-> Included services
-> Optional ancillaries
-> Total priceFare family
Provider brand name'i canonical enum yapmak yerine provider brand + normalized attributes birlikte tutulmalıdır.
Örnek:
- Light,
- Economy Basic,
- EcoFly,
- Economy Saver
isim olarak eşdeğer değildir; baggage/refund/change özellikleri üzerinden karşılaştırılmalıdır.
Baggage
Ayrı modelleyin:
- piece concept,
- weight concept,
- carry-on,
- checked,
- per passenger,
- per segment/journey.
1PC ile 23KG aynı semantic değildir.
Ancillary
Seat, bag, meal, priority, lounge gibi services:
- included,
- optional-paid,
- unavailable,
- unknown
state'lerinden biriyle tutulmalıdır.
Dedup
Aynı flight + aynı price fakat farklı fare family veya baggage → duplicate değildir.
Offer fingerprint en az:
- itinerary,
- source,
- fare family attributes,
- baggage,
- refund/change,
- included services
içermelidir.
Failure modes
- brand name üzerinden yanlış equivalence,
- baggage unit kaybı,
- segment-level baggage'i itinerary-level göstermek,
- included ancillary'yi paid sanmak,
- source-specific restriction kaybı.
Observability
Normalization coverage, unknown baggage ratio, unknown fare-condition ratio, ancillary mapping gap ve cross-source mismatch izlenmelidir.
Benzer bir entegrasyon mu planlıyorsunuz?
Gereksinim, feed/API tasarımı ve production yaklaşımını birlikte değerlendirebiliriz.