Souscriptions

Lier un Tenant à une Application sous un Plan : la TAS (Tenant Application Subscription).

Souscrire un tenant

Sur la fiche du tenant, cliquez sur Souscrire à une application. Vous choisissez :

  • L'Application à laquelle souscrire.
  • Le Plan initial (optionnel : si omis, démarre comme essai sans plan).
  • La durée de l'essai en jours (trialDays).
  • Le routingConfig JSON, dont la forme dépend du modèle de tenancy de l'app.

Une seule TAS par couple (tenant, app)

Un tenant ne peut être abonné qu'une fois par application. Pour changer de plan, on modifie la TAS existante — on n'en crée pas une nouvelle.

Cycle de vie d'une TAS

[create] ──► TRIAL ──► ACTIVE ──► SUSPENDED ──► ACTIVE (réactivation)
                │           │
                │           └──► CANCELLED
                │
                └──► EXPIRED  (fin d'essai)

CANCELLED / EXPIRED ──► (terminal)

TRIAL

État initial. La date trialEndsAt est calculée à partir de trialDays.

ACTIVE

Souscription en cours. currentPeriodEnd indique la prochaine échéance.

SUSPENDED

Suspension manuelle ou automatique (impayé). L'API de résolution renvoie 403. Réactivable.

EXPIRED

Essai terminé sans paiement. État terminal.

CANCELLED

Annulation explicite. État terminal.

Changer de plan

Sur la fiche du tenant, dans la liste des souscriptions, ouvrez Actions → Change plan / config. Sélectionnez le nouveau plan et sauvegardez.

SaaSes émet automatiquement un webhook subscription.plan_changed avec l'ancien et le nouveau plan, plus les effectiveQuotas recalculés. Votre app doit invalider son cache.

Quotas personnalisés (overrides)

Pour offrir à un client des quotas différents de son plan standard, ajoutez des quotaOverrides sur la souscription. Ces valeurs priment sur celles du plan au moment de la résolution.

{
  "quotaOverrides": {
    "maxVehicles": 50
  }
}

Si le plan de base définit { "maxVehicles": 30, "maxUsers": 4 }, l'effectiveQuotas retourné sera { "maxVehicles": 50, "maxUsers": 4 }.

Suspendre / annuler

Depuis la fiche du tenant, chaque souscription a son propre menu d'actions : Suspend, Reactivate, Cancel. Une raison facultative est stockée dans le journal d'audit.