# TerraFlow SaaS Lizenzrahmen (B2B DE/EU)

Dieses Dokument beschreibt die technische Abbildung fuer das B2B-SaaS-Lizenzmodell.

## Vertrags- und Paketversionierung

- Pakete werden in `license_package` versioniert (`code` + `version`).
- Vertragsbedingungen werden in `license_contract_version` versioniert (`version_code`).
- Jede Subscription speichert Snapshots (`contract_snapshot`, `billing_snapshot`) fuer Nachweisbarkeit.

## Lifecycle-Status

`LicenseSubscriptionStatus`:

- `trial`
- `active`
- `grace_period`
- `suspended`
- `terminated`

Diese Stati erlauben eine rechtlich und operativ nachvollziehbare Sperrlogik
anstatt nur `valid/invalid`.

## Preis- und Leistungsanpassungen

- Preis- und Feature-Aenderungen erfolgen ueber neue Paketversionen.
- Bestehende Vertraege koennen auf ihrer Version verbleiben.
- `priceChangeNoticeDays` in `license_contract_version` bildet Vorlaufzeiten ab.

## AVV/DPA und Export/Loeschung

- `dpaRequired` kennzeichnet AVV-Pflicht fuer die Vertragsversion.
- Empfohlene Defaults liegen in `plugin/LicenseServerPlugin/config/legal-defaults.json`.
- Export-/Loeschregeln koennen in `legal_meta` bzw. Vertrags-Snapshot je Subscription
  dokumentiert werden.

## Support-Zusagen

- Supportstufen sind als Enum modelliert (`ticket`, `premium`, `premium_plus`).
- SLA/Support-Regeln werden strukturiert in `support_policy` gepflegt und nicht nur als
  Freitext dokumentiert.
