Understand data retention boundaries
Preserve module data on deactivation and plan any deletion as a separately authorised process. The guide then takes you through the correct route, the checks to complete before making changes, the workflow in order, and the evidence to review afterwards.
What you’ll accomplish
Preserve module data on deactivation and plan any deletion as a separately authorised process. This section maps all module-owned tables, controller endpoints, transactions, tenant keys and host integrations without instructing direct database edits.
Follow these steps
- Go to Module code and Enterprise POS administration and open the workflow that matches “Understand data retention boundaries”. Confirm the page or record context before making a change.
- Use the supplied module package as the authoritative source.
- Map the requested workflow to its controller, model/service method, table and permission.
- Check tenant and transaction boundaries.
- Use live UI/API behaviour for functional tests.
- Do not change schema or records outside the verified module lifecycle.
Fields and options to review
- Guide focus: Preserve module data on deactivation and plan any deletion as a separately authorised process.
- 25 module tables
- 3 controllers plus one compatibility controller
- Model and service transaction methods
- Host hooks for activation, cron and invoice payments
- Public/API/admin routes
- Tenant key, correlation IDs and immutable snapshots
Rules the system enforces
- Business writes run inside database transactions where required.
- Tenant key is applied to module-owned records.
- Existing order line/payment/stock snapshots are not recalculated from current product values.
- Core invoice linkage uses invoice_id and host models/hooks rather than modifying unrelated core schema.
How to confirm it worked
- The specific outcome described by this guide is visible and remains tenant-scoped.
- Support engineers can trace each workflow from route to persisted evidence.
- Schema references accurately distinguish live UI from reserved/future-capable structures.
Safety checks and troubleshooting
- Do not run direct database commands from this documentation.
- Do not expose secret/hash fields.
- Do not infer a user interface merely because a table/column exists.
Use the supplied UI, host module lifecycle and documented endpoints. Do not bypass tenant filters, permissions, CSRF, idempotency, rate limits, audit evidence or transaction checks. A stored table or field does not imply that version 1.0.0 exposes a management screen for it.
