License-aware tenant config
Translator note: machine-translated baseline. Needs human review by a native UK speaker. EN source is canonical.
casinocrm.io є license-agnostic. Той самий code path обслуговує Nevis crypto казино і UK GamCom regulated sportsbook. License + verticals + KYC ownership + responsible-gaming features — це per-tenant конфігурація — ніколи hardcoded.
Підтримувані ліцензії
| Ліцензія | Рекомендовані verticals | Рекомендований KYC | Рекомендовані RG features |
|---|---|---|---|
| Nevis | casino | platform_owns | self_exclusion |
| Curaçao | casino | platform_owns | self_exclusion + deposit limits |
| MGA / Malta | casino, sportsbook | dual | full RG suite |
| UK GamCom | casino, sportsbook | dual | MGA + affordability_check + session_cooldown |
| CZ | casino | platform_owns | MGA + session_cooldown |
| Gibraltar | casino, sportsbook | dual | MGA-equivalent |
| Isle of Man | casino, sportsbook | dual | MGA-equivalent |
| Kahnawake | casino | platform_owns | Curaçao-level |
| Anjouan | casino | platform_owns | Nevis-level |
| Comoros | casino | platform_owns | Nevis-level |
Це рекомендації. Оператор може override будь-що per tenant — casinocrm.io не enforce-ить regulatory compliance (це робота вашої compliance команди), але defaults дають вам розумну стартову точку.
Tenant configuration shape
{
"license_jurisdiction": "mga",
"verticals": ["casino", "sportsbook"],
"kyc_model": "dual",
"config": {
"rg_features": [
"self_exclusion",
"deposit_limit_daily",
"deposit_limit_weekly",
"loss_limit_daily",
"session_limit_minutes",
"reality_check"
],
"messaging": {
"quiet_hours": { "start": "22:00", "end": "09:00", "default_timezone": "Europe/Malta" },
"frequency_caps": {
"email": { "per_day": 1, "per_week": 5 },
"sms": { "per_day": 1, "per_week": 3 }
}
}
}
}
Effective capabilities
Коли request потрапляє на endpoint, casinocrm.io обчислює effective capabilities = tenant.config ∩ adapter.capabilities. Приклади:
- Sportsbook nav item у sidebar показується, коли
tenant.verticalsміститьsportsbook. - "Request KYC" admin button показується, коли
tenant.kyc_model = 'crm_owns' or 'dual'AND adapter проекту підтримуєkyc.initiate. - Self-exclusion enforcement — навіть якщо casino платформа не enforce-ить на своєму боці, CRM фільтрує self-excluded гравців з кожної campaign send. (Capability_mock pattern.)
Коли adapter не підтримує feature
Якщо ваш tenant хоче deposit_limit_daily, але adapter, який ви використовуєте, не підтримує це на platform side, casinocrm.io ставить feature у crm_only mode. CRM все ще трекає limit + suppress sends відповідно, але не propagate до платформи. Admin UI показує "CRM-only" badge, тож оператори розуміють trade-off.