# AximaApp v2 Migration Entity Inventory v1

| Source domain | Source table/file | Workforce destination | v1 disposition |
| --- | --- | --- | --- |
| Users and staff | `user` / `users.jsonl` | Global users plus organization memberships | Operational import; reuse normalized email |
| Locations and facilities | `location`, `facility` | Organization sites | Operational import |
| Rooms, beds and stays | `room`, `bed`, `stay` | Care accommodation module or legacy archive | Preserve; no silent loss |
| Clients receiving care | `client` | Care recipients | Must not map directly to commercial contracts |
| Client contracts | `contract` | Care service agreement and/or commercial contract after review | Preserve rates and effective dates |
| Shifts | `shift` | Organization shifts | Operational import |
| Attendance and clocks | `attendance`, `clock_entry` | Time punches and timesheets | Operational import with deduplication precedence |
| Timesheets | `timesheet` | Historical locked/draft timesheets | Operational import after validation |
| Availability | `availability` | Availability/time-off records | Operational import |
| Credentials | user certification data and files | Credential types and worker credentials | Import as pending unless verification evidence exists |
| Shift notes | `shift_note` | Tenant-scoped shift notes | Operational import |
| General/client notes | `note` | Care-recipient notes or legacy archive | Preserve independently of shifts |
| Care plans and ADLs | `care_plan`, `adl` | Optional care delivery module | Preserve; operational only when module enabled |
| Shift tasks and reminders | `shift_task`, `shift_reminder` | Care-delivery tasks or legacy archive | Preserve |
| Mileage | `mileage_entry` | Mileage claims or legacy archive | Conditional operational import |
| QR and email logs | `qr_token*`, `email_log` | Immutable legacy audit archive | Archive only; never recreate active tokens |

## Explicitly excluded source material

Authentication secrets, password hashes, access tokens, sessions, SMTP settings, integration credentials and active QR tokens are excluded from all packages.

## Reconciliation ownership

Each source record must end in exactly one destination category:

1. imported as an operational record;
2. imported into the searchable legacy archive;
3. rejected with a documented reason.

`source count = operational + archived + rejected` is a mandatory activation gate.
