Přeskočit na hlavní obsah

Responsible gaming

casinocrm.io enforce-uje RG features na dvou vrstvách: (1) inbound webhooks z casino platformy zrcadlí state do CRM, (2) CRM-side enforcement nikdy nepošle zprávu self-excluded hráči bez ohledu na platform support — capability_mock pattern.

Feature catalogue

self_exclusion - permanentní nebo time-bound block
cooldown_period - cooling-off po triggering události
deposit_limit_daily - cap per-day deposit
deposit_limit_weekly
deposit_limit_monthly
loss_limit_daily - cap per-day net losses
loss_limit_weekly
loss_limit_monthly
session_limit_minutes - max session duration
reality_check - periodic in-session reminder
session_cooldown - mandatory pauza mezi sessions
affordability_check - KYC-bound spend cap (UK style)

Tenant config určuje, které features jsou enabled (license defaults dají startovní bod); adapter deklaruje, které podporuje na platform straně.

Ukládání state

players.responsible_gaming_state (JSONB) — heterogenní limity + self-exclusion detaily:

{
"self_excluded": {
"until": null, // permanentní
"set_at": "2026-05-08T...",
"reason": "responsible_gaming_request",
"actor_kind": "admin"
},
"limits": {
"deposit_limit_daily": { "amount_subunit": 10000, "currency": "EUR", "set_at": "..." },
"session_limit_minutes": { "value": 60, "set_at": "..." }
},
"session": { "started_at": null, "minutes_used_today": 0 }
}

Plus mirror sloupce pro fast lookup: players.rg_self_excluded (bool) + players.rg_self_excluded_until (timestamp nebo null).

Capability_mock — CRM-side enforcement

Campaign-enqueue path filtruje self-excluded hráče přímo v SQL:

WHERE deleted_at IS NULL
AND (rg_self_excluded = false OR rg_self_excluded_until < now())
AND ...

Tento filter platí bez ohledu na to, jestli adapter podporuje self-exclusion. Self-excluded hráč nikdy nedostane zprávu z CRM — i když platforma neenforce-uje na své straně, i když operátor zapomene zadrátovat webhook.

Stejný pattern pro journey send_message + manuální admin sends.

Platform webhook události

POST /v1/adapters/:slug/webhooks/bonus-events (nebo budoucí dedikovaný /rg-events endpoint) akceptuje:

  • self_exclusion.requested — hráč iniciovat self-exclusion na platformě
  • self_exclusion.set / self_exclusion.lifted / self_exclusion.expired
  • deposit_limit.set / deposit_limit.reached / deposit_limit.reset
  • session_limit.warning / session_limit.exceeded
  • reality_check.triggered / reality_check.acknowledged
  • cooldown.entered

State-sync mutuje responsible_gaming_state JSONB + mirror sloupce kde aplikovatelné.

License-driven defaults

Operátor pickne licenci → casinocrm.io auto-doporučí RG features:

  • Nevisself_exclusion only
  • Curaçao — + deposit_limit_daily + deposit_limit_monthly
  • MGA — full RG suite (limity + reality checks)
  • UK GamCom — MGA + affordability_check + session_cooldown
  • CZ — MGA + session_cooldown (5-min mandatory pauza po session)

Tohle jsou doporučení. Operátor může cokoli override per tenant — casinocrm.io neenforce-uje regulatorní compliance (práce vašeho compliance týmu).