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
| PMS | Sürüm | Entegrasyon Yöntemi |
|---|---|---|
| Opera (Oracle Hospitality) | 5.x, Cloud Edition | REST API (OHIP) |
| Protel (Peach Works) | Air, On-Premise | XML/SOAP + REST |
| Mews | Tüm bulut sürümleri | Mews 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
- Misafir captive portal'da oda numarasını ve soyadını girer.
- AnchorSpot, yapılandırılmış PMS API'sine kimlik doğrulama isteği gönderir.
- PMS, aktif rezervasyon kaydını kontrol eder; bilgiler eşleşiyorsa
authorizedyanıtı döner. - Misafirin MAC adresi kabul listesine alınır ve oturum başlatılır.
- 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:
| Parametre | Açıklama | Örnek |
|---|---|---|
PMS_PROVIDER | PMS türü | opera, protel, mews |
PMS_API_ENDPOINT | PMS API adresi | https://pms.oteli.com/api |
PMS_API_KEY | API kimlik bilgisi | Bearer abc123 |
PMS_PROPERTY_ID | Çok mülk desteği için mülk kimliği | istanbul-merkez |
PMS_ROOM_FORMAT | Oda numarası formatı (regex) | ^[0-9]{1,4}[A-Z]?$ |
PMS_NAME_MATCH_MODE | Ad karşılaştırma modu | exact, startswith, fuzzy |
PMS_CACHE_TTL_SEC | PMS yanıtı önbellekleme süresi | 60 |
CHECKOUT_GRACE_SECONDS | Check-out sonrası bağlantı süresi | 30 |
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
PMS_API_ENDPOINTadresinin AnchorSpot sunucusundan erişilebilir olduğunu doğrulayın (curlile test edin).- API kimlik bilgisinin (
PMS_API_KEY) güncel olduğunu PMS yönetim panelinden kontrol edin. - 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.