Gelir yönetimi & dinamik fiyatlandırma, tek fiyat beyninden
Aurora'nın fiyat beyni tek kaynaklıdır: PricingEngine. Ön yüz gösterimi, canlı toplam, sepet doğrulaması ve admin aynı motordan geçer — 1296 senaryoda ön yüz ile 0 uyuşmazlık kanıtlanmıştır. Ana fiyat takvimde ham kalır; sezon, kanal, doluluk ve kampanya rezervasyon anında üstüne uygulanır. Kural silinince her yer otomatik eski fiyata döner.
Ana fiyat ham kalır, kural rezervasyon anında üstüne uygulanır
Klasik yaklaşımlarda fiyatı elle değiştirmek geri dönüşü zorlaştırır. Aurora'da fiyat iki katmanlıdır: ham ana fiyat takvimde durur, final fiyat (pansiyon/çocuk/ek yatak işlenmiş) rate cache'te oluşur. Sezon, özel gün, hafta sonu, kanal ve doluluk kuralları ile kampanyalar bu ham fiyatın üstüne rezervasyon anında uygulanır. Kural yoksa base değişmez — parite korunur; kural aktifse ayarlı, pasif veya silinince yeniden base. Bu revert davranışı doğrulanmıştır.
Beş kural tipi, oda tipi hedefli, öncelik sıralı
Her kural yüzde, sabit tutar veya çarpan olarak zam ya da indirim uygular; kurallar TYPE_ORDER ve priority ile sıralı zincirde işlenir. Boş tarih aralığı tüm yıl anlamına gelir.
Sezon kuralı
Yüksek/düşük sezon fiyat farkı; tarih aralığı, oda tipi hedefleme ve öncelik. Pozitif değer zam, negatif indirim.
Özel gün kuralı
Bayram, yılbaşı, festival gibi belirli günlerde fiyat ayarı; sezondan sonra işlenir.
Hafta içi / hafta sonu
Haftanın günlerine göre fiyat farkı (Cuma-Cumartesi zammı vb.); gece bazında gün kontrolü.
Kanal fiyat farkı
Kanala göre farklı fiyat (site vs OTA komisyon telafisi); ilgili kanal sorgusunda uygulanır.
Doluluk bazlı (yield)
Doluluk arttıkça fiyatı otomatik yükseltir; canlı doluluk (inv−free)/inv olarak müsaitlik motorundan hesaplanır.
Kural motoru iç işleyiş
loadPricingRules kanal + oda tipi + tarih kesişimini filtreler; applyRulesForNight gece bazında kontrol eder; applyAdjustment percent/fixed/multiplier zincirini uygular.
Kupon, erken rezervasyon ve grup indirimleri
Kampanyalar & Gelir Yönetimi menüsünden indirim ve promosyonları tanımlayın. Kampanya tabloları otel ve oda tipi hedeflemeyi Select2 çoklu seçimle destekler; çakışma varsayılanı en yüksek indirimdir (best-price).
- Kupon kodu, ön ödeme indirimi, erken rezervasyon ve grup indirimi alanları.
- Durumlar: ACTIVE / PASSIVE / DRAFT / ARCHIVED; EXPIRED ve SCHEDULED tarihten türetilir, saklanmaz.
- Kopyala: kampanyayı pivotlarıyla birlikte taslak olarak çoğaltır (usage_count sıfırlanır).
- Merkezi validasyon: ters tarih, yüzde 0-100, sabit değer ≥ 0, min ≤ maks gün — hepsi Türkçe mesaj.
- Çok para birimli fiyatlama ile uyumlu.
Fiyat simülasyonu ve snapshot ile şeffaf, dondurulmuş fiyat
Rezervasyon yapmadan fiyatın nasıl oluştuğunu görün; geçmiş rezervasyonların kırılımını sonsuza dek dondurun. Şeffaflık hem operasyonu hem misafir güvenini artırır.
- Fiyat simülasyon ekranı: otel → oda, tarih, yetişkin, çocuk yaşları, kanal ve kupon girip anlık kırılım alın — Temel Fiyat, Sezon, Özel Gün, Hafta İçi/Sonu, Kanal, Doluluk farkı, Kampanya İndirimi ve SON FİYAT + gece gece tablo.
- Fiyat snapshot: rezervasyon anında raw_base, sezon/özel gün/hafta sonu/kanal/doluluk ayarları, kampanya indirimi ve final toplam JSON olarak dondurulur.
- Sonradan kural veya kampanya değişse de geçmiş korunur; rez detayında "Fiyat Kırılımı" kartı (zam yeşil, indirim kırmızı).
- Uygulanan kampanyalar ve birincil kampanya id'si snapshot'ta saklanır.
Kural, kampanya ve kanal gelir etkisini ölçün
Kural etkisi tablosu
Temel → sezon/özel/hafta/kanal/doluluk → kurallı → kampanya → net akışı; hangi kuralın ne kadar getirdiğini gösterir.
Kampanya performansı
Birincil kampanya id'si bazlı gelir katkısı; hangi promosyonun gerçekten dönüştüğü ölçülür.
Kanal bazlı gelir
Site, acente ve walk-in kanallarının gelir katkısı; kanal fiyat farkı kuralının etkisi görünür.
Kural tanımından dondurulmuş fiyata: dört adım
Kural & kampanya tanımla
Sezon, özel gün, hafta sonu, kanal ve doluluk kurallarını oda tipi hedefli tanımlayın; kupon, erken rezervasyon ve grup kampanyalarını ekleyin.
Simüle et
Fiyat simülasyon ekranında otel, oda, tarih, kişi, kanal ve kupon girip son fiyatı ve gece gece kırılımı rezervasyon yapmadan görün.
Tek motor uygular
Ön yüz, sepet, checkout ve admin aynı PricingEngine'i okur; kurallar TYPE_ORDER ve priority sırasıyla ham fiyatın üstüne uygulanır.
Snapshot dondurur
Rezervasyon anında fiyat kırılımı JSON snapshot'a alınır; sonradan kural değişse de geçmiş rezervasyonun fiyatı korunur.
1296 senaryoluk parite kanıtı — tek kaynak, sıfır tutarsızlık
PricingEngine sistemdeki tek fiyat hesaplama otoritesidir. quote() metodu oda, tarih, yetişkin, çocuk, kanal ve kupon girdisiyle gece gece kırılım ve toplam üretir. Tüm gösterim ve satış noktaları aynı motoru okuduğu için müşteri ile panel arasında tutarsızlık yapısal olarak imkânsızdır.
- applyRulesToDailyPrices() takvim/önizleme için kuralları hızlı salt-okuma uygular (kampanya hariç).
- Hata durumunda eski motora otomatik düşme (try/catch yedek) — checkout asla bloke olmaz.
- Yetişkin modeli A=1 / A=2 / A>2 ayrı fiyatlanır; çocuk yaşına göre değerlendirilir.
- Tüm motora bağlı ekranlar etkin fiyatı gösterir; yalnızca Toplu İşlemler → Fiyat editörü ham fiyatı gösterir (revert için, kasıtlı).
İlgili modüller
Channel Manager
Kanal fiyat farkı kuralıyla OTA komisyonunu telafi edin; fiyatlar tek envanterden kanallara gider.
İnceleWeb Sitesi & Booking Engine
Sitede gösterilen /Gece fiyatı ve checkout toplamı doğrudan bu kural motorundan beslenir.
İnceleRaporlama & İş Zekâsı
ADR, RevPAR ve doluluk metrikleriyle fiyat kararlarınızın gelir etkisini ölçün.
İnceleGelir yönetimi hakkında sık sorulanlar
Sistemdeki tek fiyat hesaplama otoritesi PricingEngine'dir. Ön yüz gösterimi, canlı toplam, sepet/booking doğrulaması ve admin aynı motordan geçer; 1296 senaryoda ön yüz ile 0 uyuşmazlık kanıtlanmıştır. Aynı girdilerle her yerde birebir aynı fiyat üretilir — "bir yerde farklı, başka yerde farklı fiyat" durumu yapısal olarak imkânsızdır.
Sezon, özel gün (bayram/yılbaşı/festival), hafta içi/hafta sonu, kanal (site vs OTA komisyon telafisi) ve doluluk bazlı (yield) kurallar. Her kural yüzde, sabit tutar veya çarpan olarak zam ya da indirim uygular; ayrıca kupon, erken rezervasyon ve grup kampanyaları tanımlanır. Kurallar oda tipi hedefli, öncelik sıralı ve gece bazında kontrollüdür.
Evet. Ana fiyat takvimde ham kalır; sezon/kanal/doluluk/kampanya rezervasyon anında üstüne uygulanır. Kural silinince veya pasife alınınca her yer otomatik eski (base) fiyata döner. Bu revert davranışı doğrulanmıştır: kural yok = base, aktif = ayarlı, pasif/sil = base. Toplu fiyat işlemleri de önizleme, onay ve geri alma ile korunur.
Hayır. Rezervasyon anında fiyat snapshot alınır: ham temel fiyat, sezon/özel gün/hafta sonu/kanal/doluluk ayarları, kampanya indirimi ve son toplam JSON olarak dondurulur. Sonradan kural veya kampanya değişse de geçmiş rezervasyonun fiyat kırılımı korunur; rezervasyon detayında "Fiyat Kırılımı" kartında zam yeşil, indirim kırmızı gösterilir.
Fiyatınızı tek beyinden, dinamik yönetmeye başlayın
Sezon, doluluk ve kanal kurallarıyla geliri artırın; tek kaynak motorla panel ile misafir arasında sıfır tutarsızlık.