---
title: "ARI vs Live Search vs Reprice: Hotel Fiyat ve Uygunluk Lifecycle"
description: "ARI, live search ve reprice/check akışlarını freshness, granularity, latency, booking confidence ve source-of-truth açısından karşılaştırın."
slug: "ari-vs-live-search-vs-reprice"
translationKey: "compare-ari-vs-live-search-vs-reprice"
locale: "tr"
type: "comparison"
category: "hotel"
tags: ["ari","live-search","reprice","hotel-pricing","availability"]
publishedAt: "2026-09-26"
updatedAt: "2026-09-26"
reviewedAt: "2026-09-26"
sources:
  - title: "Google Hotels — ARI overview"
    url: "https://developers.google.com/hotels/hotel-prices/dev-guide/ari-overview"
  - title: "Expedia Rapid — Price Check"
    url: "https://developers.expediagroup.com/rapid/lodging/shopping/price-check"
  - title: "Hotelbeds — CheckRates"
    url: "https://developer.hotelbeds.com/documentation/hotels/booking-api/"
---
ARI, live search ve reprice aynı "fiyat alma" işleminin üç versiyonu değildir. Üçü farklı **time horizon ve confidence level** taşır.

## Karşılaştırma matrisi

| Boyut | ARI | Live Search | Reprice / Check |
|---|---|---|---|
| Scope | Room/rate/date state | Request-specific availability/offers | Selected offer/rate |
| Trigger | Source sync/change | User/search request | User selection / pre-book |
| Cardinality | Çok geniş date/product matrix | Search context kadar | Tek/az offer |
| Latency expectation | Async/background | Interactive | Interactive, booking-critical |
| Freshness role | Sellability projection | Current searchable state | Transaction-near validation |
| Booking confidence | Orta | Yüksekçe | En yüksek |
| Typical output | availability/rate/restrictions | offers/rate keys | confirmed/changed/unavailable |

## ARI neyi çözer?

ARI = Availability, Rates & Inventory.

```text
property + room + rate plan + date
 -> inventory
 -> rate
 -> stop-sell
 -> min/max LOS
 -> CTA/CTD
```

ARI geniş state projection için uygundur. Kullanıcı tam search yapmadan önce sellability state'ini dağıtabilir.

Ama ARI snapshot booking guarantee değildir.

## Live Search neyi çözer?

Live Search request-specific context'i provider'a taşır:

- check-in/out,
- occupancy,
- market/point of sale,
- currency,
- hotel/destination.

Response gerçek search anındaki available offer set'ini üretir.

Çok supplier varsa latency budget + partial result yönetimi gerekir.

## Reprice neyi çözer?

Kullanıcı bir offer seçtikten sonra booking öncesi dar scope'ta state yeniden doğrulanır.

Örnek provider pattern'leri:

- Expedia Rapid → Price Check,
- Hotelbeds → CheckRates when RECHECK,
- flight/NDC → offer refresh/revalidate.

Reprice sonucu:

```text
MATCHED
PRICE_CHANGED
UNAVAILABLE
EXPIRED
POLICY_CHANGED
```

gibi explicit state'e map edilmelidir.

## Neden üçünü birlikte kullanabilirsiniz?

```text
ARI/cache
  -> broad discovery
  -> live search
  -> selected offer
  -> reprice/check
  -> booking
```

Bu pattern coverage ve latency için broad state'i kullanırken booking confidence'ı final validation ile artırır.

## Freshness modeli

Tek `updatedAt` alanı yeterli değildir.

Ayrı timestamp'ler:

- ariObservedAt,
- searchObservedAt,
- repriceObservedAt,
- bookingAttemptedAt.

Eski ARI snapshot yeni reprice sonucunu ezmemelidir.

## Failure modes

**ARI**
- stale inventory,
- lost restriction delta,
- date/rate-plan mapping drift.

**Live Search**
- timeout,
- partial suppliers,
- inconsistent tax semantics,
- quota pressure.

**Reprice**
- price changed,
- rate expired,
- sold out,
- policy changed,
- selected offer identity lost.

## Product davranışı

Search result fiyatını “confirmed booking price” etiketiyle göstermeyin.

Reprice fiyatı değişirse kullanıcıya explicit reconfirmation gerekir.

Final booking create timeout'u da reprice success'ten ayrı transaction state'tir.

## Checklist

- [ ] ARI source/version timestamp var mı?
- [ ] Search observation ayrı mı?
- [ ] Offer identity reprice'a kadar korunuyor mu?
- [ ] PRICE_CHANGED UX tanımlı mı?
- [ ] Reprice retry policy var mı?
- [ ] Booking UNKNOWN state modelleniyor mu?
- [ ] Price accuracy search→landing→booking ayrı ölçülüyor mu?
