Skip to main content

Otel PMS Entegrasyonu

AnchorSpot, otel Mülk Yönetim Sistemleri (PMS) ile entegre olarak misafirlerin oda numarası ve soyadıyla Wi-Fi erişimi sağlamasını mümkün kılar. Check-out anında bağlantı otomatik olarak kesilir; böylece rezervasyon süresiyle Wi-Fi erişimi tam uyum içinde yönetilir.

Desteklenen PMS Sistemleri

PMSSürümEntegrasyon Yöntemi
Opera (Oracle Hospitality)5.x, Cloud EditionREST API (OHIP)
Protel (Peach Works)Air, On-PremiseXML/SOAP + REST
MewsTüm bulut sürümleriMews Connector API

:::info Özel Entegrasyon Listede bulunmayan PMS sistemleri için AnchorSpot'un genel PMS adaptör katmanı kullanılabilir. SiperOne destek ekibiyle iletişime geçin. :::

Giriş Akışı

Misafir → Oda no + Soyad girer → PMS doğrular → Bağlantı sağlanır
  1. Misafir captive portal'da oda numarasını ve soyadını girer.
  2. AnchorSpot, yapılandırılmış PMS API'sine kimlik doğrulama isteği gönderir.
  3. PMS, aktif rezervasyon kaydını kontrol eder; bilgiler eşleşiyorsa authorized yanıtı döner.
  4. Misafirin MAC adresi kabul listesine alınır ve oturum başlatılır.
  5. Check-out zamanında PMS webhook'u tetiklenir; AnchorSpot CoA (Change of Authorization) paketi göndererek bağlantıyı keser.

API Akışı

PMS Doğrulama İsteği

Captive portal, misafir bilgilerini aşağıdaki endpoint aracılığıyla doğrular:

curl -X POST https://<portal-host>/api/v1/hotspot-portal/pms/verify \
-H "Content-Type: application/json" \
-d '{
"room_number": "214",
"last_name": "Yılmaz",
"mac": "aa:bb:cc:dd:ee:ff",
"ssid": "Otel-WiFi"
}'

Başarılı yanıt:

{
"status": "authorized",
"session_id": "sess_pms_4f9c",
"guest_name": "Ahmet Yılmaz",
"checkout_at": "2026-06-10T12:00:00Z",
"redirect_url": "https://..."
}

Hata durumları:

{ "error": "room_not_found", "message": "Oda bulunamadı." }
{ "error": "name_mismatch", "message": "Soyad eşleşmiyor." }
{ "error": "reservation_inactive", "message": "Aktif rezervasyon yok." }
{ "error": "pms_unavailable", "message": "PMS bağlantısı kurulamadı." }

Check-out Webhook (PMS → AnchorSpot)

PMS, check-out gerçekleştiğinde AnchorSpot'a bildirim gönderir:

curl -X POST https://<anchorspot-host>/api/v1/pms/webhook/checkout \
-H "Authorization: Bearer <webhook-secret>" \
-H "Content-Type: application/json" \
-d '{
"event": "checkout",
"room_number": "214",
"property_id": "istanbul-merkez"
}'

Bu webhook alındığında AnchorSpot, ilgili odadaki tüm aktif oturumlar için RADIUS CoA (RFC 3576) paketi göndererek bağlantıyı sonlandırır.

:::warning CoA Gecikmesi CoA paketi, access point'e ulaşana kadar birkaç saniye gecikme yaşanabilir. Check-out saatinde tam kesim kritik ise CHECKOUT_GRACE_SECONDS parametresini 0 olarak ayarlayın (varsayılan: 30). :::

Konfigürasyon

Ayarlar → Kimlik Doğrulama → PMS bölümünden:

ParametreAçıklamaÖrnek
PMS_PROVIDERPMS türüopera, protel, mews
PMS_API_ENDPOINTPMS API adresihttps://pms.oteli.com/api
PMS_API_KEYAPI kimlik bilgisiBearer abc123
PMS_PROPERTY_IDÇok mülk desteği için mülk kimliğiistanbul-merkez
PMS_ROOM_FORMATOda numarası formatı (regex)^[0-9]{1,4}[A-Z]?$
PMS_NAME_MATCH_MODEAd karşılaştırma moduexact, startswith, fuzzy
PMS_CACHE_TTL_SECPMS yanıtı önbellekleme süresi60
CHECKOUT_GRACE_SECONDSCheck-out sonrası bağlantı süresi30

Opera (OHIP) Konfigürasyon Örneği

PMS_PROVIDER=opera
PMS_API_ENDPOINT=https://opera.oteli.com/ohip/v1
PMS_API_KEY=Bearer eyJhbGc...
PMS_PROPERTY_ID=ISTANBUL01
PMS_NAME_MATCH_MODE=startswith

Mews Konfigürasyon Örneği

PMS_PROVIDER=mews
PMS_API_ENDPOINT=https://api.mews.com/api/connector/v1
PMS_API_KEY=<client-token>|<access-token>
PMS_PROPERTY_ID=<enterprise-id>

Çok Mülk (Multi-Property) Desteği

Birden fazla otel mülkü aynı AnchorSpot kurulumundan yönetilebilir. Her mülk bağımsız bir PMS bağlantısına sahip olabilir:

İstanbul Merkez → Opera OHIP
Bodrum Resort → Mews Connector
Ankara Otel → Protel Air

SSID bazında hangi PMS mülkünün kullanılacağı Ağlar → [SSID] → PMS Profili ekranından seçilir.

Misafir Yaşam Döngüsü

Rezervasyon oluşturulur → Check-in → Wi-Fi erişim aktif → Check-out → Bağlantı kesilir

Erken check-out, uzatma ve oda değişikliği gibi durumlar PMS webhook'ları aracılığıyla anlık olarak işlenir.

:::tip Oda Değişikliği PMS'den room_change olayı alındığında eski oda oturumu kapatılır, yeni odaya ait oturum otomatik devreye girer. Misafirin yeniden giriş yapması gerekmez. :::

Sorun Giderme

PMS Bağlantısı Kurulamıyor

  1. PMS_API_ENDPOINT adresinin AnchorSpot sunucusundan erişilebilir olduğunu doğrulayın (curl ile test edin).
  2. API kimlik bilgisinin (PMS_API_KEY) güncel olduğunu PMS yönetim panelinden kontrol edin.
  3. PMS sağlayıcısının IP izin listesine AnchorSpot sunucusunun IP adresini ekleyin.

Soyad Eşleşmiyor

PMS_NAME_MATCH_MODE=startswith ile soyadın yalnızca ilk birkaç karakteri karşılaştırılır. Bu, yazım hatalarını tolere eder. Güvenlik açısından hassas ortamlarda exact modu tercih edilmelidir.

CoA Çalışmıyor

  • RADIUS sunucusunun CoA portunu (UDP 3799) dinlediğinden emin olun.
  • Access point'in CoA desteğini ve AnchorSpot IP'sinin whitelist'te olduğunu doğrulayın.
  • journalctl -u anchorspot-radius çıktısında CoA hatalarını arayın.