Права наполняют тариф и используются как гейты в коде приложения.

Права (entitlements)

Entitlement — право на фичу. Оно не продаётся само по себе: продаётся тариф, а права к нему привязаны.

В коде после покупки проверяйте коды прав, не название тарифа:

await platform.hasEntitlement("cloud_sync");

Так одна фича может входить в несколько тарифов без смены клиентского кода.

Роль в модели

Тариф (главный)
  └── права тарифа  ← справочник entitlements + plan_entitlements

Админка: сначала заводите права (справочник), потом собираете из них тарифы.
Интеграция: думайте «какой тариф купили → какие права он дал».

Поля

ПолеОбязательноЗаметки
codeдаhasEntitlement('code')
nameдаДля админки / UI
descriptionнетОпционально

Примеры кодов

premium_feature
cloud_sync
export_hd

Runtime

const ok = await platform.hasEntitlement("premium_feature");
final ok = await platform.hasEntitlement('premium_feature');

GET .../entitlements/mecodes[] + строки с source, starts_at, expires_at, is_lifetime (срок зеркалит подписку/тариф).

Правила

  • Free-локальные фичи обычно без серверного entitlement.
  • Платные фичи — entitlement на платном тарифе.
  • Не плодите право на каждый прайс — право на capability, тарифы разные.