---
title: "Hotel Price Mismatch Nasıl Debug Edilir?"
description: "Metasearch, OTA ve hotel booking engine arasında görülen fiyat uyuşmazlıklarını kanıt bazlı bir triage ve RCA akışıyla teşhis edin."
slug: "hotel-price-mismatch-troubleshooting"
translationKey: "troubleshooting-hotel-price-mismatch"
locale: "tr"
type: "troubleshooting"
category: "troubleshooting"
tags: ["hotel","price-accuracy","mismatch","debugging","metasearch"]
publishedAt: "2026-09-26"
updatedAt: "2026-09-27"
reviewedAt: "2026-09-27"
technicalVerifiedAt: "2026-09-27"
codeExampleStatus: "illustrative"
---

Hotel price mismatch, metasearch'te gösterilen offer ile click sonrası landing veya booking engine'de görülen fiyatın aynı olmamasıdır. İlk amaç “hangi sistem yanlış?” demek değil, **aynı search context'in gerçekten karşılaştırılıp karşılaştırılmadığını** kanıtlamaktır.

## Symptom

Kullanıcı aynı hotel, tarih ve occupancy için listede bir fiyat görür; provider'a geçtiğinde fiyat yükselir, currency değişir, room/rate farklılaşır veya offer unavailable olur.

## Possible causes

- **Context:** dates, occupancy, child ages, residency, currency veya locale farklıdır.
- **Rate identity:** room/rate plan canonical eşleşmesi bozulmuştur.
- **Tax/fee:** total vs base price veya inclusive/exclusive model karışmıştır.
- **Freshness:** cache veya feed güncel değildir.
- **Provider:** click sonrası supplier yeniden fiyatlamıştır.
- **Landing:** deeplink search context'i korumuyordur.

## Diagnosis

1. Aynı request'i correlation ID ile yeniden üretin.
2. Search input'un canonical halini kaydedin.
3. Gösterilen offer'ın provider response snapshot'ını bulun.
4. Click URL içindeki dates/occupancy/currency parametrelerini karşılaştırın.
5. Landing'de görülen room/rate ve total price'ı kaydedin.
6. Farkın **context, component veya freshness** kaynaklı olup olmadığını sınıflandırın.

## Toplanması gereken kanıt

En az şu alanları tek incident kaydında tutun:

```json
{
  "hotelId": "H123",
  "checkIn": "2026-10-12",
  "checkOut": "2026-10-14",
  "adults": 2,
  "children": [],
  "currency": "EUR",
  "roomId": "R9",
  "ratePlanId": "RP2",
  "base": 180.00,
  "taxes": 22.00,
  "fees": 8.00,
  "total": 210.00,
  "observedAt": "2026-09-26T09:00:00Z"
}
```

## Karar ağacı

**Context aynı mı?** Hayırsa mismatch değildir; request propagation problemidir.

**Context aynı, room/rate aynı mı?** Hayırsa mapping veya deeplink problemidir.

**Room/rate aynı, component toplamı farklı mı?** Tax/fee normalization'ı inceleyin.

**Her şey aynı ama zaman farkı yüksek mi?** Cache/freshness ihtimalini test edin.

**Snapshot güncel ama landing farklı mı?** Provider-side reprice veya landing logic'i doğrulayın.

## Yanıltıcı belirtiler

Currency conversion rounding, per-night vs stay-total gösterimi, “from” price, member/mobile rate ve refundable/non-refundable farkı gerçek price mismatch gibi görünebilir.

## Recovery

Fix sonrası aynı context ile en az üç aşamayı tekrar ölçün: **search response → rendered price → landing price**. Sadece UI düzelmişse incident kapanmamalıdır.

## Observability

- search-to-landing price delta,
- mismatch rate,
- unavailable-after-click rate,
- stale-offer age,
- provider bazlı price accuracy.

## Prevention

Offer snapshot, context hash, room/rate identity ve price component'lerini birlikte loglayın. Mismatch alert'i yalnız total fiyat değil context eşitliği sağlandıktan sonra üretin.
